Acessibilidade / Reportar erro

A MATHEMATICAL MODEL AND SOLUTION METHOD FOR THE BERTH ALLOCATION PROBLEM WITH VARIABLE HANDLING TIME AND CONTINUOUS TIME HORIZON

ABSTRACT

In this paper, we present the integration of two problems related to the operations in a port terminal: the Berth Allocation Problem (BAP) integrated with the Machine Assignment Problem. We present a mixed-integer linear programming (MILP) formulation, capable of assigning and scheduling incoming vessels to berthing positions and the assignment of machines for handling the vessels. The machines can be quay cranes, mobile cranes, straddle carriers, forklifts, trucks, and any other machine. The problem aims to minimize the waiting time plus the handling time of the vessels. To solve the problem, we developed a heuristic algorithm, capable of solving a problem instance in seconds. To compare the results, we generate several instance problems based on real data and solve them with our MILP formulation implemented in a solver, our heuristic, and a First In First Out (FIFO) algorithm. The solver was able to find solutions only in small-scale instances, and the heuristic was able to find good solutions for all instances.

Keywords:
Berth allocation problem; quay crane allocation; allocation of port machines; optimization of port processes

1 INTRODUCTION

Maritime shipping is the main transportation modal used in worldwide trade and, reducing the time and cost of such transportation continues to be an important goal. In order to reduce transportation costs, terminal managers seek to increase efficiency, with better management and increasing infrastructure and technologies able to efficiently handle vessels. A single port can handle several types of goods, such as container cargo, liquid bulk, dry bulk, Breakbulk, and ro-ro, which increase the need for efficient management of logistic activities at modern terminals, therefore, several papers addressed this problem in the literature Crainic & Kim (2007CRAINIC TG & KIM KH. 2007. Intermodal transportation. Handbooks in operations research and management science, 14: 467-537.).

Most commercial products, such as notebooks, clothes, and books, are transported in containers for convenience. Containers are easy to handle and offer protection to the goods. The fixed size of the containers is also an advantage. Generally, containers are handled by quay cranes. Liquid bulk refers to crude oil, petrol, fuel oil, vegetable oils, and even wine. Liquid products are often transported in tankers installed on vessels. Pumping equipment, pipelines, and loading arms are some machines used to handle liquid bulk. Dry bulk refers to grain, coal, iron ore, cement, sugar, salt, and sand. They are transported in large quantities to the compartment of the vessel. The dry bulk can be handled by conveyors, ship unloaders, ship loaders, and truck unloaders. Breakbulk refers to paper, wood, bags of cocoa, rolls of steel, and parts of wind turbines; these are all products that can be transported in a container or simply put on a vessel. A crane or forklift truck can easily load or discharge the goods. Ro-ro refers to roll-on / roll-off. This name explains how the cargo is discharged and loaded. This concerns cargo that can be driven, which is only done by specially trained drivers. Ro-ro is used for cars, busses, trucks, agricultural vehicles, and cranes Crainic & Kim (2007CRAINIC TG & KIM KH. 2007. Intermodal transportation. Handbooks in operations research and management science, 14: 467-537.).

One of the most relevant logistic problems to address the management of ports is the Berth Allocation Problem (BAP), which consists of assigning and scheduling vessels to berthing positions along the quay, with the aim of minimizing the waiting time of the vessels Imai et al. (2003IMAI A, NISHIMURA E & PAPADIMITRIOU S. 2003. Berth allocation with service priority. Transportation Research Part B: Methodological , 37(5): 437-457.). Since quay cranes are vastly used in terminals for container movement, an inefficient quay crane employment can negatively impact the BAP results, therefore, many papers start to address the Quay Crane Assignment Problem (QCAP), which consists of assigning the quay cranes to vessels, integrated with the BAP Giallombardo et al. (2010GIALLOMBARDO G, MOCCIA L, SALANI M & VACCA I. 2010. Modeling and solving the tactical berth allocation problem. Transportation Research Part B: Methodological, 44(2): 232-245.) and Imai et al. (2008)IMAI A, CHEN HC, NISHIMURA E & PAPADIMITRIOU S. 2008. The simultaneous berth and quay crane allocation problem. Transportation Research Part E: Logistics and Transportation Review , 44(5): 900-920..

Containers, dry and oil bulks are the majority of cargo handled by maritime shipping. Ship unloaders and pumping equipment can be used for the movement of dry and oil bulk, respectively, therefore, a mathematical model capable of assigning such machines can further improve the management efficiency. In this paper, we propose a mathematical model to integrate the BAP with the machine assignment problem, such as quay cranes, ship unloaders, pumping equipment, and conveyors, among others. The model can use one or more types of machines, since the handling of vessels can require, for instance, quay cranes and trucks. The model also uses a continuous-time horizon and fixed-length berths. We also provide an efficient heuristic, capable of solving large instances of the model in minutes.

The paper is organized as follows. The literature review related to the berth allocation problem is in Section 2. A heuristic to solve the problem is presented and discussed in Section 4. The computational analyses of the models, the heuristic, and numerical experiments are presented in Section 5. The final section concludes the paper.

2 LITERATURE REVIEW

One of the first mathematical models for the BAP was proposed in Imai et al. (1997IMAI A, NAGAIWA K & TAT CW. 1997. Efficient planning of berth allocation for container terminals in Asia. Journal of Advanced Transportation, 31(1): 75-94.) where the port berths have a fixed length and are considered fixed points along the quay. In this model, the authors assume a situation named static, where all vessels are assumed to be in the port, this model is referenced as static discrete BAP or static DBAP by the authors. The model aims to minimize the allocation time of the vessels in the berths to provide a better solution than the FIFO technique, also called first in first served technique (FIFS). The FIFO technique consists of handling the vessels by the arrival order, this technique is vastly used in commercial ports.

In Imai et al. (2001IMAI A, NISHIMURA E & PAPADIMITRIOU S. 2001. The dynamic berth allocation problem for a container port. Transportation Research Part B: Methodological , 35(4): 401-417.) the BAP of Imai et al. (1997)IMAI A, NAGAIWA K & TAT CW. 1997. Efficient planning of berth allocation for container terminals in Asia. Journal of Advanced Transportation, 31(1): 75-94. is extended to the dynamic version, where all vessels have an arrival time on the planning horizon. This kind of model is called dynamic DBAP by the authors. Both static and dynamic DBAP models assume that all vessels can be allocated in any berth.

Cordeau et al. (2005CORDEAU JF, LAPORTE G, LEGATO P & MOCCIA L. 2005. Models and tabu search heuristics for the berth-allocation problem. Transportation science, 39(4): 526-538.) formulates the BAP as a vehicle routing problem with time windows (MD- VRPTW) and develops a heuristic based on tabu search to solve instances of the model. The heuristic has a version for the discrete BAP and another for the continuous BAP, where the port berths have a variable length. In the continuous BAP, also called CBAP, the quay is divided into sections of any length and the length of all vessels is expressed in units of the same length as the sections. The berth length can vary with each vessel allocation and is given by the number of units of sections the vessel used for allocation. The authors also compare the heuristic results with solver results.

Another group of models is the Tactical Berth Allocation Problem (TBAP). One of the first works to address this kind of problem is Moorthy & Teo (2006MOORTHY R & TEO CP. 2006. Berth management in container terminal: the template design problem. OR spectrum , 28(4): 495-518.) where their model aims to represent the trade-off between the waiting time of the vessels and the costs of moving containers between the berths and yards. The model is formulated as a rectangular packing problem in a cylinder and uses simulated annealing based on pairs of sequences algorithm to solve the problem. The objective is to maximize the service level and minimize the costs related to the container movements between berths and yards.

Giallombardo et al. (2010GIALLOMBARDO G, MOCCIA L, SALANI M & VACCA I. 2010. Modeling and solving the tactical berth allocation problem. Transportation Research Part B: Methodological, 44(2): 232-245.) proposed another TBAP mathematical model to integrate the BAP with the quay crane schedule (CS). In this model, the time horizon is discretized into several time partitions of the same length and every variable and parameter is defined with an index related to each time partition. The variables and parameters associated with the vessels and berths are very similar to the variables and parameters of the DBAP. The quay crane schedule (CS) presupposes that a reallocation of the quay cranes can occur at the end of each work shift change and, therefore, the length of each time partition used in this model is given by the work shift duration. This model also considers the yard cost dependent on the allocation berth of each vessel. This model is one of the first to consider the integration between the BAP and the quay crane scheduling, but the partition of the horizon time causes a large increase in the number of variables and consequently increases the memory cost of and processing time to solve instances of the model.

Zhen et al. (2011ZHEN L, CHEW EP & LEE LH. 2011. An integrated model for berth template and yard template planning in transshipment hubs. Transportation Science , 45(4): 483-504.) proposed an integrated template-planning model for both berthing locations in continuous indexes and yard container stack arrangement. They also provide a heuristic to solve instances of the model. Hendriks et al. (2012HENDRIKS M, ARMBRUSTER D, LAUMANNS M, LEFEBER E & UDDING J. 2012. Strategic allocation of cyclically calling vessels for multi-terminal container operators. Flexible Services and Manufacturing Journal, 24(3): 248-273.) extend the BAP model for a multi-terminal port, which can allocate two connected vessels in different terminals, which generates an inter-terminal container transport. The objectives of the model are balancing the working load of the quay crane between the terminals along the time and minimizing the number of containers transported between terminals.

Hendriks et al. (2013HENDRIKS M, LEFEBER E & UDDING J. 2013. Simultaneous berth allocation and yard planning at tactical level. OR spectrum, 35(2): 441-456.) approach a TBAP for terminals with discrete berths integrated with the allocation of yard spaces.Lee & Jin (2013LEE DH & JIN JG. 2013. Feeder vessel management at container transshipment terminals. Transportation Research Part E: Logistics and Transportation Review , 49(1): 201-216.) discuss a TBAP for feeder terminals to allocate the feeders in discrete locations berths and yard storage assignment for the cargo. Vacca et al. (2013VACCA I, SALANI M & BIERLAIRE M. 2013. An exact algorithm for the integrated planning of berth allocation and quay crane assignment. Transportation Science, 47(2): 148-161.) developed an exact-solution algorithm based on the branch and price technique for the TBAP of Giallombardo et al. (2010GIALLOMBARDO G, MOCCIA L, SALANI M & VACCA I. 2010. Modeling and solving the tactical berth allocation problem. Transportation Research Part B: Methodological, 44(2): 232-245.). Shang et al. (2016SHANG XT, CAO JX & REN J. 2016. A robust optimization approach to the integrated berth allocation and quay crane assignment problem. Transportation Research Part E: Logistics and Transportation Review , 94: 44-65.) investigates the integrated berth allocation and quay crane assignment problem in container terminals under data uncertainties. A deterministic model is formulated by considering the setup time of quay cranes, the horizon time is discretized.

He (2016HE J. 2016. Berth allocation and quay crane assignment in a container terminal for the trade-off between time-saving and energy-saving. Advanced Engineering Informatics, 30(3): 390-405.) formulated the problem of integrated berth allocation and quay crane assignment for the trade-off between time-saving and energy-saving as mixed-integer programming, in order to minimize the total departure delay of all vessels and the total handling energy consumption of QCs. In the mathematical model, the berth position of each vessel is a parameter and the QC allocation is made by an allocation variable defined in a discretized time horizon.

Iris et al. (2017IRIS Ç, PACINO D & ROPKE S. 2017. Improved formulations and an adaptive large neighborhood search heuristic for the integrated berth allocation and quay crane assignment problem. Transportation Research Part E: Logistics and Transportation Review , 105: 123-147.) focuses on the integrated berth allocation and quay crane assignment problem in container terminals, with a continuous berth approach, and the quay is divided into small equalsized sections. The problem considers the decrease in the marginal productivity of quay cranes and the increase in handling time due to deviation from the desired position, and an Adaptive Large Neighborhood Search heuristic has been proposed too. The parameters and variables are defined in a discretized time horizon. Agra & Oliveira (2018AGRA A & OLIVEIRA M. 2018. MIP approaches for the integrated berth allocation and quay crane assignment and scheduling problem. European Journal of Operational Research, 264(1): 138-148.) proposed a model based on the relative position formulation to avoid big-M constraints. The model results from a discretization of the time and space variables.

Zheng et al. (2019ZHENG F, LI Y, CHU F, LIU M & XU Y. 2019. Integrated berth allocation and quay crane assignment with maintenance activities. International Journal of Production Research, 57(11): 3478-3503.) studies an integrated berth allocation and quay crane assignment problem, where the quay crane maintenance is involved and establishes an integer linear programming with the objective of minimizing the total turnaround time. The authors also provide a GA-based metaheuristic to solve large instances. Correcher et al. (2019CORRECHER JF, ALVAREZ-VALDES R & TAMARIT JM. 2019. New exact methods for the time- invariant berth allocation and quay crane assignment problem. European Journal of Operational Research , 275(1): 80-92.) proposed a new mixed integer linear model for the Berth Allocation Problem and the Quay Crane Assignment Problem, for the continuous BAP version with time-invariant crane assignment, in this model the vessels can be allocated at any quay position, not requiring any quay discretization, but the time horizon is discretized.

Other works model the machine assignment problem apart from the BAP. One of the most recent works is Zhen et al. (2019ZHEN L, YU S, WANG S & SUN Z. 2019. Scheduling quay cranes and yard trucks for unloading operations in container ports. Annals of Operations Research, 273(1): 455-478.), which proposed a mixed-integer programming model for the scheduling of quay cranes and yard trucks for unloading operations, they use a particle swarm optimization-based solution method and compare the proposed method with the CPLEX solver and the genetic algorithm. Bierwirth & Meisel (2009BIERWIRTH C & MEISEL F. 2009. A fast heuristic for quay crane scheduling with interference constraints. Journal of Scheduling, 12(4): 345-360.) considers the problem of scheduling quay cranes and presents a revised optimization model for the scheduling of quay cranes and proposes a heuristic solution procedure. They applied a Branch-and-Bound algorithm for searching a subset of above-average quality schedules.Cao et al. (2010CAO JX, LEE DH, CHEN JH & SHI Q. 2010. The integrated yard truck and yard crane scheduling problem: Benders’ decomposition-based methods. Transportation Research Part E: Logistics and Transportation Review, 46(3): 344-353.) proposes a novel integrated model for yard truck and yard crane scheduling problems for loading operations in container terminals. The problem was formulated as a mixed-integer programming model, and two efficient solution methods are provided.

Chen et al. (2013CHEN L, LANGEVIN A & LU Z. 2013. Integrated scheduling of crane handling and truck transportation in a maritime container terminal. European Journal of Operational Research , 225(1): 142-152.) studies the interactions between crane handling and truck transportation, where trucks are shared among different ships, which helps to reduce empty truck trips in the terminal area. The problem is formulated as a constraint programming model and a three-stage algorithm is provided. At the first stage, crane schedules are generated by a heuristic method. At the second stage, the multiple-truck routing problem is solved based on the precedence relations of the transportation tasks derived from the first stage. At the last stage, a complete solution is constructed by using a disjunctive graph. The authors claimed that the three procedures facilitated and obtained the search for good solutions. Cao et al. (2010CAO JX, LEE DH, CHEN JH & SHI Q. 2010. The integrated yard truck and yard crane scheduling problem: Benders’ decomposition-based methods. Transportation Research Part E: Logistics and Transportation Review, 46(3): 344-353.) proposes a novel integrated model for yard truck and yard crane scheduling problems for loading operations in a container terminal. The problem was formulated as a mixed-integer programming model, and two efficient solution methods are provided.

Fu et al. (2014FU YM, DIABAT A & TSAI IT. 2014. A multi-vessel quay crane assignment and scheduling problem: Formulation and heuristic solution approach. Expert Systems with Applications, 41(15): 6959-6965.) proposes a new approach to analyze the integrated quay crane assignment and scheduling problem (QCASP). The problem determines the assignment of quay cranes to vessels and the sequence of tasks to be processed by each quay crane simultaneously and accounts for important considerations such as safety margins between quay cranes (QCs), ordering conditions, and vessel priority. The authors provide a genetic algorithm (GA) to solve and validated the integrated problem. Bierwirth & Meisel (2010BIERWIRTH C & MEISEL F. 2010. A survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research , 202(3): 615-627.) and Bierwirth & Meisel (2015)BIERWIRTH C & MEISEL F. 2015. A follow-up survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research , 244(3): 675-689. contain a review of publications up to 2014/2015 related to the BAP and machine assignment problem.

The mathematical model proposed in this paper aims to optimize the allocation of vessels integrated with the machine assignment problem needed to load or unload the vessels. In order to find the machine schedule, models like Park & Kim (2003PARK YM & KIM KH. 2003. A scheduling method for berth and quay cranes. OR spectrum , 25(1): 1-23.), Imai et al. (2008IMAI A, CHEN HC, NISHIMURA E & PAPADIMITRIOU S. 2008. The simultaneous berth and quay crane allocation problem. Transportation Research Part E: Logistics and Transportation Review , 44(5): 900-920.) and Meisel & Bierwirth (2009MEISEL F & BIERWIRTH C. 2009. Heuristics for the integration of crane productivity in the berth allocation problem. Transportation Research Part E: Logistics and Transportation Review , 45(1): 196-209.) makes an hour-by-hour relocation of all machines and Giallombardo et al. (2010GIALLOMBARDO G, MOCCIA L, SALANI M & VACCA I. 2010. Modeling and solving the tactical berth allocation problem. Transportation Research Part B: Methodological, 44(2): 232-245.) and Vacca et al. (2013VACCA I, SALANI M & BIERLAIRE M. 2013. An exact algorithm for the integrated planning of berth allocation and quay crane assignment. Transportation Science, 47(2): 148-161.) makes turn-by-turn relocation of all machines, which requires a discretized horizon time. Our model uses novel variables defined in a continuous horizon time and constraints to detect simultaneous vessel allocations in different berths, and with that information, the model is capable of distributing the machines for the handling of the vessels.

3 MATHEMATICAL MODEL

The problem consists in deciding the berth, the position, and the number of machines for each vessel handling, aiming to minimize the total waiting time and handling time. To model the problem, we make the following assumptions.

  • Each berth can serve one vessel at a time.

  • Vessel handling time is dependent on the number of machines.

  • Vessel is served after its arrival.

  • Vessel handling must be finished without interruption once they get started.

  • Vessel handling has a minimum and a maximum number of machines, and it begins when the vessel is assigned to a berth.

  • The number of machines for handling tasks cannot surpass the total available at any given time.

  • Each type of machine generates its own service rate based on its number.

  • The effective rate of handling of a vessel is given by the slowest rate between the machine types.

  • Machines can allocate during the vessel allocation process.

To address the machine assignment, consider the following example of 1, where the container port has berths distributed by sets of three, and each set has disconnected rails.

Figure 1
Example of berths division.

Berths only compete for the usage of quay cranes with the ones in the same rail. To address this issue, we introduce in this work the concept of regions of the quay. We define sets of berths that compete for the usage of a given type of machine. Each set has a number of available machines. In our example, for the quay crane, we have the sets given by 2.

The sets generated by different types of machines are not necessarily equal. In our example, the sets of 2 are not the same for trucks. Since trucks have free mobility between berths, we have a single set, which contains all berths and has the total number of trucks available.

With the concept of berth sets, we present the mathematical model created to optimize the handling of vessels on a terminal with multiple types of machines. There is a presentation of the sets, parameters, and variables before the mathematical model, and the explanation of the objective function and every constraint is presented after the mathematical model.

Figure 2
Example of terminal/quay regions.

Sets

  • B: set of berths.

  • Br: subset of berths in region r.

  • Bkr: subset of all k-combinations of Br elements.

  • N: set of vessels.

  • Nk: set of all k-combinations of N elements, without repetition.

  • CNk: is the Cartesian product Nk× Nk .

  • O: set of allocation order.

  • P: set of machine type.

  • Rα: set of regions of machine type αP.

Variables

  • x i , o , k = 1 , if the vessel i is the o -th handling on berth k 0 , otherwise .

  • Ti: allocation time of vessel i in units of time.

  • ti: handling duration of vessel i in units of time.

  • s i , j = 1 , if the end of vessel i handling occurs before the beginning of the vessel j handling 0 , otherwise .

  • w i , j = 1 , if the beginning of vessel i handling occurs before the end of the vessel j handling 0 , otherwise .

  • mi,α: number of α type machines allocated for the handling of vessel i in units.

Parameters

  • βi and βi': costs waiting and handling time of vessel i, respectively.

  • δα: handling rate of one α type machine in cargo volume per unit of time.

  • Ui,θα: handling time difference of vessel i between using θ − 1 and θ machines of type α in units of time.

  • ai and b i: arrival and maximum departure time of vessel i in units of time, respectively.

  • ci,α and d i,α: minimum and maximum number of machines type α to handling vessel i in units, respectively.

  • Mαr: number of machine type α available in region r in units.

  • Mα: total number of machine type α in units.

  • Qi: load of vessel i in units of cargo.

  • H: large enough constant.

Mathematical Model

min i N β i ( T i - a i ) + β i ' t i (1a)

s.t. t i ( m i , α - θ + 1 ) Q i j δ α - Q i ( θ - 1 ) δ α + Q i ( θ - 1 ) δ α i N , α P , θ { 2 , 3 , . . . , M α r } , r R α (1b)

T i a i i N (1c)

T i + t i b i i N (1d)

i N x i , o , k 1 o O , k B (1e)

k B o O x i , o , k = 1 i N (1f)

i N x i , o , k i N x i , o - 1 , k o O \ { 1 } , k B (1g)

T i - H ( 2 - x i , o , k - x j , o - 1 , k ) T j + t j i N , j N , o O \ { 1 } , k B (1h)

T i + t i - H ( 1 - s i , j ) T j i N , j N (1i)

T i + H ( 1 - w i , j ) T j + t j i N , j N (1j)

i N ¯ m i , α ( ( k 2 + 1 ) - v C N ¯ w v + s v - b B ¯ i N ¯ o O x i , o , b ) M α r α P , N ¯ N k , B ¯ B k r , r R α , k { 1 , 2 , . . . , | B ¯ | } (1k)

m i , α c i , α i N , α P (1l)

m i , α d i , α i N , α P (1m)

x i , o , k { 0 , 1 } i N , o O , k B (1n)

T i 0 i N (1o)

s i , j , w i , j { 0 , 1 } i N , j N (1p)

m i , α { 0 , 1 , 2 , 3 , 4 , . . . } i N , α P . (1q)

The Function 1a is the objective function that represents the weighted sum of waiting and handling time of the vessels. The Constraints 1b represent the handling time calculation of each vessel. The handling time of the vessel i is given by minαP Qimi,αδα. The handling time generate by the usage of j machines is given by (2).

t j = Q i j δ α (2)

Since (2) is a non-linear equation, a set of linear equations is used to represent the handling time of each vessel. To avoid non-linear equations, the model uses line equations defined by the values of the given non-linear equation in integer points, as illustrated in Figure 3.

y = Q i j δ α - Q i ( j - 1 ) δ α ( x - j + 1 ) + Q i ( j - 1 ) δ α (3)

Figure 3
Linear approach to represent exponential functions in integer points.

The red line in Figure 3 represents the function Qimi,αδα. Therefore, the value of y is greater than t=Qimi,αδα when j - 1 < m i,α < j for a machine type α and the vessel i. The number of machines is an integer value, therefore, y ≤ t for any vessel i and any machine type α.

The Constraints 1c ensure the allocation time of each vessel occurs before the arrival time. The Constraints 1d ensure the end of the handling before the maximum departure time. The Constraints 1e and 1f ensure one allocation in one berth for the vessels. The Constraints 1g ensure the allocation position of each vessel. The Constraints 1h realize the calculation of each vessel allocation time. The Constraints 1i and 1j compute the case where the vessels have simultaneous handling in different berths. For example, given the region r^ with two berths, which is Br^={k1,k2}, therefore, the sets C 2, N 2 and B2r^ are given by:

  • B 2 r ^ = { k 1 , k 2 }

  • N 2 = { { i , j } } i N , j N , i j .

  • C 2 = { ( i , j ) } i N , j N , i j .

The Constraints 1k will have the form of Constraints 4.

m i , α + m j , α ( 5 - w i , j - s i , j - o O x i , o , k 1 - o O x j , o , k 2 ) M α r ^ i N , j N , α P . (4)

If w i, j = 1 and s i, j = 1 the handling of vessels i and j are simultaneous, and if oOxi,o,k1=1, oOxj,o,k2=1 the handling of vessels i and j occurs in berths of the same region. In this case, the machines of this region will be divided between the vessels i and j. When r^ has three berths, which is Br^={k1,k2,k3}, therefore, the sets C 2, C 3, N 2, N 3, B2r^ and B3r^ are given by:

  • B 2 r ^ = { { k 1 , k 2 } , { k 1 , k 3 } , { k 2 , k 3 } } .

  • B 3 r ^ = { { k 1 , k 2 } } .

  • N 2 = { { i , j } } i N , j N , i j .

  • N 3 = { { i , j , p } } i N , j N , p N , i j p .

  • C 2 = { ( i , j ) } i N , j N , i j .

  • C 3 = { ( i , j ) , ( i , p ) , ( j , p ) } i N , j N , p N , i j p .

The Constraints 1k will have the form of Constraints 5, 6, 7 and 8.

m i , α + m j , α ( 5 - w i , j - s i , j - o O x i , o , k 1 - o O x j , o , k 2 ) M α r ^ i N , j N , α P , (5)

m i , α + m j , α ( 5 - w i , j - s i , j - o O x i , o , k 2 - o O x j , o , k 3 ) M α r ^ i N , j N , α P , (6)

m i , α + m j , α ( 5 - w i , j - s i , j - o O x i , o , k 1 - o O x j , o , k 3 ) M α r ^ i N , j N , α P , (7)

m i , α + m j , α + m p , α 10 - w i , j - s i , j - w i , p - s i , p - w j , p - s j , p - o O x i , o , k 1 - o O x j , o , k 2 - o O x q , o , k 3 M α r ^ i N , j N , p N , α P . (8)

The Constraints 5, 6, 7 and 8 verify if the handling of two and three vessels occurs at the same time in berths of the same region.

The Constraints 1j compute the values of s i, j and w i, j . The Constraints 1k, 1l and 1m limit the number of machines. The Constraints 1n, (1o), (1p) and (1q) ensure that the allocation variables are binary and time variables are non-negative continuous.

The U α matrix, without any penalties for handling a vessel with more than one machine of the same type, is given by:

U i , θ α = Q i δ α if θ = 1 Q i θ δ α - Q i ( θ - 1 ) δ α se θ 2 .

When the mathematical model is used with one type of machine, for example, an instance with only quay cranes, we can prove that the variable related to the number of machines can be implemented as continuous and the solution will be an integer. The Figure 1 enunciates and a proof fallows.

Theorem 1.When |P| = 1 in an instance of the Mathematical Model 1, with b i large enough for all iN. Then there is an optimal solution of that instance with m i ∈ ℤ, for all i ∈ N, using Constraints 1q written as:

m i + i N . (9)

Proof. As |P| = 1, to simplify the notation, the index α will be omitted, and we also on consider a single region, which is R = 1, cases with R ≥ 2 are similar. Given the objective function min iNβiTi+βi'ti, with β > 0 and β’ > 0, that is, the constant part of the objective function given by iNβiai will be also omitted to facilitate the proof. Let an instance solution of the Mathematical Model 1 given by:

x i , o , k * , T i * , s i , j * , w i , j * , m i * , where i N , j N , o O , k B . (10)

As 10 it is a solution of an instance, then it satisfies Constraints 1b - 1q.

Given mi*=miI+miR, where miI and miR[0,1), with iN, NR={iN|miR>0}, where kB, suppose NR and the subsets D g , such that, given i, jD g , with g ∈ {1,2,3, ...}, then s i, j = w i, j = 1, besides that xi,o1,k1=1 and xj,o2,k2=1 with o 1, o 2O and k 1, k 2B where k1k2, that is, D g is a set of vessels dividing machines.

Such as Solution 10 satisfy Constraints 1l and 1m, then:

c i < m * < d i i N R . (11)

Of Equation 11 follow that:

0 < m i I - c i m i R d i - m i I < 1 i N R . (12)

Defining:

m ^ i = m i I i N R (13)

Initially, taking ti'=ti* where iN.

  • 1. Let mga=M-iDgm^i g{1,2,3,...} .

  • 2. With the definition of mga , define the subset G'={g{1,2,3,...}:mga>0} .

  • 3. Taking the number of machines from each ship as m^i , where iN defined on Equation 13, update the value of handling time

  • t i ' = max j { 2 , 3 , . . . , | M | } t i ' + m i R Q i ( j - 1 ) δ - Q i j δ j { 2 , 3 , . . . , | M | } , i N .

  • 4. Given gG’ and ig, define f^ig=jNβjT^j+βj't^j where:

  • t ^ v = t v v N { i } t v ' - Q v ( j - 1 ) δ - Q v j δ if j { 2 , 3 , . . . , | M | } , if v = i . T ^ v = T v if x i , o , k = x v , o ' , k = 1 , with o ' o max T ^ u + t ^ u , a j if x j , o , k = x u , o - 1 , k = 1 .

  • 5. Calculate (g^,i^)=argmingG'argminiDgf^ig e m^im^i+1 and mg^amg^a-1 .

  • 6. Calculate f^=iNβiT^i+βi't^i=mingG'miniDgf^ig , we have f^f , with the new solution, given by xi,o,k*,T^i,si,j*,wi,j*,m^i , where iN, jN, oO, kB.

Repeat Steps 1 - 6 until G′ = Ø. Note that the solution on Step 6 always satisfy the Constraints 1l and 1m. □

The theorem hypothesis of a large enough maximum departure time can be achieved using fines or financial personality for departure delays.

4 SOLUTION METHOD

This section contains the description of the main heuristics used to solve the mathematical model. The heuristic first finds an upper time limit (T), this time limit will be used to determine the set of vessels that will be assigned to a berth in the iteration. A set of vessels (S) are assigned to berths in each iteration, the set S is given by all not assigned vessels that have an arrival time less than T. The set S can contain more vessels than the total number of available berths, in that case, we prioritize vessels with less load. After allocating the vessels of S, the assignment of machines to handle the vessels is made with an auxiliary MILP problem, this MILP is called at most -S- times, with fewer vessels and limiting the number of machines every time, in an effort to find better local solutions. After assigning all vessels of S, the value of T is updated and a new iteration is initiated. To facilitate understanding of some data checks, reallocation and re-indexations will be skipped in the Algorithm 1.

Algorithm 1
Algorithm to Solve the Berth and Machine Allocation Problem

The sets, variables, and parameters of the algorithm are:

  • N is the set of Vessels;

  • Sb ← Ø is the vessel schedule of Berth bB

  • mi,α is the number of machines type α allocate to handling the vessel i.

  • Ti ;t i ; z are the allocation time, handling time, objective function value, respectively. Where iN.

  • Ti*;ti*;z*;mi,α* are the best allocation time, handling time, objective function value and nachine allocation, respectively. Where iN.

  • BTb is the opening time of berth bB;

  • T is the initial time reference;

  • mBb,α is the number of machines type α in the berth b, where bB and αP;

  • Initialize the values of Ti*;z*;mBb,α as zero;

To show an example of how the Algorithm 1 works, consider Figure 4.

Figure 4
Example of Heuristic 1 - Iteration 1.

Figure 4 shows three berths, B 1, B 2 and B n , therefore, B = {B 1 , B 2 , B n }. Each rectangle represents a vessel and its length represents the handling time. Solid rectangles are vessels treated in previous iterations, and dotted rectangles are vessels treated in the current iteration. Each berth became available in the time BT Bi , which is given by the end of the handling of previous iterations.

In the Step 9 the values of mi,α* are determined. With mi,α* the values of Ti*;ti* and z* are calculated. In this step all berths are available at the time T = max b∈B BT b and, in this time position, every machine is available to work at any berth, therefore, it is possible to allocate any number of machines as long as it satisfies the vessels and berths limitations. The set of vessels treated in this iteration are S = {s 1 , s 2 , s n }. In Step 10 the set S is ordered by berth time BT b in descendant order, which is S = {s 2 , s n , s 1}. The Loop 12 begins with T = max b∈B BT b , in our example, T=BTB2. In this iteration, the vessel in B 2 has its position fixed, that is, the values of allocation time, handling time and number of machines are given by Ts2*,ts2* and ms2,α*, respectively, and s 2 is removed from the set S and insert as the last element of SB2. For the next step, the value of T returns to the previous position, which is T=BTBn. Figure 5 shows the second iteration of Loop 12.

Figure 5
Example of Heuristic 1 - Iteration 2.

In the second iteration of Loop 12, we have T = BTB n and S = {s n , s1}. We added the constraint limiting the machines of vessels s 1 and s n to the sum of machines in B 1 plus the machines in B n plus the idle machines, which is ms1,α+msn,αmBB1,α+mBBn,α+(|Mα|-mBB2) for all αP to the problem. In Step 15 we select the number of machines that generates the best objective function with the new constraint. If z < z* then z* ← z, Ts1*Ts1, ts1*ts1, ms1,α*ms1,α*, Tsn*Tsn,tsn*tsn and msn,α*msn,α*. If z ≥ z* or the problem is infeasible, nothing changes for Ts1*, ts1*, Tsn*, tsn*, ms1,α* and msn,α*. The vessel s n is fixed with the values of Tsn*, tsn* and msn,α*. In our example, the value of z < z* and values of s 1 and s n are updated, s n is removed from set S and insert as the last element of SBn which can be seen in Figure 6. In the iteration 3, T=BTB1 and S = {s 1}. Figure 6 shows the beginning of the iteration 3.

Figure 6
Example of Heuristic 1 - Iteration 3.

Adding the constraint limiting the machines of vessel s 1 to the sum of machines in B 1 plus the idle machines, that is ms1,αmBB1,α+(|Mα|-mBB2,α-mBBn,α) for αP. With that constraint and the initial berth time set to T=TB1 we solve the model of Step 15 with the new constraint. In our example, z > z*, therefore, z*, Ts1*, ts1*, ms1,α*, αP, does not change. The value Ts1 is fixed as Ts1=BTBn, s 1 is removed from S and insert as the last element of SB1 and the Loop 12 ends. Figure 7 shows the final allocation of s 1 , s 2 and s n .

Figure 7
Example of Heuristic 1 - Final.

After finding the values for each element of S, the values of BT , mB, p, and T are updated. On the next iteration of the main loop, T will be used to select the new group of vessels. The handling time value can change as the number of machines changes.

5 TESTS AND RESULTS

The model, heuristic and FIFO has been implemented in MATLAB using the commercial solver CPLEX 12.3 when needed and tested on the same set of instances. Instances generated to validate our models are based on real data, from a small terminal with two berths, a few vessels, and machines to a large multi-terminal with more than a hundred berths, vessels, and machines. Table 1 brings the data interval of the instances of Table 2.

Table 1
Parameters interval.

Table 2
Tests and results.

Experiments have been run with a time limit of 1 hour for instances with less than 4 berths and 3 hours otherwise. The solver was able to find solutions only in some small-scale instances, but not all. As the number of berths and vessels increases, the solver was only able to solve instances close to trivial, where the arrival of vessels is sparse. In cases with more than 4 berths, the solver was not able to find a solution in any instance.

Table 2 brings the results of some instances. In Table 2 the name of each case is composed by: [number of berths] + B + [number of vessels] + N +[quantity of machine Type 1 ] + [quantity of machine Type 2 ] + [quantity of machine Type 3].

In Table 2 the column Case bring the instance name, all columns of Solver, Heuristic and FIFO brings the respective results. The O.F. columns are the value of the objective function, gap is the difference between the primal and the dual function obtained by the respective strategy. The time columns are the processing time in seconds, the column Solver vs Heu is the comparison between solver and heuristic solutions and Heu vs FIFO is the comparison between heuristic and FIFO solutions.

A negative value in column Solver vs Heu indicates a better solution of the solver over the heuristic by the respective percentage and a negative value the otherwise, same for the column Heu vs FIFO. The FIFO implementation needed only a few seconds for finding solutions even in large-scale instances, therefore, the processing time was omitted in Table 2.

The instances from 2B4N54 to 3B8N735 have up to three berths, nine vessels, and 3 types of machines. In those instances, the heuristic obtained solutions close to the optimal obtained by the solver. In 20 of 55 instances, about 36%, the solutions of the heuristic and solver are the same. All heuristic solutions are at most 20% worse than the solver solution. The instance 3B7N45 has the worst result, with 20% higher value than the solver solution. In all instances, the heuristic solution is better or equal to the FIFO solution.

The instances from 10B35N2834 to 4B50N1806 have from 4 to 10 berths, from 35 to 80 vessels and 2 types of machines. The solver was unable at finding a feasible solution after three hours of processing. The heuristic obtained solutions better or equal than FIFO in at most one minute, only two instances have the same solutions and the others have solutions up to 32% better.

The instances from 8B50N30 to 125B600N300250 have from 8 to 125 berths, from 50 to 600 vessels and 2 types of machines. The solver was unable at finding solutions after three hours of processing. The heuristic was able to obtain better or equal solutions than FIFO in at most one and half hours, only two instances have the same solutions and the others have solutions up to 73% better.

Most of the optimal results of the small-scale instances prioritize the allocation of vessels with low handling time, which are related to the choice of β ≥ β' . Choosing β ≥ β′ prioritizes the allocation time over handling time. If two vessels are waiting in a berth queue, the sum of the allocation time of both vessels will be minimal by choosing to allocate the vessel with the smaller handling time first, which leads to a better objective function. Choosing β ≥ β′ also leads to a better occupation of the berths, since we want to allocate the vessels early as possible, it is better to split the number of machines into different berths to be possible to allocate the vessels early. The usage of β ≥ β′ seems more adequate, since choosing the β′ ≥ β can lead to the concentration of the machines in a few berths to reduce the handling time of the vessels. The insight obtained from the small-scale instances was used in the heuristic. The heuristic prioritizes the allocation of vessels with less handling time in the Step 10.

6 CONCLUSIONS

A mixed-integer programming formulation has been presented to address the integration of the berth allocation problem with the machine assignment problem. The model has been validated on instances based on real data using a solver. These tests show that the problem is hardly solvable even in small instances. The proposed theorem can be used to reduce the computational complexity in some instances. As the number of berths and vessels increase, the solver was unable to find solutions, even with the application of the theorem, due to the high computational complexity. A heuristic algorithm to efficiently solve instances of the problem has also been presented, the heuristic is able to provide good feasible solutions in minutes.

The solver and heuristic solutions had similar results in the small instances. In 38 out of 55 cases, about 69%, the heuristic was worse than the optimal solution for small problems (2 and 3 berths, not more than 10 ships). The solver results are, on average, 4.96% lower. In larger instances, the solver was unable at finding solutions and the heuristic obtains solutions around 15% better than the FIFO strategy. The heuristic was able to solve instances with more than 100 berths, 500 vessels, and 250 machines in one and half hours. These dimensions are similar to the biggest terminals in the world.

The data can be found at https://data.mendeley.com/datasets/kdr7cn53k4.

References

  • AGRA A & OLIVEIRA M. 2018. MIP approaches for the integrated berth allocation and quay crane assignment and scheduling problem. European Journal of Operational Research, 264(1): 138-148.
  • BIERWIRTH C & MEISEL F. 2009. A fast heuristic for quay crane scheduling with interference constraints. Journal of Scheduling, 12(4): 345-360.
  • BIERWIRTH C & MEISEL F. 2010. A survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research , 202(3): 615-627.
  • BIERWIRTH C & MEISEL F. 2015. A follow-up survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research , 244(3): 675-689.
  • CAO JX, LEE DH, CHEN JH & SHI Q. 2010. The integrated yard truck and yard crane scheduling problem: Benders’ decomposition-based methods. Transportation Research Part E: Logistics and Transportation Review, 46(3): 344-353.
  • CHEN L, LANGEVIN A & LU Z. 2013. Integrated scheduling of crane handling and truck transportation in a maritime container terminal. European Journal of Operational Research , 225(1): 142-152.
  • CORDEAU JF, LAPORTE G, LEGATO P & MOCCIA L. 2005. Models and tabu search heuristics for the berth-allocation problem. Transportation science, 39(4): 526-538.
  • CORRECHER JF, ALVAREZ-VALDES R & TAMARIT JM. 2019. New exact methods for the time- invariant berth allocation and quay crane assignment problem. European Journal of Operational Research , 275(1): 80-92.
  • CRAINIC TG & KIM KH. 2007. Intermodal transportation. Handbooks in operations research and management science, 14: 467-537.
  • FU YM, DIABAT A & TSAI IT. 2014. A multi-vessel quay crane assignment and scheduling problem: Formulation and heuristic solution approach. Expert Systems with Applications, 41(15): 6959-6965.
  • GIALLOMBARDO G, MOCCIA L, SALANI M & VACCA I. 2010. Modeling and solving the tactical berth allocation problem. Transportation Research Part B: Methodological, 44(2): 232-245.
  • HE J. 2016. Berth allocation and quay crane assignment in a container terminal for the trade-off between time-saving and energy-saving. Advanced Engineering Informatics, 30(3): 390-405.
  • HENDRIKS M, ARMBRUSTER D, LAUMANNS M, LEFEBER E & UDDING J. 2012. Strategic allocation of cyclically calling vessels for multi-terminal container operators. Flexible Services and Manufacturing Journal, 24(3): 248-273.
  • HENDRIKS M, LEFEBER E & UDDING J. 2013. Simultaneous berth allocation and yard planning at tactical level. OR spectrum, 35(2): 441-456.
  • IMAI A, CHEN HC, NISHIMURA E & PAPADIMITRIOU S. 2008. The simultaneous berth and quay crane allocation problem. Transportation Research Part E: Logistics and Transportation Review , 44(5): 900-920.
  • IMAI A, NAGAIWA K & TAT CW. 1997. Efficient planning of berth allocation for container terminals in Asia. Journal of Advanced Transportation, 31(1): 75-94.
  • IMAI A, NISHIMURA E & PAPADIMITRIOU S. 2001. The dynamic berth allocation problem for a container port. Transportation Research Part B: Methodological , 35(4): 401-417.
  • IMAI A, NISHIMURA E & PAPADIMITRIOU S. 2003. Berth allocation with service priority. Transportation Research Part B: Methodological , 37(5): 437-457.
  • IRIS Ç, PACINO D & ROPKE S. 2017. Improved formulations and an adaptive large neighborhood search heuristic for the integrated berth allocation and quay crane assignment problem. Transportation Research Part E: Logistics and Transportation Review , 105: 123-147.
  • LEE DH & JIN JG. 2013. Feeder vessel management at container transshipment terminals. Transportation Research Part E: Logistics and Transportation Review , 49(1): 201-216.
  • MEISEL F & BIERWIRTH C. 2009. Heuristics for the integration of crane productivity in the berth allocation problem. Transportation Research Part E: Logistics and Transportation Review , 45(1): 196-209.
  • MOORTHY R & TEO CP. 2006. Berth management in container terminal: the template design problem. OR spectrum , 28(4): 495-518.
  • PARK YM & KIM KH. 2003. A scheduling method for berth and quay cranes. OR spectrum , 25(1): 1-23.
  • SHANG XT, CAO JX & REN J. 2016. A robust optimization approach to the integrated berth allocation and quay crane assignment problem. Transportation Research Part E: Logistics and Transportation Review , 94: 44-65.
  • VACCA I, SALANI M & BIERLAIRE M. 2013. An exact algorithm for the integrated planning of berth allocation and quay crane assignment. Transportation Science, 47(2): 148-161.
  • ZHEN L, CHEW EP & LEE LH. 2011. An integrated model for berth template and yard template planning in transshipment hubs. Transportation Science , 45(4): 483-504.
  • ZHEN L, YU S, WANG S & SUN Z. 2019. Scheduling quay cranes and yard trucks for unloading operations in container ports. Annals of Operations Research, 273(1): 455-478.
  • ZHENG F, LI Y, CHU F, LIU M & XU Y. 2019. Integrated berth allocation and quay crane assignment with maintenance activities. International Journal of Production Research, 57(11): 3478-3503.

Publication Dates

  • Publication in this collection
    25 Nov 2022
  • Date of issue
    2022

History

  • Received
    04 Mar 2022
  • Accepted
    29 June 2022
Sociedade Brasileira de Pesquisa Operacional Rua Mayrink Veiga, 32 - sala 601 - Centro, 20090-050 Rio de Janeiro RJ - Brasil, Tel.: +55 21 2263-0499, Fax: +55 21 2263-0501 - Rio de Janeiro - RJ - Brazil
E-mail: sobrapo@sobrapo.org.br