Research Article  Open Access
Integrated Berth Allocation and TimeVariant Quay Crane Scheduling with Tidal Impact in Approach Channel
Abstract
This paper addresses the integrated problem of dynamic continuous berth allocation and timevariant quay crane scheduling in container terminals and introduces the factor of tidal impacts into the problem. We mainly consider the impact of tides on the transport capacity of an approach channel that connects quay and anchorage. An integer linear programming model is developed, and then three heuristic algorithms, Genetic Algorithm, Hybrid Particle Swarm Optimization, and Hybrid Simulated Annealing, are proposed to solve the model. Numerical experiments are conducted to verify the efficient performances of the proposed heuristics. Moreover, experimental results also demonstrate the nonignorable impact of tides on the vessel turnaround time and the utilization of berth and quay cranes.
1. Introduction
In the last decades, container shipping plays an important and irreplaceable role in the international trade due to its low shipping cost and high reliability. Huge maritime transport demand brings container ports more business opportunities as well as more challenges [1]. To stand out in the fierce competition, container port managers have to improve the efficiency of services in order to lower service costs and attract more vessels calling. One critical aspect is to maximize the use of key resources, such as berths and quay cranes (QCs). With the quick increase of containership size, the processing schedule of vessels in many container seaports is much impacted by tides. Because their required deep drafts are usually more than the channel’s water depth, megacontainerships have to pass through the approach channel by the aid of tides.
Figure 1 illustrates the tidal effect. As shown in the figure, the tide fluctuates and it alters the water depth of the channel over time (taking a tidal cycle as an example). When a vessel arrives at the port, the vessel draft becomes known. To ensure the safety during passing through the channel, the under keel clearance , which is the distance from the vessel bottom to the fairway bottom, is required to be at least 12% of the vessel draft [2]. Let be the tide datum depth. Then a minimum tide height required for the vessel to pass through the channel is formulated as . Based on this, the available tide time window can be calculated according to and the tidal rhythm together with tidal amplitude at the seaport. The vessel can only pass through channel during time interval in the tidal cycle. Specifically, if the vessel calls at the port before , it waits to the time point. If otherwise it arrives after time , the vessel has to wait until the next available tide time window. Similarly, if the vessel has completed service and plans to leave the port via the channel, the same tidal requirement has to be met. So the container terminal manager has to well consider the interaction of berth, QCs, vessels’ drafts, and the fluctuation of tide so as to provide appropriate berthing time for each vessel to prevent its unnecessary waiting at the anchorage ground. An optimal processing schedule of vessels not only maximizes the use of the critical resources, but also greatly reduces vessel bunker fuel costs and greenhouse gas emissions.
Many recent works [3–7] have addressed the impact of tides on the seaside operations in a container port. These papers consider the tidal impact in berth allocation problem (BAP), in which the processing times of vessels are generally assumed to be constants. That is, QC assignment is not involved. In practice, however, the turnaround time of a vessel is a variable and depends on not only the number of containers to be processed but also the number of QCs assigned to the vessel. Motivated by this, we investigate the integrated berth and QC scheduling problem with tidal impact in this work such that the turnaround time of any vessel relies on its schedule.
The main contributions of this work are threefold. (i) We introduce the impact of tides into the integrated problem of dynamic continuous berth allocation and timevariant QC scheduling. (ii) An integer linear programming model is established and three heuristic algorithms are exploited to solve the model. (iii) Numerical experiments are conducted to reveal the nonneglected tidal impacts on the turnaround times of vessels and the utilization of berth and QCs.
The rest of this paper is organized as follows. Section 2 reviews relevant literature. The description of the problem is presented in Section 3. Section 4 formulates the integer linear programming model of the considered problem, and three heuristic algorithms are employed in Section 5. In Section 6 we conduct extensive numerical experiments to further verify the impact of tides in scheduling and make comparison between the proposed heuristics. Finally, conclusions and some suggestions of further research are provided in Section 7.
2. Literature Review
Seaside operations scheduling in container terminals have been of large interest in the fields of management science, operations research, and computer sciences in the last decades. For a comprehensive understanding of container terminal operations, readers are referred to literature [8–12]. According to Bierwirth and Meisel [10], there are three basic scheduling problems in seaside operations, i.e., the berth allocation problem (BAP), the QC assignment problem (QCAP), and the QC scheduling problem (QCSP). Moreover, the integration of these problems, such as BAPQCAP and BAPQCSP, has also caught a lot of interest in literature.
2.1. Integrated Seaside Operations Scheduling
Park and Kim [13] put forward a pioneering integration method for scheduling berth and QCs. They establish a mixed integer linear programming (MILP) model and propose a twophase solution procedure to solve the model. At the first stage, the assignment of berths and QCs to vessels is determined by Lagrangian relaxation and a subgradient optimization method. Then a dynamic programming technique is adopted to schedule the assigned QCs for the vessels. Liang et al. [14] study an integration of discrete berth allocation problem and QC dynamic assignment problem. They formulate a multiobjective mathematical model to minimize both turnaround time of vessels and the number of QC movements simultaneously. To solve the model, a multiobjective hybrid genetic algorithm approach with a prioritybased encoding method is applied. Zhang et al. [15] address a BAPQCAP problem considering the coverage ranges and limited adjustments of QCs during processing. They construct a mixed integer programming model and apply a subgradient optimization algorithm to solve the model. Giallombardo et al. [16] propose a novel concept of QC assignment profiles to integrate berth allocation and QC assignment. A mixed integer quadratic programming formulation and a mixed integer linear program are constructed, which aim to maximize the total value of chosen QCprofiles and yard costs. Hu et al. [17] construct a nonlinear multiobjective mixed integer programming model for integrating BAP and QCAP, which considers vessel fuel consumption and emissions. A secondorder mixed integer cone programming model is adopted in solving the model.
Meisel and Bierwirth [18] establish a framework for the integration of berth allocation, QC assignment and scheduling problem. The framework proceeds in three phases. Phase 1 calculates the crane productivity rates according to vessel stowage plans. Berthing times and positions as well as crane capacity assignments are determined in Phase 2. Finally, Phase 3 provides QC schedules. Turkogullari et al. [19] study the integration of berth allocation, QC assignment, and timeinvariant QC scheduling problem (BACASP) such that the QCs assigned to each vessel stay at where they are until the vessel has been completed. First, they integrate the berth allocation and QC assignment problem (BACAP) in a binary integer linear programming model. In order to incorporate QC scheduling problem, they extend the BACAP and introduce a mixed integer linear programming model for the BACASP. Two algorithms are proposed to generate the optimal solution for the BACASP based on the optimal solution of BACAP. Considering the scenario where the number of QCs assigned to any vessel is allowed to vary during the processing of the vessel, Turkogullari et al. [20] build a mixed integer linear program to combine berth allocation, timevariant QC assignment and scheduling with consideration of QC setup cost owing to the movement between two working locations along the berth. They split it into a relaxed master problem and a subproblem and propose an exact solution algorithm by means of directed, layered, single source, and single sink network. The simulation results demonstrate that the algorithm may obtain optimal solutions for largescale realistic problem instances.
2.2. Seaside Operations considering Tidal Impacts
Although seaside operations in container terminals have caught much interest in literature, there are only a few studies considering the influence of tide in the BAP problem. Most of these works consider the tide impact on the water depth along the berths. Barros et al. [3] investigate a BAP model with tidal time windows and stock level conditions in a tidal bulk port of Brazil. They present an integer linear programming model with homogeneous berths, which aims to minimize the overall demurrage in the planning horizon. A simulatedannealingbased algorithm (SA) is proposed to obtain good solutions. Xu et al. [4] study a discrete BAP model in both static and dynamic cases for container terminals in which the assignment of berths is limited by water depth due to tides. They assume that the time horizon is divided into only one high water period and one low water period. Qin et al. [7] address the BAP at a tidal river port in a more precise manner than [3, 4] by introducing timevarying draft constraints on vessel berthing based on each vessel’s draft and tide conditions of different berths. They build six integer programming models which are various combinations of three objectives (i.e., total weighted turnaround time, total weighted departure delay, and makespan) and two vessel arrival cases (i.e., static and dynamic). The models are then transformed into the innovative constraint programming counterparts. LallaRuiz et al. [6] modify the model proposed in [4] to improve the feasibility of solutions based on the generalized Set Partitioning problem. Numerical experiments indicate that the computational efficiency is also improved significantly.
Some other authors investigate the BAP problem with the impact of tide in the approach channel. Sheikholeslami et al. [5] take into consideration not only the tidal constraints in the approach channel but also the variations of water depth in different berths in the continuous dynamic berth allocation. A genetic algorithm combined with pattern search algorithm is proposed to solve the problem. Du et al. [2] develop two mathematical models to figure out the BAP in a tidal port, in which it takes into account the restriction of tides when vessels enter or leave the port through the approach channel. The first model aims to minimize the total departure delay of vessels, and the second model takes vessel arrival times as decision variables and takes the minimum weighted summation of departure delay and fuel consumption as the objective. The secondorder cone programming technique is adopted to simplify the nonlinear complexity of the second model. Numerical simulations show that the second model can effectively mitigate the tidal impacts on container terminal operations and vessel emissions. To the best of our knowledge, there are no results on the BACASP problem where the influence of tides is involved. In this work we focus on the BACASP problem with timevariant QC scheduling and tidal impacts.
3. Problem Statement
We consider the integrated berth allocation, QC assignment, and timevariant QC scheduling problem with tide constraint and denote it as BACASPTC as in [19, 20], where the notation TC denotes the factor of tide constraint. By reasonable discretization of the continuous berth and time horizon, we can treat the considered problem as a discrete optimization model. We discretize the planning time horizon into time steps with one hour per time step [15, 18–20]. Moreover, the continuous quay berth is partitioned into discretized segments with 50 meters per berth segment [15, 19–21]. Thus, the length of vessel can be measured by the number of required berth segments. For example, means it is of length equal to 100 meters. Considering the average productivity of one QC, we assume based on field investigation that any QC processes 30 containers in each hour. Together with the above time discretization method, we define a notation QCtimestep to measure the workload of a vessel such that one QCtimestep means a workload of 30 containers. For example, if vessel is of workload , then it means there are containers to be handled for the vessel. Notice that if there are only 275 but not 300 containers to be processed for the vessel, we still set since nine QCtimesteps can only satisfy 270 containers.
We partition vessels into three types by their sizes, i.e., feeders, mediums, and jumbos, where feeders are of the smallest size while jumbos are of the largest size. Considering tidal impact, we assume that only jumbos are tide dependent; that is, these vessels can only pass through the approach channel in the duration of high water level. This constraint is enforced when jumbos are either approaching the quay berth for processing or leaving the quay after processing. The other two kinds of vessels, however, are tide independent and they can pass through the channel at any time step. It is assumed as in [2] that any vessel takes one time step to pass through the approach channel. The vessels arrive at the anchorage at various time points and can only pass through the channel on or after arrival. Considering tidal rule, we assume that there are high and low water level time windows alternatively, each of which consists of six consecutive time steps. It is assumed without loss of generality that the first six time steps are of high water level.
For QC scheduling in processing any vessel, we consider the timevariant version in this work such that the number of QCs assigned to the same vessel can be different in two consecutive time steps. Compared with the timeinvariant scenario where the set of QCs assigned to each vessel is predetermined and keeps unchanged during processing [16, 21–23], the timevariant QC scheduling fashion may improve the utilization of both QCs and berth segments. As all the QCs move on the same rail along the quay, their relative positions keep unchanged all the time. Moreover, any vessel stays still during its processing. Together with the fact that each QC is of width equal to about one berth segment length, it is reasonable to assume that at most one QC serving vessel is allowed to leave for processing a neighbor vessel before completing vessel at any time step.
To illustrate the integrated berth and QC scheduling in the BACASPTC problem, we give an example with 8 berth segments, 7 QCs, and 7 vessels, where vessels , and are of small sizes and tide independent, while , and are tide dependent. As shown in Figure 2, the vertical axis denotes the berth segments along the wharf, and the horizontal axis represents the time steps, which are divided into high water level time windows and low water level time windows. Each rectangle with solid borderlines stands for the processing duration and position of a vessel, denoted by . The width of the rectangle denotes the processing time of the vessel, and the height represents its length. Each symbol within a rectangle denotes the QC assigned to the vessel at one time step. For example, the processing of tideindependent vessel occupies berth segments 1 and 2. The vessel passes through the channel in the second time step, starts processing at the beginning of time step 3, and ends processing at the end of time step 6. It then leaves the wharf in time step 7. For QC scheduling, only QC1 processes in time steps 3 and 4, while both QC1 and QC2 process the vessel in time steps 5 and 6. QC4 serves vessel in time steps 5 and 6, but it moves to serve vessel at time step 7, at which is still on processing.
Notice that it is not allowed for any two vessels that share the same processing berth segments to be of overlapped processing time steps, while this is not necessary for their setup times, i.e., time steps for entering or leaving the wharf. In Figure 2, for example, both and share berth segments 1 and 2. passes through the channel at time step 6 and starts processing at time step 7, while its preceding vessel leaves the wharf at time step 7, which is later than the entering time of . When arrives at the port at time step 6, it immediately enters into the channel taking advantage of the high water level and moors at berth segments 1 to 4 one time step later. After finishing processing at the end of time step 10, it vacates the berth segments at once and waits for two time steps to leave the quay at the beginning of the next high water time window. A similar waiting situation occurs for between time step 7 and time step 13 before it enters the channel.
There are some fundamental assumptions in the considered BACASPTC problem as follows.(1)The time horizon is divided into uniform time steps with one hour per time step, and the wharf is partitioned into equalsized berth segments with 50 meters per segment.(2)There are three types of vessels based on their respective lengths, where feeders and mediums are tide independent, while jumbos are tide dependent.(3)By the tidal rule, in every 12 consecutive time steps or equally 12 hours, the first six time steps are in high water level, and the following six consecutive time steps are in low water level.(4)It consumes exactly one time step for any vessel to pass through the approach channel.(5)For any vessel being processed, the difference in the number of its assigned QCs in any two consecutive time steps is at most one.(6)The setup time of QC, including its move along the berth line, is ignored.
4. Mathematical Formulation
In this section we establish an integer linear programming model for the BACASPTC problem. We first present basic notations and then propose the mathematical model.
4.1. Notations
Sets(i): set of tidedependent vessels, and .(ii): set of tideindependent vessels, and .(iii): set of vessels, where and .(iv): set of QCs, and .(v): set of berth segments, and .(vi): set of high/low water time windows in the time horizon, and .(vii): set of time steps, and with , where is the duration of a high (or low) water time window.
Indices(i): indices of vessels.(ii): indices of QCs.(iii): indices of time steps.(iv): indices of berth segments.(v): index of high/low water time windows.
Input Parameters(i): arrival time of vessel .(ii): length of vessel , and it is measured in the number of berth segments.(iii): workload of vessel , and it is measured in QCtimestep.(iv): the minimum number of QCs required to be assigned to vessel .(v): the maximum number of QCs allowed to be assigned to vessel .(vi): duration of a high/low water time window.(vii): the time for any vessel to pass through the approach channel, and time step.(viii): a sufficiently large constant that is commonly used in describing linear inequality constraints.
Decision Variables(i): the time at which vessel passes through the channel for processing.(ii): the start time of processing vessel . The vessel starts processing at the beginning of time step .(iii): the processing time of vessel .(iv): the end time of processing vessel . The vessel completes processing at the end of time step .(v): the time at which vessel passes through the channel and leaves the port.(vi): the departure time of vessel , and .(vii): the berth segment occupied by the stem of vessel .(viii): (Binary) equal to 1 if QC is assigned to vessel in time step , 0 otherwise.
Auxiliary Decision Variables(i): (binary) equal to 1 if vessel starts processing at time step ; i.e., , 0 otherwise.(ii): (binary) equal to 1 if vessel finishes processing at time step ; i.e., , 0 otherwise.(iii): (binary) equal to 1 if vessel is moored and processed in time step , 0 otherwise.(iv): (binary) equal to 1 if the stem of vessel is located at berth segment in time step , 0 otherwise.(v): (binary) equal to 1 if vessel is moored below vessel ; i.e., vessel is moored at berth segments with indices smaller than those of vessel , 0 otherwise. See Figure 2 for illustration.(vi): (binary) equal to 1 if vessel enters the approach channel to berth in the th high water time window, 0 otherwise.(vii): (binary) equal to 1 if vessel passes through the approach channel and leaves the port in the th high water time window, 0 otherwise.
4.2. Formulation of the BACASPTC
Objective Function. The objective function is to minimize the total turnaround time of vessels, which is one of the most studied objectives in literature [9–12].
Tidal Restriction Constraints
Constraint (2) ensures that any vessel cannot enter the approach channel before its arrival time. Constraint (3) indicates that any vessel must pass through the approach channel before starting processing. Constraint (4) guarantees that a vessel must pass through the approach channel for leaving the port after processing. Constraint (5) defines the leave time of any vessel. Constraints (6) to (9) ensure that a tidedependent vessel passes through the approach channel within a high water time window for either berthing or leaving the port.
Berth Allocation Constraints
Constraints (10) and (11) state that each vessel starts or ends processing at a certain time step. Constraints (12) and (13) determine the processing start time of vessel and its processing time, respectively. Constraints (14) and (15) determine the processing end time of vessel . Constraints (16) and (17) guarantee that vessel cannot be processed either before its berthing time or after its completion time. Constraint (18) ensures that vessel starts processing once it has been berthed. Constraint (19) guarantees that the processing of any vessel cannot be interrupted. Constraint (20) states that when a vessel is on processing, its stem must be located at some berth segment. Constraints (21) and (22) determine the berth location of vessel ’s stem. Constraints (23) and (24) denote that vessel stays still during processing. Constraint (25) shows that all the vessels must berth within the boundaries of the quay. Constraint (26) means that the total length of vessels being on processing is no more than the quay length at any time. Constraint (27) avoids the conflicting situation where two vessels occupy the same berth segments at any time step. Constraint (28) defines the variable , which is equal to 1 if vessel is moored at berth segments with indices smaller than those of vessel , 0 otherwise. Constraints (29) and (30) guarantee that only one of and equals 1.
QC Scheduling Constraints
Constraint (31) guarantees that the total number of QCs assigned to vessels at any time cannot exceed the number of available QCs. Constraint (32) ensures that each vessel must complete its processing within the time horizon. Constraint (33) makes sure that each QC processes at most one vessel in any time step. Constraints (34) and (35) guarantee when vessel is under processing, the number of QCs assigned to it must be within the range . Constraint (36) states that any QC cannot be assigned to a vessel not being processed. Constraint (37) describes the constraint of QC scheduling such that if both QCs and are assigned to vessel , then QC must also be assigned to the vessel. Constraint (38) states the relative location consistence between QCs and the vessels being processed at any time. Constraints (39) and (40) ensure that for any two consecutive time steps, the difference on the number of QCs assigned to the same vessel is no more than one.
Variable Constraints
5. Solution Algorithms
As the BAP is NPhard [24], the NPhardness of the BACASPTC problem is straightforward. For small instances, it can be solved by CPLEX or LINGO solver, in which the branch and cut algorithm is mainly employed. In practice, however, the problem cannot be solved by the exact algorithm within a reasonable time due to its large input scale. Hence, we employ heuristic algorithms to solve the BACASPTC problem with large instances. Heuristic algorithms are to seek nearoptimal solutions for optimization problems, especially in the cases with large inputs. We propose three heuristic algorithms, Genetic Algorithm (GA), Hybrid Particle Swarm Optimization (HPSO), and Hybrid Simulated Annealing (HSA) below.
5.1. Solution Representation
In implementing the three heuristics, the first step is to code any solution. We use an integer code scheme such that the code consists of subsections, corresponding to the vessels, respectively. Each subsection comprises two codes. The first code denotes the index of a vessel, and the position of the index in the code sequence represents the order of vessel berthing or processing. The second code indicates the processing time of the vessel. First, we randomly generate a vessel processing sequence. We also calculate the minimum possible processing time and the maximum possible processing time for vessel , where and . A random value within interval is then generated as the preset processing time. A code representation for an instance with six vessels is depicted in Figure 3. Notice that QC scheduling is not included in the code, which will be elaborated in Section 5.2.
5.2. Objective Value Calculation
The objective function value is used to evaluate the quality of a solution produced by any heuristic algorithm. Below we present a specific method in three steps to calculate the objective value of any given solution.
Step 1. Determine the berthing location and the time with tidal constraints in the approach channel for each vessel by Algorithm 1 to be described later.

Step 2. Assign QCs to vessels in every time step by Algorithm 2, as shown later on.

Step 3. If the assignment of QCs for vessels in Step 2 is feasible (i.e., ), then calculate the objective value of the solution where ; otherwise, set as a sufficiently large constant such as 10000, implying that the solution is unreasonable and is to be eliminated during calculation iterations of the heuristics. As the considered BACASPTC problem is of a minimization objective and the heuristics take the reciprocal of the objective value of a solution as its fitness value, so a solution with a larger objective value is more likely to be eliminated in the evolution process of any heuristic algorithm.
After the coding process in Section 5.1, a simple and preliminary scheduling scheme for the BACASPTC problem is presented, where it includes the vessel berthing sequence and the processing times of vessels. The two algorithms, Algorithms 1 and 2, determine the berthing locations, the processing start times of vessels, and QC scheduling.
In Algorithm 1, a greedy heuristic method is constructed to assign berthing locations and start times of processing vessels with the tidal constraint, based on the bottomleft binpacking heuristic in [25]. First, according to a vessel’s preset processing time in the solution together with its length, both the width and height of the rectangle can be determined, as shown in Figure 4. Secondly, the rectangle is to be placed in the timewharf plan, where point is set as the original possible location. In Figure 4(a), the original possible location for processing vessel 6 is point 1. The rest four possible locations are determined from bottom to top and from left to right. Next, the feasibility of placing vessel 6 is verified from point 1 to 5, according to the conditions in Line 14 of Algorithm 1. If vessel 6 is tide independent, it is placed in point 4, i.e., rectangle in Figure 4(b). If otherwise vessel 6 is tide dependent, then all the five points are verified infeasible and the location of the vessel is to be determined by Lines 22 to 25 of Algorithm 1. In this case, the rectangle in Figure 4(b) is the final location of vessel 6. Note that vessel 6 starts processing at time step 14 but not 13, because it takes one time step to pass through the approach channel in the high water time window.
(a)
(b)
After determining the vessel berthing locations and processing start times, we employ Algorithm 2 to obtain the timevariant QC scheduling for vessels and check the assignment feasibility as well. According to the schedule of vessels from Algorithm 1, the specific berthed vessels and the number of vessels being processed in each time step are determined and stored in sets and , respectively. The algorithm greedily assigns QCs to the vessels in each time step based on the proportions of their average workloads. The numbers of QCs assigned to the vessels in set at each time step are placed in set . If there is any vessel uncompleted in its preset processing time steps, it implies that the assignment of vessel location and the QC scheduling are infeasible. In this case the corresponding solution will be discarded in the iterations of the three heuristics. To better understand Algorithm 2, the process of solving the example in Figure 2 is given in Table 1, where the workloads of vessels 1 to 7 are equal to 9, 9, 5, 14, 14, 15, and 11 QCtimesteps, respectively. In time step 1 or the first row of Table 1, there is no vessel on processing and all the columns are of initial values or 0. In time step 2 or the second row, the numbers in the sixth column mean that vessels 1 and 2 start their processing. Columns and show their original workloads and preset processing time steps in the solution representation . So, column gives their average workloads in the three time steps, and the resulting proportions between the two vessels are given in column . In column , the original allocated QC numbers , as given in the brackets, for the two vessels are out of their allowed ranges. Thus they are replaced with their nearest available numbers of allocated QCs. That is, if the original allocated QC number for any vessel in is smaller (or larger) than its lower (or upper) bound of allocated QC number, then the number is replaced by the lower (or upper) bound. The remaining rows of the table can be similarly explained as in the second row.

The above two greedy algorithms decode a solution of BACASPTC and calculate the objective function value. Next we propose three heuristic algorithms, Genetic Algorithm (GA), Hybrid Particle Swarm Optimization (HPSO), and Hybrid Simulated Annealing (HSA) to produce optimal or nearoptimal solutions for large instances. We only present the frameworks of the three heuristics due to page limitation. For details of the heuristics, readers may refer to [26–28].
5.3. Genetic Algorithm
Genetic Algorithm (GA) is a method for tackling both constrained and unconstrained optimization problems by mimicking biological evolution in a natural selection process. Since its first introduction by Holland in 1975 [29], GA has demonstrated its broad applicability in many areas. In this paper, we apply GA to solve BAP and QCSP simultaneously. It generates an initial population of solutions or chromosomes and then repeatedly generates offspring generations by a series of bioinspired operations including selection, crossover, and mutation, which are adopted from [30]. In each evolution, Algorithms 1 and 2 are adopted to calculate the objective values as well as fitness values of individual solutions. Solutions with high fitness values are selected to form the population in the next generation. The flow chart of GA is depicted in Figure 5.
5.4. Hybrid Particle Swarm Optimization Algorithm
Particle Swarm Optimization (PSO) is inspired by social behavior of bird flocking or fish schooling. The algorithm is carried out by means of a swarm of candidate solutions or particles. According to some rules, these particles move around in the search space. The movements of the particles are guided by their own best known positions in the search space as well as the entire swarm’s best known position. As illustrated in Figure 6, the proposed Hybrid PSO (HPSO) initializes a set of particles with their original locations and objective function values in the solving space. The original locations of particles are taken as their initial individual best locations . Among the original locations of particles, the one that has the smallest objective function value is selected as the population best location . In order to seek a better location or solution, each particle location needs crossover and mutation with its own previous best location and the population previous best location , respectively. The crossover and mutation evolution operators are from the GA in the above subsection. After moving to the new location, each particle updates its , provided that the objective function value of its new location is less than the objective function value of its . Likewise, update the if the objective function value of its new location is less than the objective function value of . By repeating the above process, a satisfying solution is eventually obtained.
5.5. Hybrid Simulated Annealing Algorithm
The inspiration of simulated annealing (SA) algorithm comes from metallurgical annealing process, and it is first applied to the field of combinatorial optimization by Kirkpatrick et al. [31]. SA initializes with a solution at a high temperature , and the temperature gradually drops to a set value at a certain rate . At each temperature , the algorithm generates a new solution and measures its quality . If the new solution is better than the current , is replaced by . Otherwise, whether the current solution is replaced or not depends on a probability that is progressively decreased with the reducing of temperature . The above operations are repeated for specified times that is called chain length at every temperature . This algorithm can effectively avoid being trapped in local minima and is able to explore globally for optimal solutions. In this work the Hybrid SA (HSA) combines the search mechanism of simulated annealing algorithm with genetic operators such as crossover and mutation when a new solution is generated. The flow chart of HSA is given in Figure 7.
6. Computational Experiments
In this section, a series of computational experiments are conducted to evaluate the performances of the proposed heuristics and demonstrate the impact of tides in the integrated scheduling of berth and QCs. First, we compare the performances of the three heuristics with the exact solutions obtained via CPLEX for small instances. We then make comparison between the heuristic algorithms for large instances. Moreover, we analyze the tidal influence on the processing schedule of vessels and the utilization of berth and QCs.
We first make selections on the parameter settings for the heuristics to enhance their experimental performances. To carry out the preliminary test, five instances are randomly generated from a small size scenario , and five instances from a large size scenario () = (30, 30, 15, 120). For all the heuristic algorithms, the various combinations of their parameter candidate values are tested on the 10 instances. The parameter values in the best parameter combinations are listed in Table 2 and adopted in all subsequent computational experiments. The three proposed heuristic algorithms will be terminated if one of the following termination criteria is met: the number of generations or the terminal temperature is reached; the quality of the solution is not improved in 50 consecutive generations; and the running time exceeds 2000 seconds.

The computational experiments are conducted using a PC with Intel Core i74700 3.4 GHz processor and 16 GB RAM. The algorithms are coded in Matlab R2014b, and the BACASPTC model is solved with CPLEX 12.6 called by Matlab. In accordance with [32], the heuristics run each instance 10 times, and the best results among the 10 runs are reported.
6.1. Instance Generation
Following the fundamental assumptions of BACASPTC, the duration of any high/low water time window is equal to 6 time steps. For the three types of vessels, feeder and medium are tide independent, while jumbo is tide dependent. In accordance with [18], the detailed information of vessels in any instance is listed in Table 3, where the workload of a vessel is in units of QCtimestep. For example, the workload of a feeder varies between 10 and 20 QCtimesteps. The interarrival times of vessels are exponentially distributed with a mean of 2 time steps, as in [33].

6.2. Algorithm Performance Evaluation
6.2.1. Small Instances
For small instances, the wharf length, the number of available QCs, and the planning horizon () are set as (12, 8, 42). For two cases with