Optimization of Quay Crane Scheduling Constrained by Stability of Vessels Junjia Wang, Hao Hu, and Yuanbin Song widely referred to (3). They defined the task as a cluster of containers in a bay. The objective was to minimize the makespan and the total completion time for all quay cranes. In the model, quay cranes could not cross each other because they were on the same track. Some tasks could be handled only before others, and other tasks could not be handled simultaneously. These constraints made the model much more practical for the QCSP. Branch and bound and the greedy randomized adaptive search procedure were used to solve the QCSP. The results showed that the search procedure was reduced to 3% of the computational times, while the solution did not exceed by 10%, compared with the branch and bound method (3). Many researchers have studied and improved the work of Kim and Park (3). Moccia et al. formulated the QCSP as a vehicle routing problem and developed an improved formulation (4). The new formulation could yield an optimal solution within a shorter computational time when solved with CPLEX. For solving larger instances, a branch and cut algorithm was proposed (4). Other researchers based their work on that of Kim and Park (3), but the task defined by them followed Daganzo’s definition (1). Lee et al. formulated a mixed-integer programming model that considered a noninterference constraint that was more concise (5). They proved the problem to be NP-complete. An effective and efficient genetic algorithm was proposed to obtain a satisfactory solution in the acceptable computational time (5). Wang assumed that quay cranes could not cross over, and there was a safety margin between the adjacent quay cranes in his model (6). The proposed genetic algorithm increased the efficiency of a practical scheduling algorithm at the Shenzhen Yantian container terminal by 10% (6). Numerous studies have researched algorithms for solving the QCSP. Lim et al. defined a task as the handling job in a given area on a vessel (7). The objective was to find crane-to-job matching to maximize the throughput. Lim et al. proposed a dynamic programming algorithm, a probabilistic tabu search, and a squeaky wheel optimization heuristic algorithm for solving the problem. Their results showed that the squeaky wheel optimization algorithm with local search performed best for both small and large instances. Heuristics performed well for small instances compared with CPLEX (7). In the paper by Ng and Mak, a vessel’s stay time in port was minimized with an integer programming model in which the task was defined as handling jobs in every bay of the vessel. By partitioning the vessel into a set of nonoverlapping zones, the proposed heuristic decomposed the problem into subproblems, and results showed that it could work out effective solutions (8). Lim et al. regarded the QCSP as an m-parallel machine scheduling problem with a noninterference constraint (9) and with the same definition of tasks as in Daganzo’s study (1). Their problem was also decomposed to allow time allocation to be determined once cranes were assigned. The dynamic programming approach Lim et al. presented yielded good-quality solutions, and the backtracking algorithm yielded exact solutions for average-size
The quay crane is a crucial resource constraint for the scheduling of loading and discharging tasks in a container terminal. The stability of the vessels should also be carefully considered so that a feasible schedule is produced. However, the latter constraint has been inadequately abstracted in previous studies on schedule optimization of quay cranes; this inadequacy has led to infeasible schedules. Therefore, a mixed-integer linear programming model was developed to incorporate the stability of vessels. In addition, a steady state genetic algorithm was designed to solve the schedule optimization problem. The results of virtual cases indicate that the proposed optimization tool can resolve the model by considering quay crane constraints, as well as taking vessel stability into account, and thereby can produce a more feasible schedule.
There has been considerable interest in the efficiency of maritime container transport. Quay cranes are the main handling devices in container terminals for transferring containers between ships and the wharf apron. If loading and discharging tasks are practically assigned to quay cranes, many more containers can be handled with an existing quay crane capacity, which means that the makespan of one vessel can be reduced, and infrastructure-related investment can be saved when the throughput rises. Therefore, the scheduling of quay cranes is crucial to the efficiency of terminals. Financial benefits can be gained from a reasonable schedule for port operators. As a result, the quay crane scheduling problem (QCSP) has received much attention from researchers. Literature Review Daganzo was the first to study the QCSP in the simple static case and the dynamic problem for multiple vessels (1). Ships were divided into several holds from bow to stern, and only one quay crane could handle a job on a hold. The task of a quay crane was defined as the handling job on one hold. Exact and approximate solution methods were proposed to minimize the aggregated cost of delay for vessels (1). Later, Peterkofsky and Daganzo adopted a branch and bound method to minimize the delay costs where jobs consist of independent, single-stage tasks that can be preempted (2). However, they did not consider the interference of adjacent quay cranes. In 2004, Kim and Park studied the QCSP for one container vessel by formulating a mixed-integer programming model, which has been Department of International Shipping and Logistics, School of Naval Architecture, Ocean, and Civil Engineering, Shanghai Jiao Tong University, 800 Dongchuan Road, Shanghai 200240, China. Corresponding author: H. Hu,
[email protected]. Transportation Research Record: Journal of the Transportation Research Board, No. 2330, Transportation Research Board of the National Academies, Washington, D.C., 2013, pp. 47–54. DOI: 10.3141/2330-07 47
48
Transportation Research Record 2330
problems. A simulated annealing heuristic was effective for problems of realistic size (9). Tavakkoli-Moghaddam et al. (10) and Jin and Li (11) studied the QCSP with quay crane assignment at the same time under constraints similar to those assumed by previous researchers. Genetic algorithms were proposed as the solving method in both these papers and proved to be effective through comparison. Following Wang’s work (6), Ge proposed an adaptive genetic algorithm that was proved to have a quicker convergence rate for solving QCSPs, considering precedence, noninterference, and safety margin constraints (12). Chung and Choy developed a modified genetic algorithm to solve QCSPs (13) that was based on the model of Kim and Park (3). Their algorithm performed as well as many existing algorithms, such as GRASP, tabu search, branch and bound, and branch and cut, and performed even better than some in certain instances. Some researchers have redefined the QCSP with the inclusion of new constraints. The model by Meisel (14) was modified by Monaco and Sammarra, who assumed a unidirectional constraint and time windows for quay cranes (15). A heuristic algorithm based on the tabu search paradigm was proposed that performed better than commercial solvers (15). After referring to the Kim and Park model (3), Legato et al. studied the rich QCSP, which focused on incorporation of a unidirectional schedule (16). They proposed and extended the branch and bound method with a novel timed Petri net approach for determining the starting times of tasks. Their results showed that the new method performed well within short run times (16). Meisel and Bierwirth observed that there are diverse models such as QCSP with container groups, QCSP with complete bays, and QCSP with bay area (17). Because no platform was available for comparing the planning derived from these models, Meisel and Bierwirth proposed a unified approach for evaluation. Their results showed that in some situations, a complex model paid off, while in others simpler models were preferred (17). Some researchers have focused on the integrated scheduling of quay crane and yard crane (18, 19), but the subject is beyond the scope of this paper. Most existing studies concentrate on the model or formulation and the algorithms. The present paper focuses on improvements to the QCSP model so that it better reflects practical situations. In practice, the stability of the ship while containers are being loaded or discharged is controlled by operator experience. However, few researchers have paid attention to this constraint, although it would influence the loading or discharging procedure. The key points of the present paper
Quay crane
Sequence of task (bay number)
1
7-8-9
2
3-6-5
3
1-4-2
FIGURE 2 Example of quay crane schedule.
Bow
Bay 1
QC 1
Stern
Bay 2
Bay 3
......
Bay N
QC 2
......
QC K
FIGURE 1 QCSP (N = number of bays; K = number of quay cranes; QC = quay crane).
are adaptation of the QCSP model for consideration of the stability constraint of the vessels plus the corresponding algorithm. The next section provides a description and illustration of the QCSP. Then a new model formulation, based on previous research, that considers the stability constraint of vessels is presented. The steady state genetic algorithm is then proposed for solving the model, this algorithm is evaluated with several instances, and the results of numerical experiments are discussed. Problem Description The quay crane is the main device at a container terminal for transferring containers from vessel to land and vice versa. The QCSP focuses on the assignment of the amount and sequence of tasks of each quay crane so as to minimize the makespan of the total loading or discharging jobs for the container vessel. In general, the container vessel is divided into several bays in increasing order from bow to stern. The task in this paper is defined as the loading and discharging jobs of all the containers in one bay. The QCSP is illustrated in Figure 1. Figure 2 shows a feasible example of a quay crane schedule and includes nine tasks that are undertaken by three quay cranes. The tasks assigned, sequences arranged, and time spent for each quay crane are shown in the figure.
Wang, Hu, and Song
49
Stability of the vessel means a safe floating condition in which the center of gravity is kept within permissible limits to avoid dangerous leaning or capsizing. During the loading or discharging process, the stability of the vessel can be violated if task assignments and sequence are casually chosen, and the vessel’s center of gravity could shift too much toward one side. Therefore, the QCSP should consider the stability of the vessel.
TABLE 1 Decision Variables and Parameters
Model Formulation
Yij
Based on the work of Kim and Park (3), Legato et al. (16), Wang (6), and Ge (12), a mathematic model that considers the stability of the vessel is proposed in this section. Several assumptions have been made:
Ci QCk
Variable or Parameter
Description
Decision Variables X kij
If task j is handled by quay crane k immediately after task i was handled by quay crane k, X kij = 1; otherwise, X kij = 0; if task i is first task handled by quay crane k, X0ik = 1; if task i is last task handled by quay crane k, X kiT = 1. If completion time of task i is no later than start time of task j, Yij = 1; otherwise, Yij = 0. Completion time of task i Completion time of quay crane k in which it handled all tasks assigned Completion time of all tasks
W
Parameters and Indices
1. The container vessel is divided into several bays in increasing order from bow to stern. All the volumes in one bay are defined as a task that should be handled only by one certain quay crane assigned to that bay. 2. Two adjacent quay cranes cannot cross over each other because all the quay cranes are in the same track. 3. For safety during the handling jobs, a distance equal to the width of one bay should be maintained between two adjacent quay cranes. 4. Some tasks should be handled before others, which means there is precedence in some situations. 5. The stability of the vessel should be taken into consideration during the loading or discharging job. A permitted shift of the center of gravity has been set to control the stability of the vessel. A shift of the center of gravity caused by loading or discharging tasks should be within permissible limits after each task has been completed.
k K i, j
Mathematical Formulation
Ωt
Decision variables and parameters used in the formulation are defined in Table 1. The objective function is defined as follows. Objective Function 1 minimizes the makespan:
ΔG ρ D
minimize W
∀k when 1 ≤ k ≤ K
(2)
Constraint 3 determines the task handled first by each quay crane: N
∑X
k 0i
=1
∀k when 1 ≤ k ≤ K
(3)
i =1
Constraint 4 determines the task handled last by each quay crane: N
∑X
k iT
=1
N T p ki tij Numi M Γ Π
(1)
subject to the following: Constraint 2 evaluates the makespan with the latest completion time of the quay cranes: QC k ≤ W
k = 1, 2, . . . , K. Series numbers of quay cranes Total number of quay cranes i, j = 1, 2, . . . , N. Series numbers of ship bays in increasing order from the front to the tail of the container vessel Total number of ship bays t = 1, 2, . . . , N. Number of the task completed Processing time of task i handled by quay crane k Travel time of quay crane from bay i to bay j; t 0jk represents travel time of quay crane k from its initial position to bay j. Volume of task i Sufficiently large positive constant Set of pairs of tasks which could not be handled simultaneously [e.g., if task i and task j could not be handled simultaneously, (i, j) ∈ Γ] Set of pairs of tasks between which there is a precedence relation [e.g., if task i should be handled before task j, (i, j) ∈ Π] Set of tasks completed at time when t tasks have been completed Permitted shift of center of gravity of vessel Average weight of each container Total weight of hull (except for containers)
∀k when 1 ≤ k ≤ K
Constraint 6 ensures that each task is handled by only one quay crane: K
N
∑ ∑ X k =1
i =1
k ij
+ X 0k j = 1
∀k when 1 ≤ k ≤ K
(6)
Constraint 7 determines the completion time of the task handled first by each quay crane: p kj + t0kj − C j ≤ M (1 − X 0kj ) = 1
∀j when 1 ≤ j ≤ N ∀k when 1 ≤ k ≤ K
(4)
(7)
i =1
Constraint 5 ensures the flow balance and determines the order of each task: N
N
j =1
j =1
X 0ki + ∑ X jik = ∑ X ijk + X iTk
∀i when 1 ≤ i ≤ N ∀k when 1 ≤ k ≤ K
Constraint 8 determines the completion time of the task handled last by each quay crane, which is also the completion time of the quay crane: Ci − QC k ≤ M (1 − X iTk )
(5)
∀i when 1 ≤ i ≤ N ∀k when 1 ≤ k ≤ K
(88)
50
Transportation Research Record 2330
Constraint 9 determines the completion time of each task except those handled first or last by each quay crane: Ci + p kj + tij − C j ≤ M (1 − X ijk )
∀i when 1 ≤ i , j ≤ N ∀k wheen 1 ≤ k ≤ K
(9)
Constraints 10 and 11 ensure that if the completion time of task i is no later than the start time of task j, Yij = 1; otherwise, Yij = 0: Ci − C j + p kj ≤ M (1 − Yij )
∀i when 1 ≤ i , j ≤ N ∀k when 1 ≤ k ≤ K
Ci − (C j − p ) + MYij > 0
(10)
∀i when 1 ≤ i, j ≤ N
k j
∀k when 1 ≤ k ≤ K
(11)
Constraint 12 ensures that task i and task j cannot be handled simultaneously when (i, j) ∈ Γ: ∀ (i , j ) ∈Γ
Yij + Y ji = 1
(12)
Constraint 13 ensures that task i is handled before task j when (i, j) ∈ Π: Ci + p kj ≤ C j
∀ (i , j ) ∈Π
(13)
Constraint 14 guarantees that the adjacent quay cranes cannot cross over each other: K N K N M (Yij + Y ji ) ≥ ∑ k ∑ X uik + X 0ki − ∑ l ∑ X ujl + X 0l j + 1 k =1 u =1 l =1 u =1
∀i and j when 1 ≤ i < j ≤ N
(14)
Constraint 15 ensures a safety margin equal to the distance of one bay between two adjacent quay cranes when they are working simultaneously: i + 2 − j ≤ M (Yij + Y ji )
∀i and j when 1 ≤ i < j ≤ N
(15)
Constraint 16 ensures that the shift of the center of gravity caused by loading or discharging tasks is within permissible limits after each task has been completed:
− ∆G ≤
(
∑ i−
i ∈Ωt
1+ N 2
)
i
Numi i ρ
D + ∑ Numi i ρ
≤ ∆G
∀t when 1 ≤ t ≤ N
(16)
i ∈Ωt
X , X , X , Yij = 0 or 1 k iT
k 0i
k ij
Furthermore, during the search process for an optimal solution by heuristic algorithms, such as a genetic algorithm, the stability constraint could eliminate many extreme solutions that are feasible under the noninterference constraints but are clearly nonoptimal. For example, Quay Crane 1 serves for the tasks in Bays 1, 4, 5, and 7; Quay Crane 2 serves for tasks in Bays 2, 6, 8, and 9; and Quay Crane 3 serves only for Bay 3. Such a solution is common during the search process, but it is nonoptimal and thus should not be kept in the evolution process for finding the optimal solution. The stability constraint could exclude such solutions and improve the efficiency of the heuristic algorithm. Genetic Algorithm for QCSP Genetic Algorithm QCSP has been proved to be NP-complete (5, 6). There is no polynomial time algorithm for the exact solution. It is difficult to work out the exact solution for QCSP in acceptable computational times when the scale of the problem becomes large. Therefore, it is necessary to use a heuristic algorithm with which a near-optimal solution can be found in less computational time. The genetic algorithm is a widely used heuristic algorithm that has proved to be effective for solving such problems. A so-called steady state genetic algorithm, which is more efficient than the simple genetic algorithm, is deployed to solve the QCSP in this paper. The genetic algorithm was invented by John Holland in the 1960s and developed by him and his students and colleagues at the University of Michigan in the 1960s and 1970s (20). It is a heuristic algorithm that imitates the mechanics of natural selection. First, a set of chromosomes is structured to represent the solutions. Next, the fitness evaluation function is used to evaluate the fitness of chromosomes. Then, selection, crossover, and mutation operators are used to imitate the process of natural selection and produce new offspring. After a reevaluation of new chromosomes, a certain replacement strategy is taken to determine the next generation. These procedures are repeated until the stopping criterion is satisfied and the final solution is worked out. The genetic algorithm process is illustrated in Figure 3. Implementation of a Genetic Algorithm for Solving the QCSP Encoding and Initialization of the Population
∀i when 1 ≤ i , j ≤ N ∀k wheen 1 ≤ k ≤ K
(17)
Discussion of Stability Constraint Since the introduction of the QCSP, many researchers have tried to improve the model formulation, which is the key requirement in establishing a solution algorithm. Stability of vessels during the loading or discharging process must be considered because it is a necessary condition for a feasible schedule. However, operators of container terminals make schedules according to experience or to heuristic rules that already take into account vessel stability, so little research has addressed this important constraint in the model. Solutions may appear to be satisfactory but may be infeasible in practical use. Constraint 16 ensures that the shift of the center of gravity caused by loading or discharging tasks stays within permissible limits and thus restricts the emergence of infeasible solutions.
The key problem in the QCSP is to find the reasonable amount and sequence of tasks for each quay crane. It is feasible to represent a possible solution of the QCSP described in this paper with decimal codes. A more reliable encoding method than that of Ge (12), with the improvement of representation of separators in the chromosome, is proposed in this paper. If there are N tasks and K quay cranes, a possible solution (chromosome) can be structured with N + K − 1 decimal integers. Each integer from 1 to N represents each task, and the integers from N + 1 to N + K − 1 represent separators used to divide the tasks into K parts. This is more reliable in this representation than the use of 0 as a separator in (12). As illustrated in Figure 4a, a possible solution (chromosome) for nine tasks with three quay cranes is structured with 11 unduplicated integers from 1 to 11. In accordance with the encoding method, an order-based random initializer provided in GAlib (a C++ library of genetic algorithm components developed by Matthew Wall at the Massachusetts Institute of Technology) is used to generate unduplicated integers (21).
Wang, Hu, and Song
51
Start
Encoding
Initialization of population
Fitness evaluation
Population replacement
Yes
Whether the stopping criterion is satisfied?
Finish
No Selection
Crossover
Mutation FIGURE 3 Genetic algorithm process.
3
6
10
1
Working sequence for QC1 3—>6
8
7
9
11
4
Working sequence for QC2 1—>8—>7—>9
2
3
Working sequence for QC3 4—>2—>5
(a) Parent 1
1
2
3
4
10
6
7
11
9
5
8
Offspring
1
8
3
4
10
6
7
9
11
2
5
Parent 2
3
6
10
1
8
7
9
11
4
2
5
(b) Before mutation
1
2
3
4
10
6
7
11
9
5
8
After mutation
1
2
7
4
10
6
3
11
9
5
8
(c) FIGURE 4 Examples of (a) chromosome, (b) order crossover operation, and (c) swap mutation operation.
52
Transportation Research Record 2330
Fitness Evaluation
Numerical Experiment
The objective function of the described QCSP is minimization of the makespan, so the fitness evaluation function can be set as
Sets of instances of small size were conducted first for evaluation of the average performance between solutions by the steady state genetic algorithm with and without a stability constraint. Large cases were then tested for evaluation of the performance of the steady state genetic algorithm in solving the QCSP with a stability constraint. The proposed steady state genetic algorithm was coded in C++ on the basis of GAlib (21). Two kinds of lower bounds, which are the optimal solution of relaxed problems with branch and bound (an important and classic method for mixed-integer linear programming) under Lingo 11 (a powerful commercial software for exactly solving optimization models), were taken as a comparison for the evaluation. Lower Bound 1 is the objective function value of the optimal solution to the QCSP without the stability constraint of the vessel (relaxed problem 1). Lower Bound 2 is the objective function value of the optimal solution to the QCSP without the stability constraint of the vessel, the noninterference constraints, the safety margins constraints, and consideration of quay cranes’ travel time (relaxed problem 2). The numerical experiments were conducted on an Intel Core 2 Duo 2.00 GHz PC with 2 G RAM. For testing the performance of the proposed steady state genetic algorithm in a common situation, some assumptions have been made in the conducted numerical experiments. There are no sets of tasks with nonsimultaneous or precedence relation constraint in the instances. NUMi is proportional to pik, which means the productivity of quay cranes is assumed to be the same and each quay crane has the same productivity when handling different kinds of containers. The processing time of each task was randomly generated from a uniform distribution of U(50, 200). The initial position of QCk was assumed to be at Bay 1 + (k − 1)(N −1)/(K − 1); for example, when K = 3, N = 9, the initial position of Quay Crane 2 is assumed to be at Bay 5. According to Lee et al. (5), the travel time of each quay crane between adjacent bays is assumed to be 1 min. The genetic algorithm is the heuristic algorithm of which the solutions yielded are random to some extent. Although most researchers did not take into consideration the stability of the solution yielded by the genetic algorithm, the processing time of each task of the instances in a set, which was generated randomly, was kept the same in this paper so the stability of the proposed genetic algorithm could be evaluated for efficiency and effectiveness.
fitness =
1 W
(18)
At the same time, the fitness value of the chromosomes that violated the constraints is set to zero to confirm that infeasible solutions will be eliminated through the evolution of the genetic algorithm. Therefore, the higher the fitness value (which means the shorter the makespan), the more likely the chromosome is to be retained and continue with the genetic operators. Population Replacement The genetic algorithm uses different methods in population replacement. The steady state genetic algorithm is very effective for solving practical problems (21). In the steady state genetic algorithm, the new generation is a combination of old and new chromosomes. A certain amount of new offspring is created and added to the previous population to produce a temporary population. The worst individuals in the temporary population are removed to keep the population size constant (21). Stopping Criterion Convergence and maximum evolutional generation are the two most popular stopping criterions of the genetic algorithm. The computational times of each instance will vary randomly if the convergence is chosen as the stopping criterion. This will make testing difficult for the average time needed by the algorithm. In this paper the maximum evolutional generation is chosen as the stopping criterion. Selection Operation The roulette wheel approach was adopted as the selection operation (22). The probability for individuals to be picked up and mated is according to fitness value. Crossover Operation Because the common crossover operators, such as one-point, two-point, and multipoint crossover, will lead to illegal offspring, order crossover is adopted (22). The workflow of order crossover is illustrated in Figure 4b. First, a segment of Parent 1 is selected randomly and put into the corresponding position of the offspring. Second, the same genes of the segment selected in Parent 2 are removed. Third, according to the sequence of the remaining genes of Parent 2, they are put into the vacant positions of the offspring from left to right. Mutation Operation Swap mutation was adopted in this study for random selection of two elements in a chromosome and for swapping them in order to enhance the diversity of chromosomes. Swap mutation is illustrated in Figure 4c.
Comparison of Average Performance by Steady State Genetic Algorithm With and Without Stability Constraint There are nine groups (10 instances each) of random instance sets, of which the maximum bay number is set to be nine and with the processing time of each task shown as follows: T 1 = 91, T 2 = 67, T 3 = 84, T 4 = 150, T 5 = 169, T 6 = 174, T 7 = 128, T 8 = 158, T 9 = 162 The permitted shift of the center of gravity for the vessel, total weight of all containers, and weight of hull are assumed to be one bay length, 6,000, and 2,000, respectively. According to the preliminary tests, the crossover rate and the mutation rate are set as 0.9 and 0.01, respectively. The replacement percentage of the steady state genetic algorithm is set as 0.2. The population size and the limit of generations are set as shown in Figure 5.
53
Value of solution
Wang, Hu, and Song
485 480 475 470 465 460 455 450 445 440 435 430
LB1 With Without
400 400 400 600 600 600 800 800 800 Population size 1000 1200 1500 1000 1200 1500 1000 1200 1500 Generations
FIGURE 5 Comparison of average performance between solutions by steady state genetic algorithm with and without stability constraint (LB1 = Lower Bound 1, optimal solution under time limit of 90,000 s).
Figure 5 shows that the steady state genetic algorithm with a stability constraint, producing much better feasible solutions, performs similarly to the one without this constraint considering the value of the solution on average. However, more constraints make it more difficult for the steady state genetic algorithm to converge to a satisfactory solution with the current population size and generations. Thus, the steady state genetic algorithm with a stability constraint, which avoids infeasible solutions, requires a larger population size and more generations to converge. Large Cases There are 10 random instances in which the maximum bay number is set at 15 with the processing time of each task as follows: T 1 = 91, T 2 = 67, T 3 = 84, T 4 = 150, T 5 = 169, T 6 = 174, T 7 = 128, T 8 = 158, T 9 = 162, T 10 = 64, T 11 = 55, T 12 = 145, T 13 = 81, T 14 = 77, T 15 = 111
The permitted shift of the center of gravity setting for the vessel, total weight of all containers, and weight of hull are assumed to be three bay lengths, 6,000, and 2,000, respectively. According to the preliminary tests, the population size, the limit of generations, the crossover rate, and the mutation rate of both genetic algorithms are 3,000, 15,000, 0.9, and 0.01, respectively. The replacement percentage of the steady state genetic algorithm is 0.2. Gap 1 in Table 2 indicates that the solutions yielded by branch and bound in the limited time are worse than those yielded by the steady state genetic algorithm, even if it considered fewer constraints. Gap 2 means the solutions yielded by the steady state genetic algorithm are nearly as good as those yielded by branch and bound with Relaxed Problem 2. These details show that it is difficult for the branch and bound algorithm to work out the solution in an acceptable time even for Relaxed Problem 1. However, the proposed steady state genetic algorithm could obtain a near-optimal solution in a reasonable time, which means the steady state genetic algorithm is more applicable for practical use. It is clear that the solution yielded by the steady state genetic algorithm may fluctuate when the problem scale becomes larger. This fact implies that it is better
TABLE 2 Results of Random Instances Set of Large Size Problem Size
Steady State Genetic Algorithm
Instance Number
Number of Quay Cranes
Number of Bays
21 22 23 24 25 26 27 28 29 30 Average
3 3 3 3 3 3 3 3 3 3
15 15 15 15 15 15 15 15 15 15
Note: LB2 = Lower Bound 2. a Optimal solution under time limit of 90,000 s.
(1) Value 583 587 597 587 593 593 587 629 595 587 594
(2) Computational Times (s) 1,532.13 1,240.28 1,296.11 1,139.50 1,213.07 1,414.84 1,150.50 1,026.44 1,294.00 1,481.19 1,278.81
Branch and Bond LB1 (3) Value
1,174a
LB2 (4) Value
Gap 1 (1)/(3) − 1
Gap 2 (1)/(4) − 1
572
−0.50 −0.50 −0.49 −0.50 −0.49 −0.49 −0.50 −0.46 −0.49 −0.50 −0.49
0.02 0.03 0.04 0.03 0.04 0.04 0.03 0.10 0.04 0.03 0.04
54
to make several tries with the steady state genetic algorithm when the problem is large. Conclusions This paper focused on the QCSP, which is intended to give a more effective and efficient solution for scheduling of loading and discharging tasks, that is, to bring greater financial benefits through greater handling efficiency at container terminals. To avoid infeasible solutions, which resulted in the capsizing of vessels in previous models, this study proposed a mixed-integer linear programming model for the QCSP constrained by vessel stability, an issue few researchers have addressed. The result is a more feasible and reliable schedule for loading and discharging by quay cranes and on a larger scale for the container terminal as a whole. A steady state genetic algorithm with a more reliable encoding schema for chromosomes was used to produce feasible solutions. The numerical experiments compared the performance of a steady state genetic algorithm with and without a stability constraint. Results showed that the steady state genetic algorithm with a stability constraint, which avoids infeasible solutions, requires a larger population size and more generations to converge to a satisfactory solution. Furthermore, numerical experiments with larger population size evaluated the steady state genetic algorithm for solving the QCSP with a stability constraint. Results showed that the steady state genetic algorithm was effective and efficient compared with the branch and bound algorithm. Acknowledgments The authors thank the anonymous referees for their helpful suggestions. This paper was partially supported by the Shanghai Natural Science Foundation Project. The authors also thank Matthew Wall of the Massachusetts Institute of Technology for developing GAlib. References 1. Daganzo, C. F. The Crane Scheduling Problem. Transportation Research Part B, Vol. 23, No. 3, 1989, pp. 159–175. 2. Peterkofsky, R. I., and C. F. Daganzo. A Branch and Bound Solution Method for the Crane Scheduling Problem. Transportation Research Part B, Vol. 24, No. 3, 1990, pp. 159–172. 3. Kim, K. H., and Y. M. Park. A Crane Scheduling Method for Port Container Terminals. European Journal of Operations Research, Vol. 156, No. 3, 2004, pp. 752–768. 4. Moccia, L., J. F. Cordeau, M. Gaudioso, and G. Laporte. A Branch-andCut Algorithm for the Quay Crane Scheduling Problem in a Container Terminal. Naval Research Logistics, Vol. 53, No. 1, 2006, pp. 45–59.
Transportation Research Record 2330
5. Lee, D. H., H. Q. Wang, and L. Miao. Quay Crane Scheduling with Non interference Constraints in Port Container Terminals. Transportation Research Part E, Vol. 44, No. 1, 2008, pp. 124–135. 6. Wang, H. Q. Quay Crane Scheduling in Port Container Terminals: Mathematical Model and Solution Algorithm. PhD dissertation. Tsinghua University, Beijing, 2006. 7. Lim, A., B. Rodrigues, F. Xiao, and Y. Zhu. Crane Scheduling with Spatial Constraints. Naval Research Logistics, Vol. 51, No. 3, 2004, pp. 386–406. 8. Ng, W. C., and K. L. Mak. Quay Crane Scheduling in Container Terminals. Engineering Optimization, Vol. 38, No. 6, 2006, pp. 723–737. 9. Lim, A., B. Rodrigues, and Z. Xu, A m-Parallel Crane Scheduling Problem with a Non-Crossing Constraint. Naval Research Logistics, Vol. 54, No. 2, 2007, pp. 115–127. 10. Tavakkoli-Moghaddam, R., A. Makui, S. Salahi, M. Bazzazi, and F. Taheri. An Efficient Algorithm for Solving a New Mathematical Model for a Quay Crane Scheduling Problem in Container Ports. Computers and Industrial Engineering, Vol. 56, No. 1, 2009, pp. 241–248. 11. Jin, Z. H., and N. Li. Optimization of Quay Crane Dynamic Scheduling Based on Berth Schedules in Container Terminal. Journal of Transporta tion Systems Engineering and Information Technology, Vol. 11, No. 3, 2011, pp. 58–64. 12. Ge, P. P. Research on Key Technology of Scheduling and Optimization for Logistics in Container Terminals. MS thesis. Qingdao University, Qingdao, China, 2009. 13. Chung, S. H., and K. L. Choy. A Modified Genetic Algorithm for Quay Crane Scheduling Operations. Expert Systems with Applications, Vol. 39, No. 4, 2012, pp. 4213–4221. 14. Meisel, F. Seaside Operations Planning in Container Terminals. PhysicaVerlag, Berlin, 2009. 15. Monaco, M. F., and M. Sammarra. Quay Crane Scheduling with Time Windows, One-Way and Spatial Constraints. International Journal of Shipping and Transport Logistics, Vol. 3, No. 4, 2011, pp. 454–474. 16. Legato, P., R. Trunfio, and F. Meisel. Modeling and Solving Rich Quay Crane Scheduling Problems. Computers and Operations Research, Vol. 39, No. 9, 2012, pp. 2063–2078. 17. Meisel, F., and C. Bierwirth. A Unified Approach for the Evaluation of Quay Crane Scheduling Models and Algorithms. Computers and Opera tions Research, Vol. 38, No. 3, 2011, pp. 683–693. 18. Lee, D.-H., Z. Cao, J. H. Chen, and J. X. Cao. Simultaneous Load Scheduling of Quay Crane and Yard Crane in Port Container Terminals. In Transportation Research Record: Journal of the Transportation Research Board, No. 2097, Transportation Research Board of the National Academies, Washington, D.C., 2009, pp. 62–69. 19. Cao, J. X., Q. X. Shi, and D. H. Lee. Integrated Quay Crane and Yard Truck Schedule Problem in Container Terminals. Tsinghua Science and Technology, Vol. 15, No. 4, 2010, pp. 467–474. 20. Mitchell, M. An Introduction to Genetic Algorithms. MIT Press, Cambridge, Mass., 1996. 21. Wall, M. GAlib: A C++ Library of Genetic Algorithm Components: Ver sion 2.4 Documentation Revision B, 1996. http://lancet.mit.edu/ga/dist/ galibdoc.pdf. Accessed May 4, 1998. 22. Gen, M., and R. Cheng. Genetic Algorithms and Engineering Design. John Wiley & Sons, New York, 1996. The Ports and Channels Committee peer-reviewed this paper.