1. Introduction
Over the years, container terminals have become one of the most representative logistics facilities in global freight transportation. The increasing number of containers and vessels introduced new issues to port management and resource scheduling because of scarce land, high labor cost, and limited technical equipment. In such a situation, operational efficiency can be achieved through the performance of managerial tools. Several studies investigated container terminal operations [
1]. The berth allocation problem (BAP), the quay crane allocation problem (QCAP), and the scheduling problem (SP) are the topics that are most studied [
2,
3,
4,
5,
6,
7,
8,
9,
10]. These three problems have been investigated as an integrated problem [
11] that is known as the berth allocation, quay crane allocation, and scheduling problem (BAQCASP). Recently, researchers have progressively paid attention to BAQCASP [
11,
12], highlighting the importance of an integrated solution for container terminal operations.
The quay crane assignment (QCA) has been identified as the main operation for efficiently conducting BAQCASP. An optimal QCA can provide a great solution to BAQCASP, an essential component of container terminal performance. On the one hand, the performance rate of the quay crane is usually given in advance, which is a sub-problem of the container terminal operation. On the other hand, the container terminal performance is unknown. The quay crane performance depends on features such as YTTs and quay crane operators (QCOs). The YTTs highly affect the quay crane performance rates. A poor deployment of the yard truck extends time that is related to the quay crane operation and then minimizes the performance of the container terminal operations [
13,
14]. The operator productivity is a random feature depending on the industrial environment. Ref. [
15] evaluated the operators’ performance in different industrial systems by considering the same characteristics, behavior, and productivity rate. Ref. [
16] investigated the optimal flow-line conditions based on human performance with worker variability. The results show that the optimal throughput is related to worker learning and productivity.
The worker performance is completely random. The senior workers have some experience, junior workers need experience, and some are more quickly qualified than others to safely handle containers. In other words, the kill performance variates from one worker to another. Ref. [
6] noticed from a dataset that the variance of the worker’s performance is 10.22 lifting containers per hour. Moreover, the dataset shows that the human factor should not be neglected in the managing system since 97% of container terminals worldwide are not automated [
17].
The studies that are mentioned above are deterministic and cannot solve large-scale datasets with realistic results. The human factor should be considered for quayside operations, berthing allocation, and quay crane scheduling problems. The resulting formulations are highly complex and thus not solvable using commercial software. Heuristic models have been proposed to solve quay crane, berthing allocations, and the scheduling problem [
9,
18,
19,
20]. The particle swarm optimization (PSO) algorithm has been used to optimize the berth allocation solution since the berth allocation problem is an NP-hard problem [
21]. Due to the complexity of the problem that is involved in this study, the PSO algorithm is used to build the solution. The PSO algorithm is a popular random search method that is influenced by the social behavior of bird flocks and has been used for several optimization problems [
22,
23].
This study proposes a new formulation problem as mixed-integer linear programming (MIL). The objective function minimizes the sum of departure time that is related to all the given vessels. Then, a lower bound is found using an efficient computational method. Hence, a constructive heuristic and the PSO algorithm are proposed to optimize the solution using a random search-based model to deal with the multi-variable and large-scale samples. Finally, a case study is conducted in Dar es Salaam port using a dataset that is provided by a multinational company managing the container terminal. Moreover, a decision-making tool is released to be helpful to the company that is managing the container terminal. The tool provides a scheduling method and illustrates the managerial implications and the influence of worker performance and yard truck deployment on the BAQCASP.
This study is organized as follows: First, the literature review is introduced in
Section 2.
Section 3 presents the problem that is addressed in this study.
Section 4 presents the mathematical model.
Section 5 shows the proposed solution.
Section 6 presents the results.
Section 7 summarizes the results that were obtained in this study.
2. Literature Review
Researchers focused on quay crane allocation, quay crane scheduling, berth allocation, and yard truck deployment in container terminals [
13,
24]. The BAQCASP includes the four sub-problems that are mentioned above, that are considered in this study. However, in the literature, those sub-problems are studied separately without any correlation. Ref. [
25] proposed a modeling approach to study the quay crane schedule problem (QCSP) that was based on minimizing the vessel’s discharge operation sequence. Ref. [
3] combined the quay crane allocation problem (QCSP) and the QCSP and solved the problem using Lagrange relaxation (LR). Ref. [
26] combined the BAP and the QCAP based on a set portioning model and column reduction approaches. Ref. [
24] proposed an optimal solution for merging the BAP and the QCAP through the quay crane setup time. Ref. [
27] introduced a valid inequalities solution for the BAP and QCAP. Later, Ref. [
28] developed a column generation (CG) algorithm to combine the BAP, QCAP, and the yard assignment problem.
Regarding the BAQCASP, very few researchers focused on this problem. Ref. [
29] introduced a framework that was related to the BAQCASP using a three-phase heuristic framework, including the quay crane productivity rate. Ref. [
11] implemented the BAP, QCSP, and QCAP using a rolling horizontal metaheuristic (RHH) algorithm that was based on the branch and cut algorithm. Ref. [
30] established an integrated mathematical solution combining the BAO, the QCAP, and the QCSP. This study considers the worker performance variability and the yard truck deployment with the BAQCASP.
Furthermore, several studies have focused on worker assignments. Ref. [
31] studied the worker allocation model by introducing windows to optimize the travel distance, the time spent, and the number of operators. Ref. [
32] introduced a constraint-satisfaction approach to solve worker scheduling problems. Refs. [
33,
34] proposed an improved constraint satisfaction model to solve the workers scheduling assignment. Ref. [
35], based on an a priori crane productivity rate model, considered the workforce gangs to solve the berth allocation problem. Ref. [
36] demonstrated that the optimal human factor could increase productivity. Ref. [
37] developed the QCSP using different quay crane productivity rates. However, the studies that were mentioned above neglected worker performance and allocation as the main parameters of the BAQCASP.
Recently, truck scheduling and the deployment topic have gained literature attention. Ref. [
38] coupled constraint and heuristic models to solve the yard truck scheduling problem and the QCSP. Ref. [
39] introduced a coupling method that was based on a genetic algorithm and a greedy approach to simultaneously solve the QCSP and truck scheduling problem. Ref. [
40] proposed an iterated greedy method to implement the solution to the yard truck scheduling problem. Ref. [
41] integrated the QCAP and the yard truck assignment to the container terminal solution using Lagrange relaxation and a sub-gradient heuristic approach. Despite this interest, the influence of the yard truck deployment on the BAQCASP is unclear.
This study proposed an optimal solution for the BAQCASP, including the yard truck deployment and worker performance.
Table 1 presents the most impacted literature that are associated with this study. Several probability approaches have been introduced to the container terminal scheduling problems, such as genetic algorithm, Lagrange relaxation, and the rolling horizontal heuristic models. This study used a MILP and PSO algorithm for its simplification and efficiency.
3. Problem Statement and Assumptions
Let’s consider a planning horizon with interval periods ; container terminals can accept a set of vessels , and an approximated arrival time is attributed to each vessel. Generally, firsthand, the quay area is distributed into a series of discrete quays and corresponding berth components . A vessel can be partitioned into vessel bays . Each vessel bay is allocated to one single berth area. The number of containers that are assigned to each vessel bay is defined as a storage scheme.
On the other hand, the BAP allocates the berth areas to the given vessel and defines the departure time. A set of quay cranes is distributed along the quay through the berth area. The QCAP consists of allocating the quay crane to operate the workload in every berthing vessel. The QCSP program the timetable of each quay crane that is associated with every vessel.
A vessel assignment is driven through three main resources: quay cranes, quay crane operators, and yard trucks. A set of quay crane operators drive the quay crane . A set of yard trucks achieve the land transportation of each container. The quay cranes are not usually accessible for the entire planning horizon. Every day, a planning model for each quay crane is defined for preventive maintenance. As a result, information on QC’s expected stops during the planned horizon is available. Box units process containers; however, cranes are assigned by task/bay to handle them. A QC is allocated to process containers on a particular bay. The processing rate of QCs corresponds to the number of containers that are processed by one QC on a single bay over a given period. Preemption is not authorized within a period, but this is allowed between periods.
Similarly, a QC can process several containers on a bay for some time j, then transfer to another bay for period j + 1. However, the first bay is still processing containers. On the other hand, processing operations cannot be postponed for a certain amount of time. There are wo resources that determine the processing rate of QC: The QCO in charge of it and the number of yard trucks (YTs) that are assigned to serve it. The YTs are separated into subgroups and assigned to one of the QCs. The number of YTs in a subgroup and the number of actions that are done by each YT every period determines the subgroup’s performance. As no additional operator abilities are required for YT operation, we presume that YT operators have the same productivity level. Yard cranes are similarly assumed not to affect YT productivity.
Furthermore, it is presumed that YTs can only carry one container. The unique issue of transporting multiple containers is outside the scope of the suggested approach. In addition, we accounted for the long-term processing rate of trucks by taking the average processing times and assuming that this rate is independent of their travel length. A QCO that is assigned to run QC can also make a certain number of moves in a particular time. We assume that the delay time that is required by QCOs to change is insignificant in the model. There are two resources that support the QC system: QCO and the YTs subgroup. According to the theory of constraints, QC performance will be determined by one of the system’s weakest links (bottleneck). For example, if QCO exceeds the YTs subgroup, QCO will wait for YTs to arrive.
Moreover, while allocating QCOs to QCs, it is critical to consider their performance, as high-performing QCOs are better suited to QCs that are located on bays with high load conditions and complexity. Other elements, such as the type of containers to handle, may also impact the production rate of QCs. However, it is not taken into account in this paper. We even assume that all the containers are processed at the same level. However, as discussed in
Section 1, QCO handling rates differ, and an operator can surpass other operators when managing QCs. Due to this, integrating worker assignment with the BAP, QCAP, and QCSP is critical, as how workers are assigned impacts the QC processing pace.
Furthermore, the assignment must consider worker availability, particularly when QCOs work according to a predetermined schedule. In actuality, they are split into three shifts of eight hours. Each operator must take a two-hour break every two hours of work during these eight hours. Furthermore, the number of deployed YTs has an impact on QC performance. We can reach optimal QC performance by allocating many YTs; nevertheless, this might result in a congestion situation.
Additionally, the quantity of YTs that are accessible in CT is restricted. The largest number of YTs in the subgroup that is assigned to QC is specified to prevent congestion in the quay area and follow CTs safety guidelines. As a result, YT deployment decisions must be addressed in tandem with other issues. Working with YT deployment and worker allocation is important since both influence the QC execution rate. In addition, YTs should be allocated following the competence of operators. For instance, if a QC has a low-performing worker, fewer YTs should be allocated; otherwise, more deployed YTs will lose productivity because the weakest worker dictates the QC processing rate in this situation and vice versa.
The BAQCASP can be seen as an NP-hard problem. Due to its computational cost, researchers have built a heuristics model to solve the BAP and QCA in the literature. These heuristic methods considered the genetic algorithm to solve BAP issues, genetic algorithm [
42,
43], ant colony optimization [
44,
45], variable neighborhood search [
46], and greedy randomized adaptive search procedure [
47]. This study uses the PSO model to solve the BAQCASP problem. This simple approach involves fewer control parameters than other metaheuristic models such as genetic and colony optimization algorithms. The proposed PSO algorithm is developed in
Section 5.
4. Mathematical Model
The model that is proposed by [
11] is considered to discretize berth location and the time horizon. Due to the efficiency of the berth location solution that is related to the case of lot-sizing problems [
11,
48], the discretization of the berth location and time horizon are performed with a high level of efficiency in the case of port operations. This discretization enabled the removal of big-M constraints that were previously identified as insufficient and resulted in poor linear relaxation of lower bounds. The comparison analysis shows that discretization proposes the highest level of performance. The results show that the difference between the discretization constraint and without discretization constraint model is 85.6%. In this study, this discretization form is adopted.
4.1. Notations
Below are the notations that are used to describe the problem in terms of set, parameters, and decision variables.
Sets
represents the set of the quay cranes indexed by .
denotes the set of the vessels indexed by .
defines the set of the operators indexed by .
describes the set of the periods for planning horizontal indexed by
represents the subset of the including periods indexed by
denotes the subset of the containing the periods indexed by .
describes the set of berth areas indexed by .
represents the subset of the set , including the berth areas indexed.
Parameters defining the vessel data
represents the maximum number of berth areas that can be allocated to a vessel .
is the arrival time of each vessel .
denotes the number of containers moving to the bay from the vessel .
represents the length of each vessel according to tahe number of occupied berth areas.
Parameters defining the vessel data
defines the processing rate of each operator
.
Parameters defining the yard trucks
represents the number of available yard trucks at the period .
represents the maximum number of yard trucks that could be allocated to one quay crane.
denotes the processing rate of the one-yard truck.
Parameters defining the quay cranes
represents the maximum processing rate of one quay crane at each period.
Decision variable of the berthing position
represents the berth position of each vessel .
Decision variable of the berthing time
represents the berthing time of each vessel .
denotes the departure time of each vessel
.
Decision variable of the resource assignment
represents the number of yard trucks that are deployed to serve the quay crane at the time period .
Decision variable of the container processing
Decision variable of the container processing
represents the number of containers transferring in vessel at berth area .
denotes the number of containers that are remained to move in vessel at the berth area at the beginning of the time period .
represents the processing rate that is executed in berth area on the vessel at the time period .
refers to the processing rate that is executed on the berth area through quay crane at the time period .
represents the processing rate that is executed over the quay crane at the time period
4.2. Model Formulation
The objective function that is aimed to minimize the summation of the vessel’s departure times is written in Equation (1). Every vessel
has a corresponding arrival time,
.
represents the current time that is assigned when vessel
serving starts.
refers to departure time. As a consequence,
denotes the waiting time,
refers to the service time, and
refers to the complete time spent by each vessel
in the port area. In this study, the departure time
is minimized such as:
Constraints that are related to the berth allocation
Equations (2)–(4) guarantee that each pair of vessels must not overlap in time or space. Equation (5) ensures that a vessel is not supplied before its scheduled arrival time. Equation (6) restricts the number of vessels that can berth in a given location.
Constraints are associated with space discretization. The parameters
and
are introduced to discretize the space variable
.
Equation (7) is associated the discretizing parameter
to the space variable
.
Equations (8)–(14) are introduced to evaluate and associate the variables , , and . Equation (8) ensures that for each vessel , the first berth position should be allocated. Equation (10) guarantees vessel can be allocated to the first berth section , but should not be assigned to the berth section . Equation (11) ensures that the vessel is allocated to the berth section , but can be seen as its lower berth position. Equation (14) guarantees that the first berth position of the vessel is lower compared to the vessel . This is attached when since and .
Constraints that are associated with time discretization. The parameter
and
are introduced for discretizing the time variable
.
Equation (15) associates the parameter with the time variable . Equation (16) associates the variable with the departure time . Equations (17)–(22) are introduced to evaluate and associate the parameter , , and . Equation (17) ensures the first serving period is allocated for each vessel . Equation (18) guarantees that each vessel can be supplied at the time period , not at the time period . Equation (19) guarantees that each vessel is supplied at the first period for the first berth period. Equations (20) and (21) ensure that confirmed if or . Equation (22) guarantees that if and vessel is supplied at the period , the vessel should be supplied outside the interval .
Additional tightening and time inequalities. Equations (23)–(27) enhance the model by adding a new binary tightening parameter
to discretize the variable
. Equation (29) represents the time valid inequalities associating the variable
with the variable
and
.
Constraints that are related to the worker assignment with QCAS. According to the technical finding, this section supposes that when the quay crane is under maintenance, it remains on the rail and is declared unviable. Equation (30) guarantees that the QC is allocated precisely to the berth section through the quay. Equation (31) guarantees that the berth section is allocated at only one QC. Equation (32) is introduced to prevent QCs from crossing each other. The crane’s position
is associated with the berth section
for a time period
(
). Equation (33) ensures that when the QC is not available and not positioned in the berth section, it cannot be allocated to work at the current berth section at a given period. Equation (34) guarantees that a QC is allocated to one operator. Equation (35) ensures that an inactive QC is not allocated to any operator at the given period. Equation (36) guarantees that the QC cannot run if the operator is unviable. Equation (37) guarantees that the QC is inactive if the YTs are not assigned. Equation (38) guarantees that an operator is assigned to one QC if the operator is available. Equations (39)–(41) describe the allocation of the berth section to the vessels. Equation (42) guarantees that the vessel
is allocated to a QC before arrival. Equation (43) guarantees that if an active QC supplied a vessel at a given time period, that vessel remains until the end.
Constraints that are related to the yard truck deployment. Equation (44) guarantees that the number YTs that are deployed to a QC does not overpass the largest allowed ones. Equation (45) guarantees that the number of YTs that are deployed to every allocated QCs does not overpass the number of available ones.
Constraints that are related to the QC productivity. Equation (46) guarantees the processing rate that is associated with the QC at a given period is lower or similar to the processing rate of the operator that is allocated to run that QC. Equation (57) ensures that the processing rate that is related to the QC is lower or similar to the total processing rate that is associated with the trucks that are deployed to supply it. Equations (48)–(50) are introduced to compute the processing that is executed in a particular berth section using the processing rate of the assigned QCs. Equations (51)–(53) are introduced to evaluate the processing rate that is executed on the berth section that is related to each particular vessel. Equation (54) sets the value that is associated with the workload on the berth position according to the vessel’s berthing section and workload distribution. Equation (55) ensures that the vessel should be managed within the time horizon. Equations (56) and (57) set the number of the rest of the workloads to operate at the starting period for each vessel and the berth section. Equation (58) guarantees that no QC is allocated to a berth section at the given period if the remaining workload is zero at the berth section.
Constraints that are related to the ranges of the variables. Equations (59)–(61) guarantee that the given variables are binary. Equations (62) and (63) guarantee that the given variables are positive.
4.3. Lower Bound for BACSP-WA-YTD
The mathematical model that is discussed above requires a lot of computational time for even small and medium scale instances. As a result, it was unable to offer solutions in a reasonable amount of processing time, particularly for big and medium cases. Furthermore, it is challenging to estimate how close the optimum might be. As a result, we look at the possibility of identifying a verifiable lower bound for this issue. In the follow-up, it is defined an expression determining a lower bound that can be used to place limits on the sought-after ideal serving times. The proposed lower bound is denoted by the formula that is expressed as follows:
The objective function is the total of all served vessels’ completion times. The model defines a vessel completion time as the period of time during which all of the vessel’s bays have been served, which corresponds to the completion time of the bay that took longer to process.
By assuming that the serving time of the bays is hastened in the best possible way, a lower bound on the completion time can be obtained. The highest performing resources are allotted to all vessel bays, and the boats are served as soon as they arrive, in this ideal scenario example. The best value of completion time will never be smaller than this value because it represents the best case that can be realized, thus, if it is assumed that the productivity rate of all QCs is constant and equal to the best QC rate, this will be considered as the lower bound to bay completion time.
To obtain the lower bounds as also studied by [
49]. In this study, the formula that is suggested in Equation (64). illustrates these findings. The value
represents the operators with the best productivity rate. Accordingly, the formula assumes that the rate of QCs will be equal to
. As a result, the amount of time that is needed to serve each bay
of vessel
is the number of containers
to be handled on this bay divided by the QCs constant rate. By adding this result to the vessel’s arrival time, we get the lower bound of the completion time of vessel
.
5. Proposed Solution
5.1. Particle Swarm Optimization
The PSO algorithm that is introduced through the social habits of the bird flocking follows the stochastic search technique that is proposed by [
50]. The PSO algorithm is a popular optimization method that has been used for reactive power and voltage control [
51], order assignment issues [
52], and machine scheduling assignment [
53,
54]. Compared with the genetic algorithm, the PSO algorithm is simple to implement, allowing parameter control and adjustment.
The PSO algorithm can be simplified: initialize a population randomly along the space. Each random particle contains an initial velocity. The localization of each particle can be modified (adjust the velocity) based on its own previous searching experience (the previous optimal, pOpt), and further particle searching experiences (global optimal, gOpt). The weight value is added to update the velocity value randomly, with different random number sets for generating the acceleration toward the optimal solutions, pOpt and gOpt that are related to each iteration. Assuming that the search space consists of D-dimension, position, and the velocity of the particle at the current iteration is defined as and , respectively. The general procedure describing the PSO algorithm can be summarized as follows:
- 1.
Initialization. Generate a population randomly for the predicted solutions, known as particles. Each particle is labeled with a randomized velocity.
- 2.
Evaluate and update the optimal positions. Calculate the target fitness function.
Perform a comparative analysis between the fitness of each particle with its pOpt. If the actual value is better, update the pOpt.
Perform a comparative analysis between the pOpt of each particle with the gOpt, if the pOpt is better, update the gOpt.
- 3.
Update the velocity. The particles fly along the hyperspace and update their velocities. The position and the velocity of the particle are updated as follows:
in which
refers to the new particle velocity,
represents the current particle velocity,
denotes the optimal previous position of the given particle
in the D-dimension,
represents the optimal position in the D-dimension detected for all the particles,
refers to the inertia weight;
and
represent the learning factor; and
and
denote the random numbers between
and
defining the stochastic parameter of the PSO algorithm.
- 4.
Termination. Stop the iteration if the desired criterion is met; repeat from (2) otherwise.
This study applies the PSO algorithm to solve the BACASP with worker assignment and yard truck deployment over an iterative searching procedure. The PSO algorithm is introduced to encode the solution and estimates the performance quality of each solution over the objective function that is shown in Equation (1).
5.2. Particle Representation and Initial Solution Generation
Solution encoding is an essential step in ensuring the PSO convergence. The BACASP with worker assignment and yard truck deployment includes many decision variables that are associated with BAP, QCAP, WA, and YRD. The are seven vectors that are introduced to define the primary decisions based on the BACASP with worker assignment and yard truck deployment for the encoding process that is used in this study. The vectors can be identified as , , , , , , and . The meaning of each decision variable can be defined as follows:
represents the service starting time of vessel ; refers to the vector orders the vessels using service priority from the less before the most prior; if , the left berth position of the vessel . if , the right berth position of the vessel ; denotes the index that is associated with the quay crane that is working on the berth section at the period : if there is no quay crane at the berth section or the quay crane is positioned at the berth section is not working at period . refers to the index that is related to the quay crane that is assigned to the operator at the period : if there is no quay crane assigned to the given operator; represents the number of yard trucks that are deployed to supply the quay crane at period : if there is no yard truck allocated to the quay crane at the period .
In creating the PSO algorithm, the solution representation is the main concern. The string or real numbers can represent it. The vector orders the vessel by service priority from less before the most prior, represented by vector , is first constructed based on the first arrived is the first served rule. To implement the relationship between the number of vessels corresponding to the berth allocation issue and the PSO algorithm, in this stage, the solution representation is expressed as real number informing the distribution in the interval of describing the solution in the form of an array of the cell, in which represents the number of vessels and the number of berth sections. The interval of is introduced as a boundary constraint of the particle position to ensure that the decision variables are in the workable region. The integer part of the real number represents the berth section that is allocated, while the fractional part denotes the processing order of the vessel on each berth section. The vessels are divided into a group according to the berth section in which they are assigned. From the real number encoding, a vessel with a lower number is scheduled before the vessel that is labeled with a higher number. The matrix distribution representing the berth section that is based on the first arrived is first served is expressed as:.
Figure 1 illustrates the particle representation for the berth assignment issue with six vessels and two berths. The dimension’s particle is encoded using a real number of the interval
; the integer value denotes the berth section to which the vessel is assigned. The fractional part describes the sequence of the vessel. The vessels are assigned to their positions by taking into account the defined priority, i.e., the matrix
representing vessels
will be supplied using berth
Section 1 while vessels
will be served by berth
Section 2. By ordering the decimal values in ascending form according to the arrival time, the vessel
should be the first one that is moored at berth
Section 1, followed by vessel
and vessel
. In the same way, the sequence of vessels that are moored at the berth
Section 2 is
,
, and
.
The QCs that are required to operate each busy berth section can then be determined using the vessel’s berthing positions as listed in [BV]. Busy berth sections in a vector LP indicate which berth sections are occupied at that time can be stored for each time. QCs are allocated to randomly chosen busy berth sections if there are more busy berth sections than QCs; the other busy berth sections are not allocated to any QC. If there are busier berth sections than QCs available, the QCs are distributed randomly to the busy berth sections.
As a result, we create the matrix that demonstrates if a QC manages a berth portion. The remaining QCs that weren’t assigned are given randomly chosen positions in the matrix that respect the non-crossing criterion. The matrix is then finished. Then, based on two factors, people are assigned to running QCs. The first is based on how well the available workers perform, and the second considers the workload in the bay. For instance, the worker who performs well will be placed in the busiest berth portion of the QC. This assignment technique is consistent with our argument that placing a competent operator in the busiest berth will improve the terminal’s performance.
A YTs group is assigned to each designated QC in the following phase. YTs are distributed according to how well the operators perform. Fewer YTs should be allocated to a QC if given to a low-performing employee; otherwise, there would be congestion and a consequent loss of production. QC1 and QC2 might be assigned to drivers who can work at 39 and 26 miles per hour, respectively, and there are 13 YTs who can operate at 5 MPH. To match the capacity of YTs to one of the QCs that depends on the operator’s efficiency, it is preferable to assign eight YTs to QC1 and five YTs to QC2.
5.3. Local Search
Local search is used in each iteration to raise the caliber of the solutions. The local search will only be used on the best particle that is discovered in this iteration because it is a time-consuming PSO technique. There are three steps that comprise the local search technique that is used in this study: vessel interchange, crane insertion, and operator interchange.
5.3.1. Vessel Interchange N1
These two methods, which are based on the outcome that is shown in
Figure 1, are shown in
Figure 2. The swapping examines all of the feasible swapping pairs inside the same berth and chooses the optimum improvement to exchange their values, as illustrated in
Figure 2, given a list of the vessels that are handled by berth j
Figure 2a. Two ships in two separate berths (one for each berth) are randomly chosen for the changing of two ships in two berths. These two vessels shift their locations. The optimum improvement to exchange is chosen once the swap results have been examined, as illustrated in
Figure 2b.
5.3.2. Crane Insertion N2
QCs are given a maximum duty on berth portions for various moves in this neighborhood. These actions assist in locating appropriate QC assignments to manage the situation where there are fewer available QCs than occupied berth sections. To do this, we choose a time period, t, at random for each neighborhood N2 iteration using a decision tree method as illustrated in
Figure 3. Looking for a berth portion, designated
, that is occupied but does not have a QC. The berth portion is either chosen at random (with True) or as the busiest berth area on the quay (False). When the berth section
is chosen, a QC is chosen, c, and positioned on the berth section
. The QC must adhere to the non-crossing requirement if it moves to the berth section. If there are two options, we provide a probability of
= True to choose a QC that is allocated to the berth section, which is less busy.
Cranes should not cross each other for every generated solution in neighborhood N2, which indicates that no crane insertion will be made and doing so will cause the cranes to cross. Every time a crane is chosen to be put at a specific Neighborhood N2 iteration, we first ensure it won’t collide with any other cranes. If so, the move will be made and go to the following iteration. The number of iterations that fail to improve or are impractical serves as the variable neighborhood search (VNS’s) halting criterion. Move to the next neighborhood if suitable crane insertions cannot be found after a predetermined number of unsuccessful or impossible repetitions to ensure diversity. Then, due to the used diversification, there will be additional opportunities for viable crane moves when returning to neighborhood N2 of crane insertions.
5.3.3. Operator Interchange N3
There are two different movements that are executed in this process with an equal probability at each iteration. When there are more than two busy berth sections during this period, choose the period randomly and the berth sections with the longest and shortest processing times. They are designated and , respectively. Consider that the operator that is designated for is less effective than the operator that is designated for . There are two different movements that are executed in this process with an equal probability at each iteration. When there are more than two busy berth sections during this period, choose the period randomly and the berth sections with the longest and shortest processing times. They are designated and , respectively. Consider that the operator that is designated for b′ is less effective than the operator that is designated for . At that moment, the operator that is already assigned to is scheduled to be inactive. The same deployed trucks should be kept to that QC when an operator is assigned. This type of maneuver aids in resolving the issue of congested berth sections since the busiest (congested berth section) will be managed by a higher performance rate. Giving a chance of 25% for random picks is also beneficial for widening the search space and preventing the deterministic selection approach from being quickly caught in a local optimum.
6. Results and Discussion
In this section, the PSO algorithm is conducted by evaluating the performance. The models were solved through CPLEX (Version 12.9). All the tests were conducted in Python programming language using Intel, Core i7,
[email protected] with 8-GB RAM. A comparative analysis between the PSO algorithm, the MILP model that was developed in
Section 4, and the tabu search (T
2S) [
55] was conducted to show the effectiveness of the proposed solution.
6.1. Design of the Instance
The site project for application concerns the Dar es Salaam port that is located in Tanzania. Tanzania Ports Authority has a capacity of 4.1 million dry cargo and 6.0 million bulk liquid cargo (
https://www.ports.go.tz)(accessed on 1 January 2021). Dar es Salaam port has a total quay length of 2.6 km with 11 berths at the main quay. The container terminal has a full quay length of 540 m and is operated by the Tanzania International Container Terminal Service (TICTS). The TICTS manages the container handling activity at berths 8 to 11.
The design of a different set of instances can be built based on actual scenarios that were taken from a terminal database that was specifically dedicated to container transshipment procedures. The proposed instance design attempts to confirm different scenarios that might take place in real-world situations. The planned instances have varying scales because practical situations are typical of different sizes.
As shown in
Table 2, the instances can be defined into four sets containing various numbers of served vessels, V. The small number of vessels (2, 3, and 4) describe the first three sets of instances, while the other three sets of instances describe the medium number of vessels (8, 10, and 12).
Furthermore, different vessel workload conditions can be taken into account. Real-world data served as the foundation for this. In fact, according to the container terminal partner database, ports occasionally serve low-workload vessels that could spend a few hours at the quay. The number of containers that are handled at the real port may be tiny despite the size of these boats, or vice versa.
Different container loads are considered for each group of instances based on these real-world conditions. In reality, large vessels with a large capacity for carrying containers exist, and small ones with a smaller workload. Additionally, these vessels’ workload is occasionally handled outside the same terminal, though a sizable amount of the carried freight may be handled within the terminal. There were two types of workload that were considered to demonstrate all of these scenarios. The first group is an example of a situation where no more than 500 containers are handled by each vessel. The second scenario considers a load of 500–2000 containers. The average of the workloads of all the vessels is used to compute the workload, for instance. Additionally, two different planning perspectives for each category were considered: 24 and 48 h.
The length of the scheduling horizon and the number of QCs affect the number of operators in each instance. For instance, 20 operators must complete 10 QCs in 48 h because a third of the operators will be taking breaks every hour. There are between 8 and 11 berth places in this scenario. An interval of 40,200 number of yard trucks are available for each period.
6.2. Computational Results
Setting parameters is important to improve the proposed PSO heuristic’s performance and robustness. Finding a suitable parameter setting that provides generally good results across most instances, even if they weren’t the best settings for all instances, requires a set of exploratory trials. The number of particles , the number of iterations , the inertia weight , and the learning factors and are the control parameters for our PSO method. According to the preliminary trials conducted, the following parameter settings result in the optimum solution quality: , , , . Each instance is performed 40 times, providing the best solution and the average computation time.
A comparison analysis is performed to evaluate the proposed solution’s performance and efficiency. The
model is described in
Section 4, and the
model is used to test the proposed model. The results that are related to each algorithm and computational time are reported in
Table 3. It can be observed from
Table 3 that the proposed solution can generate the feasible solution in the present scenario. The
used, on average, 5.7s for each instance when considering vessels carrying small containers (0–500). The
model used on average 210 s for each instance, and the
algorithm used on average 80 s when considering vessels that were transporting a small number of the container. That means the
algorithm is 86% and 62% more time-saving than
and
solutions, respectively. Additionally, the
solution is 73% and 53% more time-saving than
and
models, respectively. The computational results provided a preliminary indication of the suggested algorithm’s effectiveness. The suggested method did not seek the accurate results, but rather the upper and lower bounds due to the complexity of the model. A comparison study is performed to assess the results that were provided by the PSO model. The MILP algorithm is first tested as introduced in
Section 4 and the T
2S algorithm is considered. Unfortunately, the MILP and T
2S solutions are more time consuming than the PSO model. Take into account a sped-up MILP, represented by TS, where the PSO model’s feasible solution served as the MILP’s initial upper bound. Additionally, the PSO results are contrasted with the lower bound that was created for the issue in
Section 4.3 where neither MILP nor T
2S models offer good lower bounds to take into consideration as a reference.
Results of PSO tests conducted on each instance are shown in
Table 4. The upper bound (UB) and lower bound (LB) that are provided by the solution after a running period of 2200 s for both T
2S and MILP and 800 s for PSO are denoted in the T
2S and MILP columns by the symbols UP and LB, respectively. The difference between the best UB across T
2S and MILP upper bounds and the viable PSO solution is indicated by dv1. The best lower bound that is discovered by Equation (67) (Column LB of
Table 4), MILP, or T
2S is then compared to the PSO result. The PSO result is compared to the best lower bound that is discovered using these four approaches. By computing the deviation dv2, as in Equation, the comparison is made Equation (68).
6.3. Parametric Analysis
The parametric analysis is introduced to study the influence of the worker assignment and the yard truck deployment on the proposed scenario. Hence, three different cases are considered such as:
Case 1: The suggested paradigm, with YT deployment decisions relaxed, serves as the foundation for the PSO-YT model. As a realistic general rule that is used in container terminal design, YT deployment is provided as an input parameter to the model and determined as the average of available YTs that are deployed to each QC.
Case 2: The PSO-WA model relaxes worker assignment. The average productivity level determines every operator’s productivity in this model. As a result, no worker performance metric is taken into account.
Case 3: It is necessary to consider the performance of both trucks and workers as inputs to construct the MILP-WA-YT model, which relates to the fundamental model in which the two proposed parameters (WA and YT) are not taken into account.
Table 5, derived from the data, shows the real difference between all the PSO scenarios with various cases. For instances I
11, I
23, and I
31, solving without taking YT decisions into account has a small influence on the results; however, when WA decisions are neglected, the objective functions deviate by 7–18%. This result shows the importance of taking into consideration WA decisions. Leaving out YT decisions has a greater impact on the gaps in the cases I
21, I
32, and I
33. I
12, I
13, and I
22, eliminating YT and WA separately, impacted the gaps for the occurrences. These results highlight the influence of the two main parameters (WA and YT) on the overall effectiveness of the planning and demonstrate that the solution value is negatively impacted by ignoring either YT or WA options.
Due to the strong relationship between the two parameters (WA and YT) and crane performance, their influence might fluctuate and are mixed depending on the type of data and the planning context. For instance, the value of integrating WA choices increases when there is a substantial variance in the operators’ output. The same is also true in the case of YT. The two parameters (WA and YT) have a real impact.
In conclusion, it has been found that integration offers superior solutions than distinct decision-making procedures. Making decisions regarding resource usage and deployment simultaneously gives the model more latitude to find effective arrangements for YT deployment and worker assignments that define a more precise productivity rate of QCs.