Abstract

According to previous researches, automated guided vehicles and quay cranes in container terminals have a high potential synergy. In this paper, a mixed integer programming model is formulated to optimize the coordinated scheduling of cranes and vehicles in container terminals. Objectives of the model are to minimize total traveling time of the vehicles and delays in tasks of cranes. A genetic algorithm is developed to solve the problem in reasonable computational time. The most appropriate control parameters for the proposed genetic algorithm are investigated in a medium size numerical test case. It is shown that balanced crossover and mutation rates have the best performance in finding a near optimal solution for the problem. Then, ten small size test cases are solved to evaluate the performance of the proposed optimization methods. The results show the applicability of the genetic algorithm since it can find near optimal solutions, precisely and accurately.

1. Introduction

The containers have revolutionized the seaborne transportation industry. In the past decade, massive containerships and ever increasing demand for containerization had forced the seaport container terminals (CTs) to expand their capacity in loading and unloading the containerships. Imai et al. [1] emphasized that mega containerships have started to handle more than ten thousand of containers since 2007. Commonly, a predetermined time schedule is set for any visiting containership being loaded/unloaded, where violating this schedule is too costly for the container terminals. Therefore, most of the CT authorities seek to improve their performance, by either implementing modern handling equipment or improving their management, planning, and scheduling skills.

CT authorities all over the world are trying to use more enhanced equipment, such as automated guided vehicles (AGVs) and automated stacking cranes (ASCs) which serve the quay cranes (QCs). For example, more than 250?AGVs and 140?ASCs are in service within Europe container terminal (Delta terminal) [2]. Key factors for a CT are efficiency of the stacking and transport of a huge number of containers to (from) the quayside. Kim and Park [3] stated that one direction to improve productivity of the CTs is to enhance the degree of automation of their handling equipment.

In most of the cases both hardware and software improvements are necessary to decrease waiting times in container terminals. Stahlbock and Voß [4] declared that existing infrastructures and equipment of the CTs can be used more efficiently, for example, by means of powerful information technology and logistics control software systems including optimization methods. According to the literature, coordinated scheduling is a method to improve the performance of existing equipment [57]. Lau and Zhao [6] emphasized that the main loss of performance at ACTs is the schedules of various equipment, which are uncoordinated.

Optimization of the coordinated scheduling of cranes and vehicles in CTs is the main concern of this paper. The remainder of the paper is organized as follows, to pursue this aim. A brief literature review of the most related researches is presented in Section 2. A mixed integer programming (MIP) model for this problem is described in Section 3. Next, a genetic algorithm (GA) is proposed and detailed in Section 4 to solve the problem. To compare the results and show the applicability of the proposed GA method, results of numerical test cases are reported in Section 5. Finally, Section 6 provides the concluding remarks of the research.

2. The Literature Review

Various scheduling problems for handling equipment in CTs have been widely considered in the past decade. For example, the goal of QC scheduling problem is to determine the sequence of unloading/loading tasks, assigned to a crane so that the completion time of a containership tasks is minimized. Kim and Park [3] proposed an MIP model to schedule the cranes. They stated that integrating decision-making process at various levels in CTs improve the efficiency of its scheduling. Liu et al. [8] studied the scheduling of cranes at CTs where incoming containerships have different ready times. They tried to minimize the maximum tardiness of containership departure. The scheduling of cranes is highly affected by availability of the vehicles. The researchers stated that coordinated scheduling of cranes and vehicles might improve the efficiency of CTs [6].

The scheduling of vehicles in CTs and flexible manufacturing systems is similar. Researchers proposed to schedule machines and AGVs simultaneously [9, 10], though vehicle scheduling in container terminals has gained more attention in recent years [6, 11, 12]. In CTs, automated guided vehicles operate in single-load carrier mode. The particular difficulty of AGV dispatching in a CT is that AGV pickup and drop-off times for each container have to coincide with scheduling of the quay and stacking cranes to avoid idle times of these equipment and to guarantee short berthing time of the containerships [13]. According to Lau and Zhao [6], AGVs deliver their loads to buffers once they reached the assigned destination in manufacturing systems. Nevertheless, the AGVs are not able to pick up/drop off containers by themselves. Therefore, there is no buffer between QCs and AGVs in container terminals. This causes a tight and precise schedule for AGVs and QCs. Moreover, in contrast to the manufacturing areas, the large number of AGVs is implemented at container terminals, and outdoor transport systems make it more difficult to schedule, efficiently.

Coordinated scheduling of cranes and vehicles in CTs has been studied in the literature. Lee et al. [7] considered integrated scheduling of cranes and yard trucks. They formulated an MIP model for this problem similar to the two-stage flexible flow shop with sequence-dependent setup time. The objective function includes minimizing the makespan of all the cranes’ tasks in the scheduling period. They proposed a GA to obtain near optimal solutions of the problem. They only considered scheduling of unloading tasks; however, they stated that the procedure can be applied to loading tasks, as well. Moreover, Nguyen and Kim [14] proposed coordinated scheduling for cranes and automated lifting vehicles in container terminals. They developed an MIP model in addition to a heuristic algorithm to solve the problem. The objective function is to minimize total travel time of vehicles and total delays in tasks of cranes. As the automated lifting vehicles are able to pick up the containers by themselves, Nguyen and Kim [14] demonstrated that buffer capacity highly influences performance of this integrated scheduling method.

Cao et al. [15] have formulated an MIP model for the integrated crane and yard truck scheduling, which has been solved by using a GA. In a recent research, Zhao and Tang [16] considered the integrated scheduling of trucks and cranes. They developed a particle swarm optimization algorithm to solve the problem. Their objective was to minimize makespan of unloading tasks for a specific containership. Assuming empty travels of the trucks when they come back from the yard to the quay area is the main drawback of their work. The same objective function has been minimized by Homayouni et al. [17]. They developed a simulated annealing algorithm to find near optimal solutions for the integrated scheduling of vehicles and cranes in container terminals.

Moreover, Skinner et al. [18] presented a GA to improve container handling operations at a container terminal in Australia. Jobs related to QCs, straddle carriers, and trucks (for importing or exporting containers to the land side of the terminal) have been scheduled. They have formulated the problem as a mixed integer linear programming model. They have applied this approach in a trial basis live scheduling in the aforementioned container terminal. Chen et al. [19] have considered the simultaneous scheduling of QCs and vehicles. They formulated problem as a constraint programming model. They also have developed a heuristic three-stage solution method to find high-quality solutions and can efficiently solve large problems.

Most of the literature reviewed in this section has assumed that unloading tasks for any of the containerships should precede the loading tasks (e.g., [7, 16, 19]). However, this process may increase empty travelling time of the vehicles while they come back to the docking area after an unloading task. According to Lau and Zhao [6], the loading and unloading tasks can be mixed to overcome this main limitation of the problems. On the other hand, these literatures have developed mathematical formulations which are not able to calculate the exact real completion time of the tasks. These two main limitations are considered while formulating the problem in this research.

3. Mathematical Modeling of the Problem

The coordinated scheduling of the cranes and the vehicles is formulated as a mixed integer programming model in this section. The general scenario for the containership operations consists of unloading and loading tasks. The scheduling horizon is usually divided to some predetermined scheduling periods. In each period, based on the precedence relations, a list of tasks is planned for each crane.

In unloading tasks, the vehicle starts a journey from its dwell point (where the last task of the vehicle finished) to the assigned crane. Similarly, after its previous task, the crane handles the container from its location in the containership to the pickup/delivery () point in the quayside of the CT. Once the vehicle reaches point, and if the crane reached there too, the container will be loaded on the vehicle. Afterward, the vehicle starts a journey to the assigned load/unload () station in the storage yard. The vehicle delivers the container to station and waits for next assigned operation.

Likewise, in the loading tasks, the vehicle moves from its dwell point to the assigned station, receives the container, and moves to point at the crane. If the crane is free, the container is loaded to the containership. In case that crane is not free, the vehicle has to wait for it. The AGVs are not able to pick up the containers by themselves. Therefore, they directly should be loaded or unloaded by either the crane or the station. It is why there is no buffer space between the crane or stations and the AGVs in container terminals.

It is assumed that handling time between various equipment of the CT is deterministic and predetermined. Congestions of the vehicles in the guide path are not considered in this scenario. Moreover, it is assumed that the vehicles start their tasks from a predetermined stations and return there once finishing all their assignments. There is no acceleration for the vehicles and the velocity of loaded and empty vehicles are equal; therefore, their travelling time is the same.

In the proposed scenario for the coordinated scheduling of cranes and vehicles, represents th task of the th crane (). If and are performed consecutively, by using the same vehicle, denotes the travelling time of the vehicle from , in , to the in . Table 1 presents formulas to calculate based on the specifications of both and . The initial and final events of the th vehicle are shown by and , in which “” and “” represent the set of initial and final events of the vehicles. In Table 1, shows the dedicated station for . Moreover, “” and “” represent the sets of loading and unloading tasks, respectively. As an example, if is an unloading task and is a loading one, is the travelling time for the vehicle, which starts the journey form and delivers the container to , which is the destination of . Next, the vehicle moves from to , which is the starting point of , receives the container, and moves to , which is the destination of .

In the proposed model, the set of cranes is denoted by , the number of tasks assigned to is shown by , and the set of the vehicles is shown by . is a binary decision variable, which becomes one if is successively performed after by using the same vehicle, and zero, otherwise. denotes a journey started by from its initial position, where to the starting point of . Similarly, denotes a journey ended by from destination of to the final position of , . Moreover, is the real time in which finishes its operation in (place the container in its predefined location in the containership in loading tasks, and drop the container into the assigned vehicle in unloading tasks). The earliest possible completion time for operations of in is represented as . To calculate it is assumed that vehicles are ready to deliver or receive the container to the crane. The proposed mixed integer programming model for the coordinated scheduling of cranes and vehicles is presented in the following

The objective function (1) considers minimizing total travelling time for all the vehicles, in addition to minimizing total delays of the tasks of cranes compared to their earliest possible completion time. is a constant which shows the cost of travelling time of the vehicles, and is the cost for delays in crane operations, and and are set to 0.1 and 0.8, respectively, according to the assumptions of Lau and Zhao [6]. Moreover, Nguyen and Kim [14] emphasized that objective of minimizing delays of tasks of cranes is more important than decreasing total travel time of vehicles.

In the constraints section, (2) states that only one task should be started directly after any task by using the same vehicle, while (3) states that any task is preceded by one task by using the same vehicle. Constraints (4) to (8) calculate the real completion time of on (i.e., ). If both consecutive tasks of a crane are loading ones, the crane should travel to the quayside after placing the container on the containership in previous tasks of crane or (takes time units). After receiving the container from the vehicle, the crane moves to the containership (takes time units) and places the container on the containership (takes time units). Therefore, should be greater than by “.” The same occasion happens when both consecutive tasks of a crane are unloading ones. This is represented in constraint (4). Unevenly, if two consecutive tasks of a crane are not of the same type, the crane can start next task immediately. Thus, is greater than by “,” which is shown in constraint (5).

On the other hand, is related to the arrival time of the vehicle after performing (takes ). If both and are of the same type, the vehicle can start its journey only after receiving/delivering the container from/to the . Thus, is greater than by “,” which is presented in constraint (6). If is an unloading task and is a loading one, the vehicle can start its new journey after receiving the container. The vehicle finishes its operation in and moves to (takes . Once, the vehicle reached , it can starts loading operations of the container (taking ) Accordingly, is greater than by “,” which is stated in constraint (7). In loading tasks, continues its operations on (takes ) after receiving the container from the vehicle. Hence, the starting time for the new journey of the vehicle equals to “.” If is a loading task and is an unloading one, is greater than by “.” This is presented in constraint (8). From (6) to (8), is a relatively large positive number. Thus, it is obvious that constraints from (6) to (8) are activated only if becomes one.

Constraint (9) states that the real completion time of should be greater than real completion time of by at least the differences of their earliest possible completion time. Constraint (10) expresses that the real completion time of should be greater than its earliest possible completion time. Finally, (11) declares that is a binary decision variable.

4. The Proposed Genetic Algorithm

The coordinated scheduling of vehicles and cranes in CTs have been proved as an NP-hard problem [5]. Genetic algorithms are able to search very large spaces effectively and efficiently. Thus, GAs have been suggested by researchers to optimize scheduling problems. GAs operate on a population of potential solutions, applying the principle of survival of the fittest. Due to this selection, poorly performing individuals have less chance to survive. Consequently, in every generation of the GA, a better performing set of offspring is reproduced [20].

In this paper, a GA was developed to optimize the sequence of tasks for the cranes, and a heuristic rule assigns the vehicles to the sequence of tasks. In the proposed GA, a chromosome is a feasible sequence of the cranes’ tasks; each task is located in a gene. A permutation encoding system [20] is selected to represent the tasks of cranes. Figure 1 illustrates the permutation encoding for number of cranes, in which is the number of tasks for each crane. In this method, a chromosome is a combination of integer numbers in range of 1 to . The chromosome is feasible for the GA operators if and only if the precedence relations of the cranes’ tasks are observed.

To create the initial population for the proposed GA, a random string of numbers in range of one to is produced, in first step. Then, the tasks belonging to each crane are found and highlighted. In the third and last step, the tasks for each crane are sorted. Therefore, the precedence relations of the tasks of cranes are observed here in initial population of the proposed GA. This suggested procedure is repeated to create the required number of chromosomes as the population size. Since in the next iterations of the proposed GA, new offsprings are produced considering the precedence constraints of the tasks; all the produced solutions will be feasible.

Once the initial population is created, the vehicles are assigned to the tasks based on the “nearest available vehicle” heuristic rule. The objective of the heuristic algorithm is to decrease waiting time for both the vehicles and the cranes. Consequently, the utilization and throughput of the cranes and vehicles are improved. Next, the objective function for each chromosome is calculated; which is the same as the objective function of the proposed MIP model (presented in (1)).

In next step of the GA, chromosomes of the current population are sorted based on the objective function in ascending mode. Then, the proposed crossover and mutation operators reproduce a new population that hopefully contains better solutions to the problem. A number of worst chromosomes in the current population are replaced by the reproduced offspring. The proposed operators of the GA are designed to check and to ignore the chromosomes that violate the precedence constraints of the tasks of cranes.

A tournament selection scheme is applied to select the parents for crossover operator. Based on Alvarenga and Mateus [21] to select the parents, tournament selection scheme chooses three chromosomes of the current population, randomly. The fittest chromosome is selected as the first parent. The procedure is repeated to select the other parent.

The number of required parents is determined by the crossover rate. The crossover operator reproduces the offspring for new generations. Task-based crossover operator proposed by Reddy and Rao [10] never offends the precedence constraints. Figure 2 illustrates an example for the modified task-based crossover proposed for this research. In this example, there are four cranes, each one performing five tasks. The third crane has been selected for the crossover operator. For this operator, tasks of the selected crane in the first parent are copied to the same positions in the second offspring. On the other hand, the tasks of the selected crane in the second parent are copied into the same positions in the first offspring. In the next step, the remaining tasks of first parent are copied in the unfulfilled positions of the first offspring, and the remaining tasks of the second parent are copied in the unfulfilled positions of the second offspring.

In next step, the mutation operator is used to ensure that all diversities in the feasible solution space are subject to search. While the solution space of the scheduling problems is too rough, the mutation operator is very important to avoid converging to local optima. In most of the literature in the area of scheduling, usually a swap mutation operator is used, where the infeasibilities arisen from are fixed by using a repair operator. In the proposed task-based mutation operator, the swap operation is performed if it does not violate the precedence constraints. A chromosome is chosen for mutation, in which two random genes are selected for a swap operation. The random genes are sorted ascending; hence, the first selected gene is always located prior to the second one. The mutation operator is performed if and only if both genes are qualified for swap operation. The following conditions are used to qualify the selected genes.(i)If the first gene contains the last task of a crane or the subsequent task of the first gene is located after the second gene, it can be substituted to the second gene.(ii)If the second gene contains the first task of a crane or the precedent task of the second gene is located prior to the first gene, it can be substituted to the first gene.

In order to keep the fittest chromosomes in current population, for next population, the elitism operator avoids them to be mutated. By using this operator, some of the fittest chromosomes in the current population are directly copied to the next population. Elitism operator assures that GA would never lead to a worse solution. Finally, after a predefined number of iterations, the algorithm stops, and the best found solution is introduced as the near optimal solution for the coordinated scheduling of the cranes and vehicles at container terminals.

5. Evaluation of the Proposed Genetic Algorithm

In order to evaluate the performance of the proposed GA and MIP model in optimization of coordinated scheduling of cranes and vehicles at container terminals, ten small size test cases were designed. These test cases have been solved using branch and bound (B&B) method of a regular solver software.

The sample layout of the CT for the test cases consists of six cranes to load/unload containers of the containerships. The containers are stored in storage yard using six stations. Travel time between any of the cranes and stations followed the data presented by Lau and Zhao [6]. The operational time for the cranes is assumed the same for all the loading/unloading tasks and is equal to 20 seconds. The operational time is the average time required for loading (unloading) operations of the cranes to (from) the containership including the required reshuffling operations. Moreover, travelling time of the cranes between the containership and the point is set to 10 seconds. The specifications of ten numerical test cases are presented in Table 2, including the cranes and stations, the initial positions of the vehicles, type of tasks ( for loading, and for unloading tasks), and the earliest possible completion time for the cranes tasks. For more analytical results, a medium size test case is designed, where six tasks are assigned randomly to each crane. The specifications of this test case are presented in Table 3. It is noteworthy to say that the specification of the small size and the medium size test cases has been selected randomly by the authors, following the method introduced by Lau and Zhao [6].

In the first test, the effects of crossover and mutation rates on the obtained solutions by the proposed GA are presented in Table 4. This test was executed on the medium size test case using six vehicles. The vehicles are in the stations number 1 to 6, as their initial positions. Every combination of crossover and mutation rate was run for ten replications and the mean of obtained objective values is reported in Table 4. The results show that if both the crossover and mutation rates are equal to 0.5, the best results are obtained. However, the best solution for the medium size test case is obtained by the crossover and mutation rates of 0.6. The best objective value for this test case is equal to 3830. Based on this test, the best scheduling string for this test case is presented in Table 5, in which the assigned vehicle to the tasks is indicated. Moreover, a schematic view of the best scheduling found by the GA is shown in Figure 3. This schematic view shows the first 20 tasks scheduled by using the proposed GA.

The second test was conducted to compare the solutions found by the proposed GA and the MIP model. For the GA method, the crossover and mutation rates were set to 0.5 and 0.5, respectively. Moreover, the population size of the GA and its number of iterations was set to 40 and 1000, respectively. Preliminary tests on the small size test cases indicated that while decreasing the number of iterations would cause worse solutions for the GA method, increasing the number of iterations more than 1000 does not lead to better solutions in these test cases.

Table 6 presents the comparative results for the small size test cases. The number of decision variables, the optimal value, and CPU time required for the solver software are reported for the MIP model. In other columns, the mean and the best solutions found by the GA method are presented, where every test case was solved for 10 replications. Moreover, the CPU time for GA and the deviation between the best solution of the GA method and the optimal solution of the MIP model are shown in Table 6. The deviation is defined in the following:

Since the number of integer decision variables for the proposed MIP model increases exponentially by increasing the number of tasks, it is too time consuming to solve and find the optimal solutions for the real applications of the coordinated scheduling problem. In some cases, even the solver software cannot obtain the global optimal value in a reasonable time. Therefore, it was decided to record the best obtained result in a limited CPU time for this test case, and it is marked with an asterisk sign in Table 6.

In test cases numbers 1 and 2, the GA method shows a significant performance, while it found the best solution for each test case in all 10 replications. In other test cases, the mean of 10 replications of the GA method and its best results are near to each other (the mean objective value is 0.75% greater than the best objective value, on average). Therefore, the proposed GA method is able to find a near optimal solution with high precision. On the other hand, in all the small size test cases, the GA found a near optimal solution close to the optimal solution found by the MIP model which shows the accuracy of the proposed GA method (2.17% greater than the global optima). Overall, it is demonstrated that the GA can be used for real applications, and its results are near to the global optima of the problem. Moreover, the results of 10 test cases illustrate that the required CPU time for the proposed GA method is reasonable for real application.

The results shown in Table 6 illustrate that assigning a predetermined number of vehicles for a specific number of tasks would not guarantee to decrease the objective function. In other words, in addition to the number of tasks per vehicle, the sequence of tasks and their specifications are so important to decrease the objective function. To demonstrate this, look at results of test case 2 and compare it with results of test case 3; the same occasion occurs for test cases 7 and 8. Therefore, for any specific application of the proposed scheduling method, one needs to determine the number of vehicles based on the results of the GA method. Nonetheless, in a specific sequence of tasks, increasing the number of vehicles would result in decreasing the objective function.

The sensitivity of the problem is analyzed with various numbers of working vehicles in medium size test case. The GA is run for five replications under crossover and mutation rates of 0.5. Figure 4 illustrates the mean and the best solutions for this test case under various numbers of vehicles. The results illustrate that employing more numbers of vehicles in a specific scheduling horizon decreases the objective function obtained by the proposed GA. However, it is obvious that in a certain number of vehicles, for example, 9 in this case, there is no significant reduction in the objective value of the coordinated scheduling problem. A cost-benefit analysis is required in such cases to determine the optimal number of vehicles in a specific scheduling horizon. On the other hand, it is obvious that as the number of vehicles increases the mean of replications converge to the best solutions, which means that GA has more chances to find the best solution in each replication.

6. Conclusions

The optimization of coordinated scheduling of cranes and vehicles at container terminals was presented in this paper. Considering scheduling constraints related to both vehicles and cranes improve the performance of container terminals. The problem was formulated as an MIP model solved using B&B method of regular solver software. To decrease the potential empty travels of vehicles, in this paper, a mixture of loading and unloading tasks of vessels are performed in the scheduling horizon. Moreover, the exact finishing time of the tasks of cranes and vehicle travels is calculated in this model. However the mathematical model is able to find optimum of small size cases, the computational time to find the optimal is too high to be implemented in real applications. Therefore, a genetic algorithm was proposed to find near optimal solutions for the problem in a reasonable computational time. The GA modifies the rules in a way that all of its generated chromosomes are feasible according to the precedence relations required for tasks of cranes.

The algorithm searches for tasks of cranes to find a near optimal sequence of tasks. Next, the nearest available vehicle to the starting point of the tasks is assigned to perform the tasks. The objective function of the problem is to minimize total travelling time of the vehicles and delays in tasks of cranes. The performance of the GA and the MIP model was compared in ten small size test cases. The results show that GA can find near optimal solutions, in relatively low computational time. A medium size test case has been solved by using the GA, showing that the GA can be applied in real world instances. On the other hand, more tests on medium size test case shows that increasing the number of vehicles in a specific case decrease the objective function value. Nevertheless, reduction in objective function is not significant when the number of vehicles exceeds a specific level. Therefore, more analysis is required to decide about the number of vehicles according to their operational costs, in practice.

For further researches, it is highly recommended to include uncertainties in travelling time of the vehicles, their failure, and times for their batteries to be recharged in the coordinated scheduling method. Moreover, application of other metaheuristic optimization methods in the coordinated scheduling problem is an interesting field for future researches.