Next Article in Journal
Analysis of Dynamic Changes in Sea Ice Concentration in Northeast Passage during Navigation Period
Previous Article in Journal
A Study on Offshore Anchor Selection with a Focus on Torpedo Anchor Stability and Performance
Previous Article in Special Issue
Methodological Solutions for Predicting Energy Efficiency of Organic Rankine Cycle Waste Heat Recovery Systems Considering Technological Constraints
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Algorithm Design for an Online Berth Allocation Problem

1
School of Management, Guangzhou University, Guangzhou 510006, China
2
School of Management, Xi’an Jiaotong University, Xi’an 710049, China
3
College of Transport and Communications, Shanghai Maritime University, Shanghai 200135, China
*
Author to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2024, 12(10), 1722; https://doi.org/10.3390/jmse12101722
Submission received: 31 July 2024 / Revised: 14 September 2024 / Accepted: 27 September 2024 / Published: 30 September 2024

Abstract

:
In this paper, we investigate an online berth allocation problem, where vessels arrive one by one and their information is revealed upon arrival. Our objective is to design online algorithms to minimize the maximum load of all berths (makespan). We first demonstrate that the widely used Greedy algorithm has a very poor theoretical guarantee; specifically, the competitive ratio of the Greedy algorithm for this problem is lower bounded by Ω ( log m / log log m ) , which increases with the number of berths m . On account of this, we borrow an idea from algorithms for the online strip packing problem and provide a comprehensive theoretical analysis of the Revised Shelf (RS) algorithm as applied to our berth allocation problem. We prove that the competitive ratio of RS for our problem is 5, improving on the original competitive ratio of 6.66 for the online strip packing problem. Through numerical studies, we examine the RS algorithm and Greedy algorithm in an average case. The numerical simulation of competitive ratios reveals distinct advantages for different algorithms depending on job size. For smaller job sizes, the Greedy algorithm emerges as the most efficient, while for medium-sized jobs, the RS algorithm proves to be the most effective.

1. Introduction

Establishing an efficient, reliable, and flexible maritime logistics system has been a focal point for numerous scholars, as maritime transportation plays a crucial role in global trade and supply chain networks. Within this domain, the berth allocation problem (BAP) is a key challenge, as it directly impacts the operational efficiency of ports, which are critical nodes in maritime logistics. As an essential component of synchromodal logistics [1,2], the BAP has garnered significant attention due to its potential to optimize port resource utilization, enhance overall supply chain performance, and contribute to more sustainable operations. Efficient berth allocation not only reduces vessel waiting times and port congestion but also helps lower fuel consumption and emissions, making it a critical factor in minimizing the carbon footprint of maritime logistics. Given the global focus on reducing greenhouse gas emissions and achieving sustainability goals, optimizing berth allocation has become even more pertinent in supporting environmentally friendly maritime transport systems.
Specifically, the BAP deals with the assignment of quay space and service times to vessels arriving at the terminal for operations like loading and unloading containers, with the ultimate aim of optimizing various objectives, such as minimizing ports’ operational costs, reducing vessel turnaround times, and improving resource utilization. Traditionally, the BAP has been approached using offline optimization techniques, where complete information about vessel arrivals and cargo volumes is known in advance. In these settings, algorithms can generate optimized schedules by considering all the relevant parameters. Some studies have relaxed this assumption by incorporating partial information, such as probabilistic distributions of vessel arrivals [3,4]. However, real-world maritime logistics are often characterized by dynamic and uncertain environments. Factors such as sudden shifts in market demand, extreme weather events, or port congestion introduce unpredictability into vessel arrival times and the volume of cargo to be handled. In many practical cases, the distribution of information regarding vessel arrivals, including factors such as arrival times, cargo volumes, and vessel sizes, is difficult to ascertain, further complicating the berth allocation process.
Given these challenges, this paper addresses the BAP in relation to online optimization settings, where no prior knowledge of vessel information is available. In this scenario, an online algorithm is employed, where the scheduler receives information about a vessel only upon its arrival at the port. The algorithm must immediately allocate the vessel to a berth, and this decision cannot be changed once made, even as more vessels arrive. This introduces a significant level of complexity, as future vessels’ information remains unknown at the time of decision making, necessitating a strategy that balances current efficiency with future uncertainties.
In this study, we focus on a hybrid berth layout, where vessels can either share berths or occupy multiple berths simultaneously, depending on their size and operational requirements. This variant of the BAP bears resemblance to the well-known multiprocessor task scheduling problem, where multiple processors (berths) are allocated to complete tasks (vessels). Additionally, the problem shares similarities with two-dimensional bin packing problems, although the objective function in our case is to minimize the makespan, ensuring that all vessels are serviced in the shortest possible time. To assess the effectiveness of the proposed online algorithm, we use the competitive ratio, comparing the performance of the online approach with that of an offline optimal solution. This analysis offers valuable insights into the potential of online methods to address dynamic and uncertain conditions in maritime logistics while promoting operational efficiency and sustainability.
The BAP has been extensively studied in related works. Bierwirth and Meisel [5] and Rodrigues and Agra [6] categorized the BAP into three types: discrete, continuous, and hybrid. In the discrete case, only one vessel can be served at each berth at a time. In the continuous case, vessels can berth at arbitrary positions within the quay boundaries. In the hybrid case, multiple vessels may share a berth, or a single vessel may occupy more than one berth. Our study focuses on the hybrid case.
Most of the literature investigates offline versions of the BAP, where the scheduler has complete information about all vessels at the beginning. Cheong et al. [7] explored a dynamic hybrid BAP using a multi-objective programming method, optimizing objectives such as ship stay time, total waiting time, actual service priority of ships, and schedule deviation. They designed a multi-objective evolutionary algorithm for solving this problem. Guan and Yang [8] used simulation methods to explore various berth allocation methods for the static hybrid BAP, providing relevant research conclusions. Pan et al. [9] studied the hybrid BAP from a game-theoretic perspective, analyzing the price of anarchy for different vessel sizes and considering the makespan as the social cost, where the makespan is the maximum load over all berths. Our problem is similar to the model presented by Pan et al. [9].
To the best of our knowledge, there is limited research on the online version of the BAP. Online scheduling problems have been studied since the 1960s, and the algorithms for solving those problems are called online algorithms. In particular, Graham [10] first presented the LS (list scheduling) algorithm, which has had a profound impact on the online scheduling problem and proves the ( 2 1 / m ) competitive ratio. Currently, when the number of machines approaches infinity, the best known upper bound and best lower bound are 1.9102 and 1.85358 , according to [11] and [12], respectively. However, most research on online scheduling problems focuses on parallel machine scheduling, where each task needs only to be processed by only one machine, which is more similar to the discrete case in the BAP. More directly related studies include Zheng et al. [13] and Pan and Xu [14], who investigated the online version of the BAP with quality-of-service and capacity constraints (BAP-QCAP), providing optimal online algorithms for specific scenarios.
Our study focuses on the BAP with a hybrid berth layout, which is a special form of the general multiprocessor task scheduling problem [10,15]. In the context of multiprocessor task scheduling, both non-preemptive and preemptive independent job scenarios have been studied. Dorota and Smutnicki [16] designed a ( 2 1 / m ) competitive algorithm and a ( 1 / ( 1 ( 1 1 / m ) m ) ) competitive algorithm for these scenarios, respectively. The BAP with a hybrid berth layout also shares similarities with the two-dimensional packing problem [15]. Specifically, our research closely relates to the online strip packing problem [17,18], which aims to minimize the total height of the shelf—a different objective from ours. For online strip packing, Baker and Schwarz [18] developed the First Fit Shelf (FFS) algorithm with an absolute competitive ratio of 6.99. Ye et al. [17] improved this competitive ratio to 6.6623 using the Revised Shelf (RS) algorithm, which is the best-known bound to date. Despite the differences in objectives, the online algorithms from Ye et al. [17] can be adapted to our problem. Therefore, we further analyze the competitive ratio of these algorithms in the context of our specific BAP and validate their effectiveness through numerical simulations.
In the current contribution, Section 2 provides the necessary mathematical formulations and notations for this study. In Section 3, we first prove that the Greedy algorithm provides a poor theoretical guarantee for our problem, with a competitive ratio lower bounded by Ω ( log m / log log m ) , which worsens with the number of berths m . We then provide a comprehensive theoretical analysis of the Revised Shelf (RS) algorithm in Section 4, proving its competitive ratio to be 5, thus improving on the previous bound of 6.66 for online strip packing. Our results advance the theoretical understanding of algorithms in the context of berth allocation. Additionally, we also perform extensive numerical simulations to complement our theoretical analysis in Section 5. The numerical simulation of competitive ratios reveals distinct advantages for different algorithms depending on job size. For smaller job sizes, the Greedy algorithm emerges as the most efficient, while for medium-sized jobs, the RS algorithm proves to be the most effective. Finally, we give a conclusion in Section 6.

2. Preliminaries

There are n jobs (vessels) that need to be processed on m identical servers (berths), which means every server has the same speed. We denote the set of servers as M = { 1 , 2 , 3 , , m } , and the set of jobs as N = { 1 , 2 , 3 , , n } . Each job arrives online, and the scheduler has no prior knowledge of future job arrivals. Each job j is denoted by a tuple ( s j , p j ) , where “size” s j is the number of consecutive servers occupied by job j , and p j denote the processing time of job j . We define the weight w j of job j as w j = p j s j .
When all the jobs are scheduled on the servers, the allocation scheme of all the jobs is referred to as σ = σ 1 , σ 2 , σ 3 , , σ n , where σ j denotes the set of consecutive servers to which job j is assigned. For example, σ 1 = 2 , 3 , 4 , 5 means job 1 is assigned to server 2 , 3 , 4 , 5 . We define the load l i as the total processing time of all the jobs scheduled on server i , i.e., l i = j : i σ j p j . Our objective is to minimize the makespan, namely, the maximum load over all servers m a x i l i . Here is an example to illustrate the definition of l i . We consider that four jobs arrive in the order of { 3 , 1 , 3 , 2 , 4 , 1 , 1 , 3 } and need to be assigned on five servers. Their final allocation scheme is σ = { { 1 , 2 , 3 } , { 3 , 4 , 5 } , { 1 , 2 , 3 , 4 } , { 5 } } as shown in Figure 1a. The first server is selected only for job 1 and job 3 , thus, l 1 = p 1 + p 3 = 2 . In the same way, we can know l 2 , l 3 , l 4 , l 5 = 2 , 4 , 3 , 5 . The makespan of allocation σ is the maximum load of all the servers, i.e., c ( σ ) = max i l i . Obviously, the makespan of allocation scheme in Figure 1a is 5 . Figure 1b shows the optimal allocation scheme σ * , and the makespan of the σ * is 4 .
The competitive ratio of an algorithm A is defined as ρ A   : = sup N C A ( N ) o p t ( N ) , where N is taken over all possible sets of jobs, C A ( N ) is the cost (makespan) of algorithm A on job set N , and o p t ( N ) is the optimal makespan.

3. A Lower Bound of the Greedy Algorithm

In this section, we present a lower bound for the Greedy algorithm in the context of the online berth allocation problem. We demonstrate that the competitive ratio of the Greedy algorithm is not constant, but instead grows slowly with the number of servers m .
First, we give a pseudocode for the Greedy algorithm (see Algorithm 1):
Algorithm 1: Greedy Algorithm
Input:
m : number of servers;
tasks: list of jobs, where each job j is represented as ( s j ,   p j ) with s j being the number of consecutive servers required and p j the processing time.
Output:
Allocation scheme σ , describing the assignment of jobs to servers;
Makespan, defined as the maximum load across all servers.

Procedure:
For each job j in tasks:
1. Evaluate possible server ranges: For each possible starting position, consider the range of consecutive servers that can accommodate job j , from server 1 to m s j + 1 ;
2. Compute the maximum load: For each potential range, calculate the maximum load that would result if job j were assigned to that range;
3. Select the optimal range and update: Choose the range that minimizes the maximum load. In the case of ties, select the range with the smallest starting index. Assign job j to the selected range, update the server loads by adding p j to the servers in that range, and recalculate the makespan as the maximum load across all servers.
Theorem 1. 
The competitive ratio of the Greedy algorithm is at least Ω   log m / log log m .
Proof. 
To facilitate the proof, we assume the number of servers m is k k , where k is a positive integer. If the number of servers lies between k k and k + 1 k + 1 for some value of k , we can simply fill the additional servers using the job construction method for the first k k servers. We show that for k k servers, one can construct a schedule such that the Greedy algorithm has a makespan of exactly k, while the optimal schedule has a makespan of 1. The lists of jobs to construct the lower bound are as follows.
In the first list, we alternate between job (1, 1) and job ( k − 1, ϵ ) (where ϵ is a very small positive number). Each type of job is repeated k k 1 times. The list of jobs is structured as follows: (1, 1), ( k 1 , ϵ), (1, 1), ( k 1 , ϵ), …, iterated k k 1 times. The Greedy algorithm places these jobs side by side on the k k servers, as shown in Figure 2a. Consequently, the makespan after the first list is 1.
In the second list, we alternate between job ( k , 1) and job ( k 2 k ,   ϵ ). Each type of job is repeated k k 2 times. After the first list of jobs, every k servers will have a server with a load of 1. The jobs in this list, due to their sizes being exactly k, will also be placed side by side on the k k servers, as shown in Figure 2a. As a result, the makespan after the second list is 2.
In the u-th list ( u k ), we alternate between job ( k u 1 ,   1 ) and job ( k u k u 1 ,   ϵ ) . Each type of job is repeated k k u times. After this list of jobs, the makespan is u.
This process continues until u = k , yielding a makespan of k .
The optimal schedule places all jobs with height 1 side by side, followed by all jobs with height ϵ. As ϵ 0 , the optimal makespan is 1.
Therefore, the competitive ratio’s lower bound is k. Given that k k = m , we have k = Θ log m / log log m . Consequently, the lower bound on the competitive ratio of the Greedy algorithm is Ω   log m / log log m . □

4. Revised Shelf Algorithm

In this section, we introduce the Revised Shelf algorithm for the BAP and prove that the competitive ratio is 5. The RS algorithm was originally designed for the online strip packing problem, with a competitive ratio of 6.66 [17]. We apply the RS algorithm to BAP and improve the competitive ratio to 5.
Intuitively, the RS algorithm is to allocate jobs to virtual shelves of different heights. These virtual shelves are defined with heights of 2 k , where k is an integer that can be negative. A shelf with a height of 2 k is referred to as a k -shelf. Specifically, for each job j with processing time p j , the algorithm identifies the integer k such that 2 k 1 < p j   2 k , and assigns job j to a k -shelf. Each k -shelf has a height of 2 k and a width equivalent to the number of servers m . Since the heights of jobs within a k -shelf are all greater than half the shelf’s height, jobs are placed adjacent to each other following the leftmost principle. When the current k -shelf cannot accommodate a new job, a new k -shelf is initiated. This process continues, adhering to the first-fit principle to use the minimum number of shelves possible. Consequently, on arrival, each online job is allocated a specific position on a shelf, forming the job allocation scheme of the algorithm. Next, we give the formal definition of the Revised Shelf algorithm.
  • Revised Shelf (RS) algorithm:
When a new job ( s j , p j ) arrives, we assign it as follows:
1. If job j is a large job (i.e., s j > 1 2 m ) , we assign it to machines σ j = 1 , 2 , 3 , , s j ;
2. If job j is a small job (i.e., s j 1 2 m ), we assign it to a k -shelf following the first-fit principle, where the integer k satisfies 2 k 1 < p j   2 k . Specifically, the algorithm first attempts to place the job j on the first available k -shelf that has sufficient remaining width with the leftmost principle. If the current k -shelf cannot accommodate the job, the algorithm initiates a new k -shelf and places the job there. The algorithm continues this process following the first-fit principle.
In the following we show the pseudocode for the RS algorithm (see Algorithm 2):
Algorithm 2: Revised-Shelf algorithm
Input:
m : number of servers;
tasks: list of jobs, where each job j is represented as ( s j ,   p j ) with s j being the number of consecutive servers required and p j the processing time.
Output:
Allocation scheme σ , describing the assignment of jobs to servers;
Makespan, defined as the maximum load across all servers.

Procedure:
1. For each job j in tasks:
 1.1. If s j > 1 2 m : Assign job j to machines σ j = 1 ,   2 ,   ,   s j ;
 1.2. If s j   1 2 m :
  1.2.1. Determine k such that 2 k 1 < p j     2 k ;
  1.2.2. Attempt to place job j on an existing k -shelf. If a k -shelf has enough remaining width (   s j ) , assign job j to that shelf, and update both the remaining width and the server loads accordingly;
  1.2.3. If no existing k -shelf can accommodate job j , create a new k -shelf, assign job j to the first s j consecutive servers on this shelf and update the remaining width and server loads;
2. Compute the makespan as the maximum load across all servers after all jobs are processed and output the allocation scheme σ, which lists the server assignments for each job, along with the makespan.

4.1. The Upper Bound of the Competitive Ratio

Next, we present a detailed proof of the upper bound of the competitive ratio for the RS algorithm. After all the jobs have been assigned by the RS algorithm, certain shelves have been created. We group these shelves into three classes:
  • Full Shelves: Shelves created for large jobs are called full shelves;
  • Sparse Shelves: For each k , the last k -shelf created for small jobs is called a sparse shelf;
  • Dense Shelves: The remaining k -shelves created for small jobs are called dense shelves.
Let W F denote the total weight of the jobs on the full shelves and H F denote the maximum load resulting from these jobs. Similarly, let W S denote the total weight of the jobs on the sparse shelves and H S denote the maximum load resulting from these jobs. Finally, let W D denote the total weight of the jobs on the dense shelves and H D denote the maximum load resulting from these jobs.
Lemma 1. 
W F > m 2 H F .
Proof. 
For the jobs on the full shelves, each job j has a size s j > 1 2 m . Therefore, it is evident that W F > m 2 H F . □
Lemma 2. 
W S + W D > m 2 H D .
Proof. 
For any k , let v be the number of k -shelves. By definition, the first v 1 shelves are dense and the v -th shelf is sparse. Let W S ( k ) denote the total weight of the jobs on the sparse k -shelf (i.e., the v -th shelf), W D ( k ) denote the total weight of the jobs on the dense k -shelves (i.e., the first v 1 shelves), and H D ( k ) denote the maximum load resulting from the jobs on the dense k -shelves. We show that W S ( k ) + W D ( k ) > m 2 H D ( k ) holds for any k , thereby proving the lemma. We discuss three cases based on the value of v .
  • Case 1: v = 1 . This case means there is only one k -shelf, which is a sparse shelf. Therefore, H D ( k ) is 0, and W S ( k ) + W D ( k ) > m 2 H D k is obviously true.
  • Case 2: v = 2 . There is one sparse shelf and one dense shelf. According to the first-fit principle, we know that the total size of jobs is greater than m ; otherwise, there would be only one shelf. Since the jobs have processing times greater than 2 k 1 , we have W S k + W D k > 2 k 1 m . Given that there is only one dense shelf, it follows that H D 2 k , yielding W S ( k ) + W D ( k ) > m 2 H D k .
  • Case 3: v 3 . Let j u denote the job with the largest processing time on the u -th shelf for u = 1 , 2 , , v . We show that for each u { 1 , 2 , , v 1 } , it holds that the total weight w u of jobs in the u -th shelf is at least
    w u s j u p j u + m s j u s j u + 1 2 k 1 .
For u = v , it holds that w v s j v p j v s j v 2 k 1 .
The reason that the above inequalities are true is as follows. Since job j u + 1 cannot be accommodated in the u -th shelf, there are at least m s j u + 1 servers on the u -th shelf which are occupied. Due to any job in the u -th shelf having a processing time at least 2 k 1 , the above inequalities hold. According to the inequalities, we can obtain the following:
u = 1 v w u u = 1 v 1 s j u p j u + u = 1 v 1 m s j u s j u + 1 2 k 1 + s j v 2 k 1   = u = 1 v 1 s j u p j u + u = 1 v 1 m 2 s j u 2 k 1 + s j 1 2 k 1   = u = 1 v 1 s j u p j u 2 k + v 1 m 2 k 1 + s j 1 2 k 1   m 2 u = 1 v 1 p j u 2 k + v 1 m 2 k 1 + s j 1 2 k 1                       b y   ( s j u 1 2 m )   a n d   ( p j u 2 k )     = m 2 u = 1 v 1 p j u + s j 1 2 k 1   > m 2 u = 1 v 1 p j u   = m 2 H D ( k )
Therefore, we conclude that W S ( k ) + W D ( k ) > m 2 H D k . □
Lemma 3. 
H S 3 o p t , where o p t is the optimal makespan.
Proof. 
According to the definition, for any integer k , there is only one sparse k -shelf. Let k * be the largest integer k for which a k -shelf exists. Denote the job with the longest processing time on the k * -shelf by β . We know that 2 k * 1 p β 2 k * and p β o p t . The total height of all other sparse shelves (excluding the k * -shelf) is at most
i = k * 1 2 i = 2 k *
Therefore, the maximum load on the sparse shelves, H S , is given as follows:
H S 2 k * + p β 3 p β 3 o p t .
This completes the proof.
Based on the above three lemmas, we can prove the following theorem:
Theorem 2. 
The upper bound of the competitive ratio of RS algorithm is 5.
Proof. 
In the allocation scheme generated by the algorithm, the weight of all the jobs is W = W F + W D + W S . A lower bound on the optimal solution, o p t , can be obtained by distributing all the jobs equally among m servers. According to Lemmas 1 and 2, we have
o p t 1 m ( W F + W D + W S ) > 1 2 ( H F + H D )
Therefore, we can state that the makespan of RS algorithm is upper bounded by
C R S = H F + H D + H S < 5 o p t
Therefore, the upper bound of the competitive ratio of algorithm is 5.

4.2. The Lower Bound of the Competitive Ratio

Theorem 3. 
The lower bound of the competitive ratio of RS algorithm is 5.
Proof. 
To establish the lower bound of the competitive ratio of the RS algorithm, we construct a specific instance where the RS algorithm incurs a makespan of 5, while the optimal solution incur a makespan of only 1. This proves that the competitive ratio of the RS algorithm has a lower bound of 5.
First, we release u jobs { 1 ,   1 + ϵ ,   1 ,   1 ,   1 ,   1 / 2 ,   1 ,   1 / 2 2 ,   ,   1 ,   1 / 2 u 2 } , where each job has a size of 1, meaning it occupies one machine. According to the RS algorithm, each of these u jobs opens a new shelf, and every job is assigned to the first machine (leftmost) on its respective shelf. After allocating these jobs, the load on machine 1 will be
l 1 = 2 + ϵ + i = 1 u 2 1 2 i = 3 + ϵ 1 2 u 2
Next, we release a sequence of m jobs, denoted as J * . The first job in this sequence is ( 1 , 1 2 u 1 ) , while each of the remaining m 1 jobs is ( 1 ,   1 2 u + ϵ ) . According to the RS algorithm, none of these m jobs can be placed in any of the previously created u shelves. Therefore, they are all scheduled on a new shelf.
In this newly created shelf, the load on the first machine (where the first job is placed) is 1 2 u 1 , while the load on all other machines in the shelf is 1 2 u + ϵ .
We then repeat this sequence J * a total of 2 u times. Each repetition opens a new shelf, and the jobs are placed in a similar manner. Thus, after 2 u repetitions, there are 2 u new shelves, with the maximum load occurring on machine 1. The total load for these 2 u shelves on machine 1 is 1 2 u 1 × 2 u = 2 .
Thus, considering both the initial u jobs and the subsequent jobs from the J * sequence, the final load on machine 1 is
l 1 = 5 + ϵ 1 2 u 2
However, the optimal solution (denoted as o p t ) is close to 1. The optimal strategy for scheduling the jobs can be arranged as follows.
First, from the initial u jobs, place 1 ,   1 + ϵ on machine 1 and 1 ,   1 on machine 2. Then, schedule the remaining jobs { 1 ,   1 / 2 ,   1 ,   1 / 2 2 ,   ,   1 ,   1 / 2 u 2 } onto machine 3. The largest load among these three machines will be on machine 1, which has a load of 1 + ϵ .
Next, we schedule the first job from each repetition of J * , i.e., the 2 u jobs ( 1 , 1 2 u 1 ) . These jobs are evenly distributed across machines 3 and 4, resulting in each of these machines having a load of 1.
Finally, the remaining ( m 1 ) 2 u jobs ( 1 ,   1 2 u + ϵ ) are evenly distributed across the remaining machines, from machine 5 to machine m . After distribution, the load on these machines becomes 1 2 u + ϵ ( m 1 ) 2 u m 4 = 1 + 2 u ϵ m 1 m 4 . Thus, o p t = 1 + 2 u ϵ m 1 m 4 .
If we let ϵ approach 0 and allow u and m to approach infinity, the makespan of the RS algorithm converges to 5, while the makespan of the optimal solution converges to 1. Thus, the competitive ratio of the RS algorithm is lower bounded by 5. This establishes that the lower bound of the competitive ratio for the RS algorithm is 5. □

5. Numerical Simulation

In this section, we describe a numerical simulation conducted to validate the effectiveness of the Revised Shelf (RS) algorithm. We compare it against the Greedy algorithm, which, despite its theoretical shortcomings, is widely used in practice. By examining the average performance of the algorithms under random job scenarios, we aim to provide a comprehensive evaluation of their practical efficiency. This comparison helps us understand how the RS algorithm’s theoretical competitive ratio aligns with real-world performance and how the Greedy algorithm, which lacks a constant competitive ratio, measures up in various conditions.
The algorithms compared in our simulation were as follows:
  • Greedy algorithm: This algorithm assigns each job to the server that minimizes the current makespan. If there are multiple optimal choices, the tie is broken arbitrarily;
  • Leftmost Greedy (FF-Greedy) algorithm: Similar to the Greedy algorithm, FF-Greedy assigns each job to the server that minimizes the current makespan. However, when multiple choices are optimal, it assigns the job to the leftmost available space;
  • Revised Shelf (RS) algorithm: this algorithm has previously been introduced in this paper;
  • Dynamic-RS (D-RS) algorithm: To enhance the RS algorithm’s performance in practical applications and numerical simulations, we propose the D-RS algorithm, which includes a more effective tie-breaking rule. Unlike the original RS algorithm, where jobs are always placed starting from the leftmost available servers, the D-RS algorithm employs a dynamic tie-breaking rule. This rule allows jobs to be placed either at the leftmost or rightmost available servers within each shelf, depending on which placement allows the job to be completed earlier. Note that the D-RS shares the same theoretical upper bound of the competitive ratio.
In order to evaluate the performance of each algorithm based on their competitive ratios, it was necessary to compute the optimal solution for each instance, corresponding to the best possible scheduling outcome when all job information is fully known in advance. Given that finding the optimal solution for scheduling problems is NP-hard, even for the case of two machines, we formulated a mixed-integer linear programming (MILP) model to solve this problem. The purpose of using the MILP model here was solely to compute the optimal solution as a benchmark for comparing the performance of our online algorithms. The computational speed or efficiency of solving this MILP model is not the focus of this study, as the model serves only as a reference for evaluating the competitive ratio.
We acknowledge that there are various more efficient MILP formulations for the berth allocation problem, such as those by Imai et al. [19] and Iris et al. [20]. However, for the purpose of our study, we adopted a straightforward MILP formulation to ensure clarity and simplicity in implementation, focusing on obtaining the exact optimal makespan for the given job set and available machines. We did not specifically optimize the MILP formulation for computational efficiency, as its sole purpose was to provide an accurate benchmark for assessing the online algorithms.
The MILP model we used is described as follows:
Given data: The set of tasks is denoted by J = 1 , 2 , , n , where each task i J has two parameters: size s i and processing time p i . The number of servers is m;
Decision variables: For each task i J , we define decision variables x i , y i , where x i represents the starting time of task i , and y i denotes the first server occupied by task i in a set of consecutive servers. Hence, during the time interval x i , x i + p i , task i occupies the server set y i , , y i + s i 1 ;
Objective Function:
M i n i m i z e   m a x i J   x i + p i
Constraints:
Non-overlapping tasks constraint: For any pair of tasks i , i J with i i :
( x i + p i x i or   x i + p i x i )   or   ( y i + s i y i or   y i + s i y i )
This ensures that tasks do not overlap in terms of time or server usage.
Server range constraint:
y i 1 ,   i J y i + s i 1 m ,   i J
Variable constraints:
x i R + ,   i J y i N + ,   i J
In the original optimization model, the objective function involving a min–max expression and the “or” constraints are nonlinear. To solve this using Gurobi, it was necessary to linearize both the objective function and the constraints.
Objective Function Linearization: We introduce a new decision variable Z and enforce the linear constraint:
Z x i + p i ,   i J
The new objective function becomes:
M i n i m i z e   Z
Linearized Constraints:
Linearized non-overlapping tasks constraint: For any i , i J with i i (where M is a sufficiently large constant):
x i + p i x i + M a i , i + M c i , i x i + p i x i + M 1 a i , i + M c i , i y i + s i y i + M b i , i + M 1 c i , i y i + s i y i + M 1 b i , i + M 1 c i , i
where a i , i , b i , i , c i , i 0 , 1 are binary variables indicating whether tasks overlap in terms of time or server allocation.
Server range constraints:
y i 1 ,   i J y i + s i 1 m ,   i J
Variable Constraints:
x i R + ,   i J y i N + ,   i J a i , i , b i , i , c i , i 0 , 1 ,   i , i J   and   i i
The transformed model is now a mixed-integer linear programming (MILP) problem. As both the number of constraints and the number of variables increase approximately quadratically with the number of tasks n , solving for the optimal solution in large-scale problems becomes computationally prohibitive within acceptable time limits. Therefore, in the numerical simulations, we limited the problem size to reasonable scales, sufficient to demonstrate the algorithm’s average-case performance.
Next, we outline the parameters, simulation steps, and results of the simulation. The detailed parameters of the numerical simulation were as follows:
Number of Servers: Fixed at 20 servers for all simulations;
Number of Jobs: The number of jobs varies and takes values of 20, 40, 60, 80, and 100;
Job Parameters: Each job has two parameters: size and processing time. The size of each job is a random integer from the range [ s ,   k ] , where [ s ,   k ] takes values of [ 1 ,   5 ] , 1 ,   10 , [ 1 ,   15 ] , [ 1 ,   20 ] , [ 5 ,   10 ] , [ 5 ,   15 ] , [ 5 ,   20 ] , [ 10 ,   15 ] , [ 10 ,   20 ] , [ 15 ,   20 ] . This variability allows analysis of different job types and their impact on the algorithms. The processing time is a random integer from the range [ 1 ,   10 ] . Both parameters follow a discrete uniform distribution.
The specific steps of the numerical simulation were as follows:
Step 1. Randomly generate n jobs based on the specified parameters, with n taking values of 20, 40, 60, 80, and 100;
Step 2. Apply the basic Greedy algorithm, FF-Greedy algorithm, RS algorithm, and D-RS algorithm to distribute the jobs across the 20 servers. For each algorithm, compute the final completion time (makespan) of the job set and divide this by the makespan achieved by the optimal algorithm to calculate the competitive ratio;
Step 3. Repeat steps 1 and 2 for 50 iterations for each combination of job number and size range.

5.1. Simulation Discussion

Due to space limitations, we present the summarized average results of the 50 simulations in Table 1, below.
Based on Table 1, we observe that the performance of different algorithms varied significantly across different job size ranges. For smaller job sizes, such as [1, 5], the Greedy and FF-Greedy algorithms generally demonstrated superior performance. Despite their theoretically poor worst-case performance (lacking a constant competitive ratio), these algorithms perform quite well under more practical, randomized scenarios. On the other hand, for moderately sized jobs, such as those in the [5, 15] range, the D-RS algorithm outperformed all the others, with the FF-Greedy algorithm following closely.
To further visualize the performance of different algorithms from a statistical perspective, we calculated the mean competitive ratios for each rand size group by averaging the number of jobs. Figure 3 displays the performance across different rand sizes and algorithms, with error bars representing plus or minus one standard deviation. It is evident that there were some fluctuations. Although the D-RS algorithm performed poorly in the smallest job sizes, specifically [1, 5], it performed comparably to the FF-Greedy algorithm as the job sizes increased (e.g., [1, 10], [1, 15], [1, 20]). Notably, in the moderately sized jobs, such as [5, 15] and [5, 20], the D-RS algorithm showed exceptional performance. Additionally, the shorter error bars for the D-RS algorithm highlight its robustness, as they are significantly smaller compared to those of the other algorithms. This suggests that the D-RS algorithm was more consistent in its performance, indicating greater stability and reliability. As the job size continued to increase, both the D-RS and FF-Greedy algorithms exhibited the best performance.

5.2. Further Analysis

To provide a more comprehensive evaluation, we conducted a detailed graphical analysis of the algorithms’ performance across two representative job size ranges: [1, 5] and [5, 15].
For the [1, 5] job size range, Figure 4, Figure 5 and Figure 6 illustrate the average competitive ratio, standard deviation, and box plots over 50 simulations, respectively. The data clearly show that the Greedy and FF-Greedy algorithms outperformed the RS and D-RS algorithms in terms of both average performance and stability. As the number of jobs increased, the competitive ratios of all algorithms improved, indicating better efficiency with larger job sets. This trend suggests that simpler algorithms like Greedy and FF-Greedy are particularly effective for smaller, more uniform job sizes.
In contrast, for the [5, 15] job size range, Figure 7, Figure 8 and Figure 9 reveal a different pattern. The D-RS algorithm consistently exhibited the best performance, with the lowest average competitive ratios and standard deviations indicating both high efficiency and stability. The FF-Greedy algorithm also performed well, albeit slightly less so than the D-RS. The improved performance of the D-RS in this range can be attributed to its dynamic tie-breaking rule, which better accommodates the specific variability in this job size range.
The numerical simulation of competitive ratios revealed distinct advantages for different algorithms depending on job size. For smaller job sizes ([1, 5]), the FF-Greedy algorithm emerged as the most efficient, while for medium-sized jobs ([5, 15]), the D-RS algorithm proved to be the most effective. These findings underscore the importance of selecting the appropriate algorithm based on job characteristics to achieve optimal performance in server load distribution.

5.3. Scalability Analysis

We evaluated the scalability and computational efficiency of the four algorithms: Greedy, FF-Greedy, RS, and D-RS. The simulation was conducted on a system equipped with an Intel Core i7-12700F CPU running at 16 GB of RAM. All algorithms were implemented using Python 3.11. We randomly generated a total of six job sets, with job numbers of 100, 500, 1000, 3000, 5000, and 10,000, respectively. The number of servers was set to 20, and the job sizes were randomly selected from the range [5, 15]. The processing time of each job was randomly chosen from the interval [1, 10]. Due to the complexity of solving large-scale mixed-integer programming problems, we focus on comparing the makespan results obtained by each algorithm rather than their competitive ratios.
Table 2 summarizes the makespan and computational times for each algorithm across different job sets. For smaller job sets (100 jobs), all algorithms exhibited minimal computational times, with most completing in approximately 0.001 s. As the problem size increased, the computational time grew, though all algorithms maintained reasonable performance. Notably, for the largest task set of 10,000 tasks, the Greedy, FF-Greedy, and RS algorithms solved the problem in 0.6 s, while the D-RS algorithm required 2.588 s. These results indicate that the algorithms are capable of solving large-scale problems efficiently within a short period, demonstrating high computational speed.

6. Conclusions

In this paper, we explore the berth allocation problem in an online setting, where vessels arrive online in sequence. Our key contributions include proving that the widely used Greedy algorithm has a poor theoretical guarantee for this problem, with a competitive ratio lower bounded by Ω ( log m / log log m ) , which worsens as the number of berths m increases. To address this, we introduce the Revised Shelf (RS) algorithm, drawing from the online strip packing problem, and demonstrate through comprehensive theoretical analysis that the RS algorithm has a competitive ratio of 5, an improvement over the original ratio of 6.66. Additionally, our extensive numerical simulations compare the RS and Greedy algorithms in average cases, revealing that the Greedy algorithm is most efficient for smaller jobs, while the RS algorithm is more effective for medium-sized jobs.
Beyond the theoretical and computational improvements, our work also carries significant implications for sustainability in maritime logistics. Efficient berth allocation, as demonstrated by the RS algorithm, can lead to reduced vessel waiting times, which in turn minimizes fuel consumption and idling at ports. By optimizing berth usage, fewer resources are wasted, and port operations can run more smoothly, reducing the emission of greenhouse gases such as CO₂. Thus, the adoption of better online algorithms like RS not only enhances operational efficiency but also contributes to more sustainable maritime logistics by lowering carbon footprints and supporting environmental goals. These findings underscore the importance of choosing the right algorithm based on vessel characteristics to ensure optimal performance and promote eco-friendly practices in port management.

Author Contributions

Conceptualization, C.C., L.X. and F.W.; methodology, C.C.; validation, C.C., F.W. and J.P.; formal analysis, C.C.; data curation, L.X., H.G. and C.C.; writing—original draft preparation, F.W.; writing—review and editing, C.C. and J.P; visualization, C.C. and H.G.; supervision, C.C. and L.X.; project administration, C.C. and L.X.; funding acquisition, C.C. and L.X. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Guangdong Basic and Applied Basic Research Foundation (China) [2020A1515110202, 2022B1515120060, 2021A1515110193] and Guangzhou Basic and Applied Basic Research Project [2024A04J3848, SL2023A04J00966].

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in this article. Further inquiries can be directed to the corresponding author.

Acknowledgments

All authors would like to express their sincere thanks to the editor and reviewers or their constructive comments.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Giusti, R.; Manerba, D.; Bruno, G.; Tadei, R. Synchromodal Logistics: An Overview of Critical Success Factors, Enabling Technologies, and Open Research Issues. Transp. Res. Part E Logist. Transp. Rev. 2019, 129, 92–110. [Google Scholar] [CrossRef]
  2. Giusti, R.; Manerba, D.; Crainic, T.G.; Tadei, R. The Synchronized Multi-Commodity Multi-Service Transshipment-Hub Location Problem with Cyclic Schedules. Comput. Oper. Res. 2023, 158, 106282. [Google Scholar] [CrossRef]
  3. Iris, Ç.; Pacino, D.; Ropke, S.; Larsen, A. Integrated Berth Allocation and Quay Crane Assignment Problem: Set Partitioning Models and Computational Results. Transp. Res. Part E Logist. Transp. Rev. 2015, 81, 75–97. [Google Scholar] [CrossRef]
  4. Iris, Ç.; Lam, J.S.L. Recoverable Robustness in Weekly Berth and Quay Crane Planning. Transp. Res. Part B Methodol. 2019, 122, 365–389. [Google Scholar] [CrossRef]
  5. Bierwirth, C.; Meisel, F. A Follow-up Survey of Berth Allocation and Quay Crane Scheduling Problems in Container Terminals. Eur. J. Oper. Res. 2015, 244, 675–689. [Google Scholar] [CrossRef]
  6. Rodrigues, F.; Agra, A. Berth Allocation and Quay Crane Assignment/Scheduling Problem under Uncertainty: A Survey. Eur. J. Oper. Res. 2022, 303, 501–524. [Google Scholar] [CrossRef]
  7. Cheong, C.; Tan, K.; Liu, D.; Lin, C. Multi-Objective and Prioritized Berth Allocation in Container Ports. Ann. Oper. Res. 2010, 180, 63–103. [Google Scholar] [CrossRef]
  8. Guan, Y.; Yang, K. Analysis of Berth Allocation and Inspection Operations in a Container Terminal. Marit. Econ. Logist. 2010, 12, 347–369. [Google Scholar] [CrossRef]
  9. Pan, J.; Chen, C.; Xu, Y. The Price of Anarchy for a Berth Allocation Game. J. Sched. 2024, 27, 51–60. [Google Scholar] [CrossRef]
  10. Graham, R.L. Graham Bounds for Certain Multiprocessing Anomalies. Bell Syst. Tech. J. 1966, 45, 1563–1581. [Google Scholar] [CrossRef]
  11. Fleischer, R.; Wahl, M.G. Online Scheduling Revisited. In Algorithms-ESA 2000; Springer: Berlin/Heidelberg, Germany, 2000. [Google Scholar]
  12. Gormley, T.; Reingold, N.; Torng, E.; Westbrook, J.; Association for Computing Machinery Inc. Generating Adversaries for Request-Answer Games. In Proceedings of the Eleventh Annual ACM-SIAM Symposium on Discrete Algorithms, San Francisco, CA, USA, 9–11 January 2000; pp. 564–565. [Google Scholar]
  13. Zheng, F.; Qiao, L.; Liu, M. An Online Model of Berth and Quay Crane Integrated Allocation in Container Terminals. In Combinatorial Optimization and Applications; Lu, Z., Kim, D., Wu, W., Li, W., Du, D., Eds.; Springer: Cham, Switzerland, 2015; Volume 9486, pp. 721–730. [Google Scholar]
  14. Pan, J.; Xu, Y. Online Integrated Allocation of Berths and Quay Cranes in Container Terminals with 1-Lookahead. In Computing and Combinatorics; Xu, D., Du, D., Du, D., Eds.; Springer: Cham, Switzerland, 2015; Volume 9198, pp. 402–416. [Google Scholar]
  15. Guan, Y.; Xiao, W.; Cheung, R.; Li, C. A Multiprocessor Task Scheduling Model for Berth Allocation: Heuristic and Worst-Case Analysis. Oper. Res. Lett. 2002, 30, 343–350. [Google Scholar] [CrossRef]
  16. Dorota, D.; Smutnicki, C. On-Line Scheduling Multiprocessor Tasks in the Non-Predictive Environment. In Proceedings of the System Dependability—Theory and Applications, Brunów, Poland, 1–5 July 2024; Zamojski, W., Mazurkiewicz, J., Sugier, J., Walkowiak, T., Kacprzyk, J., Eds.; Springer Nature Switzerland: Cham, Switzerland, 2024; pp. 59–68. [Google Scholar]
  17. Ye, D.; Han, X.; Zhang, G. A Note on Online Strip Packing. J. Comb. Optim. 2009, 17, 417–423. [Google Scholar] [CrossRef]
  18. Baker, B.S.; Schwarz, J.S. Shelf Algorithms for Two-Dimensional Packing Problems. SIAM J. Comput. 1983, 12, 508–525. [Google Scholar] [CrossRef]
  19. Imai, A.; Nishimura, E.; Papadimitriou, S. The Dynamic Berth Allocation Problem for a Container Port. Transp. Res. Part B Methodol. 2001, 35, 401–417. [Google Scholar] [CrossRef]
  20. Iris, Ç.; Lalla-Ruiz, E.; Lam, J.S.L.; Voß, S. Mathematical Programming Formulations for the Strategic Berth Template Problem. Comput. Ind. Eng. 2018, 124, 167–179. [Google Scholar] [CrossRef]
Figure 1. An illustration of the definition of l i .
Figure 1. An illustration of the definition of l i .
Jmse 12 01722 g001
Figure 2. An illustration of the lower bound for the 27-server case.
Figure 2. An illustration of the lower bound for the 27-server case.
Jmse 12 01722 g002
Figure 3. Competitive ratios for rand size and algorithm.
Figure 3. Competitive ratios for rand size and algorithm.
Jmse 12 01722 g003
Figure 4. Mean competitive ratios for jobs in the [1, 5] range.
Figure 4. Mean competitive ratios for jobs in the [1, 5] range.
Jmse 12 01722 g004
Figure 5. Standard deviation of competitive ratios for jobs in the [1, 5] range.
Figure 5. Standard deviation of competitive ratios for jobs in the [1, 5] range.
Jmse 12 01722 g005
Figure 6. The distribution of competitive ratios for jobs in the [1, 5] range.
Figure 6. The distribution of competitive ratios for jobs in the [1, 5] range.
Jmse 12 01722 g006
Figure 7. Mean competitive ratios for jobs in the [5, 15] range.
Figure 7. Mean competitive ratios for jobs in the [5, 15] range.
Jmse 12 01722 g007
Figure 8. Standard deviation of competitive ratios for jobs in the [5, 15] range.
Figure 8. Standard deviation of competitive ratios for jobs in the [5, 15] range.
Jmse 12 01722 g008
Figure 9. The distribution of competitive ratios for jobs in the [5, 15] range.
Figure 9. The distribution of competitive ratios for jobs in the [5, 15] range.
Jmse 12 01722 g009
Table 1. Average Competitive Ratios from 50 Simulations for Different Job Sizes and Quantities.
Table 1. Average Competitive Ratios from 50 Simulations for Different Job Sizes and Quantities.
Rand SizeNum of JobsGreedyFF-GreedyRSD-RS
MeanStdMeanStdMeanStdMeanStd
[1, 5]201.2690.0931.2560.1131.4390.1531.3880.152
401.1490.0411.1440.0331.210.0631.1910.069
601.0970.0271.0940.0281.1590.0481.1470.044
801.0780.021.0720.0191.120.0411.0960.038
1001.0630.0191.0540.0221.1110.0291.0820.03
[1, 10]201.240.071.170.0631.2290.1291.1840.058
401.1260.0471.0980.041.1550.0481.1260.037
601.0940.0251.070.0241.1220.0371.0910.031
801.0760.0211.0490.0181.1020.0311.0750.019
1001.0560.0181.0370.0151.0780.0191.0560.017
[1, 15]201.1780.0951.1240.0811.1980.0881.1380.092
401.1270.0571.0890.0351.1810.0571.1280.046
601.1310.0381.0680.0311.1440.0381.0880.036
801.120.0371.0640.0261.1370.0451.0920.036
1001.1150.0391.0540.0211.1240.0311.0810.026
[1, 20]201.1070.0591.080.0471.1010.0721.0720.058
401.10.0341.0570.0351.1060.0461.0620.031
601.0890.0281.050.0211.1010.0351.0610.023
801.0880.0291.0460.0211.0990.0271.0640.021
1001.0740.0261.0380.0241.090.0261.0580.023
[5, 10]201.2340.0721.1510.0551.2030.0761.1620.063
401.1450.0421.1030.0281.1390.041.1010.035
601.1470.0291.10.0211.1460.0291.1020.034
801.1340.0241.0890.0171.1250.0231.0870.023
1001.1310.0261.0920.0151.1190.0231.0920.022
[5, 15]201.1590.081.0720.0581.1280.0771.0610.047
401.1610.0591.0860.0491.1590.0511.0760.045
601.140.0381.0640.0361.1340.0461.060.036
801.1560.0371.0610.0321.1330.0381.0520.03
1001.1370.0421.0570.0251.1210.041.0520.032
[5, 20]201.0990.0541.0560.0441.0770.0451.0470.032
401.0950.0391.050.0311.0860.031.0480.029
601.0740.0311.0340.0221.0740.0321.0380.022
801.0820.0241.0380.0211.0810.0231.0360.021
1001.0670.0251.0260.0181.0640.0221.030.017
[10, 15]201.0570.061.0050.0081.0260.0321.0090.013
401.0570.0341.0060.0071.0140.0121.0080.008
601.0430.0271.0040.0041.010.0091.0070.005
801.0460.0331.0040.0031.010.0071.0060.004
1001.0330.0281.0030.0031.0080.0061.0040.004
[10, 20]201.0390.0431.0030.0081.0110.0181.0020.006
401.040.0321.0030.0041.010.0111.0060.006
601.0280.0191.0040.0051.0090.0081.0050.005
801.0230.0191.0030.0031.0080.0071.0040.004
1001.0250.0161.0030.0031.0070.0051.0040.003
[15, 20]2010101010
4010101010
6010101010
8010101010
10010101010
Table 2. Makespan and Computation Time for Different Numbers of Jobs.
Table 2. Makespan and Computation Time for Different Numbers of Jobs.
Number of JobsAlgorithmMakespanTime (s)
100Greedy3230.001
100FF-Greedy3020.001
100RS3100.001
100D-RS2930.001
500Greedy15770.005
500FF-Greedy14160.006
500RS14680.003
500D-RS14200.009
1000Greedy31110.011
1000FF-Greedy28570.010
1000RS29540.008
1000D-RS28510.031
3000Greedy93780.030
3000FF-Greedy83920.029
3000RS86040.051
3000D-RS83030.223
5000Greedy15,6910.052
5000FF-Greedy14,1250.050
5000RS14,3870.140
5000D-RS14,0750.614
10,000Greedy30,7900.100
10,000FF-Greedy27,4840.098
10,000RS27,9040.534
10,000D-RS27,3782.588
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Chen, C.; Wang, F.; Pan, J.; Xu, L.; Gao, H. Algorithm Design for an Online Berth Allocation Problem. J. Mar. Sci. Eng. 2024, 12, 1722. https://doi.org/10.3390/jmse12101722

AMA Style

Chen C, Wang F, Pan J, Xu L, Gao H. Algorithm Design for an Online Berth Allocation Problem. Journal of Marine Science and Engineering. 2024; 12(10):1722. https://doi.org/10.3390/jmse12101722

Chicago/Turabian Style

Chen, Cong, Fanxin Wang, Jiayin Pan, Lang Xu, and Hongming Gao. 2024. "Algorithm Design for an Online Berth Allocation Problem" Journal of Marine Science and Engineering 12, no. 10: 1722. https://doi.org/10.3390/jmse12101722

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop