Planning of one-way quay cranes using the genetic algorithm

The quay crane scheduling problem plays an essential role in the port container terminal management paradigm, as it is closely related to the berthing time of ships. In this article, we focus on the quay crane scheduling problem based on a special strategy, which forces the quay crane to move in one direction during the process of unloading and loading the containers. The scheduling problem that arises when this strategy is applied is called the one-way scheduling problem of quay cranes in the literature. In this article, we seek a mathematical formula for the unidirectional scheduling problem of quay cranes that can be easily solved by genetic algorithms. This algorithm provides us with the best combination of containers to unload and load at the optimal time.


Introduction
Quay cranes (QC) are the most important and critical equipment and assets of the port terminal and require the greatest investment in all other facilities. The efficiency with which they unload and load containers from ships is often used as a measure of terminal productivity (Lee et al., 2002;Bierwirth and Meisel 2010). Generally speaking, the quay crane planning problem (QCSP) refers to: (1) the assignment of quay cranes to manage unloading and loading operations; (2) the quayside service sequence of each quay crane on the ship (Daganzo 1989). The objective is to minimize the time required to complete the operation of the ship called Makespan. The operation of unloading or loading containers is considered a task and can generally be defined in terms of bay areas, complete bays, groups of containers in a single bay and individual containers (Bierwirth and Meisel 2009;Bierwirth and Meisel 2010). On a practical level, QCSP is subject to two types of physical constraints. The quay crane is installed on the railway track next to the quay and can move with the ship to perform operations on the quay side, as shown in figure 1. Because they are installed on the same track, they do not have the right to cross, which is the interference constraint of the crane (one-way crane). In addition, due to their physical size, two adjacent quay cranes must be separated by at least one cabin, which constitutes a safety margin constraint (Kim and Kim 1999;Kim and Park 2004;Sammarra et al. 2007;Bierwirth and Meisel 2010). From the point of view of the ship, they are generally divided into the upper part, called the deck, and the lower part, called the hold. When several operations are carried out in the same cabin, all unloading operations must precede loading operations. In addition, the unloading operation on the deck must precede the unloading operation in the hold. For loading, all bilge loading operations must precede deck loading operations (Kim and Park 2004). The aim of this article is to propose an improved algorithm to solve QCSP. The proposed algorithm adopts a heuristic hybrid workload balancing method to improve the research capability of the genetic algorithm by controlling the rate and mechanism of mutation. The rest of the article is divided into four parts. Section 2 reviews the literature on QCSP. Section 3 discusses the context of the problem, the objective function, and the constraints caused by the problem. Section 4 describes the data collection and automation of results Daganzo (1989) studied the first QCSP on a multi-ship model and studied the method of distribution from cranes to cabins. He proposed hybrid programming to solve the problem by minimizing the total cost of delay. Later, Daganzo and Peterkofsky (1990) further adopted the model using branch and limit methods to assign single-scale cranes at a specific time to solve large-scale problems. In these two studies, they assumed that each cabin had a task, but did not take into account crane interference and the priority relationship between tasks in the same cabin. Generally speaking, QCSP search can be divided into two streams, full table and container group. The complete bay can be seen as the task of each hut (Lim et al., 2004;Zhu and Lim, 2006). Due to its nature, Lim, Rodrigues and Xu (2007) have shown that if all cranes on the same track move from the lower bay to the upper bay of the ship only in the same direction, then the best plan is always less.This is defined as one-way planning. Liu, Wan and Wang (2006) also applied this in their mixed integer programming formula. Bierwirth and Meisel (2009) also applied this in their heuristic algorithm. However, in their research, they pointed out that in the case of groups of stackable containers, there is not necessarily the best solution in a one-way environment; because there is a priority relationship between the tasks in this method.Another aspect of the QCSP is that the groups of containers, which is comparatively more complicated. The QCSP studied during this article also falls into this category. Kim and Park (2004) formulated it as a mixed integer linear model, solving it by the B&B Method and a so-called greedy randomized adaptive search procedure (GRASP). The result indicated that the B&B works best in small scale problems. When the amount of tasks and therefore the number of cranes increase to twenty and more, the calculation time by the B&B increases rapidly. Later, Moccia et al. (2006) revised the model of Kim and Park (2004) indicating that crane interference can't be avoided. They consolidated the boundary and therefore the boundary for the completion time. They proposed the branch-and-cut (B&C) algorithm and introduced a preprocessing technique to scale back the dimensions of the matter and therefore the heuristic method of separation. The results indicate that the B&C is more efficient than the B&B proposed by Kim and Park (2004) and therefore the computation time doesn't exceed 2 h. Lee, Wang, and Miao (2006) first proved that QCSP is NPcomplete and thus proposed a genetic algorithm approach to unravel the matter. However, they didn't compare their algorithm with the benchmark dataset documented within the field. Sammarra et al. (2007) 2006) and to unravel the model using an off-the-shelf optimizer like CPLEX. The motivation of this research is straight forward: since the unidirectional scheduling for the cluster-based QCSP may be a tested effective strategy, by developing an easier mathematical model and using an off-the-shelf optimization software, more researchers and practitioners.are ready to obtain faster solutions for the unidirectional QCSP. Recently, Defeng Suna , Lixin Tang (2020) present the quay crane scheduling problem (QCSP) with vessel stability constraints. Vessel stability is important to enhance quay crane operations in container terminals, but it significantly complicates the essential QCSP and therefore the corresponding solutions methods. We describe a completely unique mathematical formulation for the unidirectional QCSP with vessel stability.

Description and modeling of the problem
This article discusses the QCSP, It is classified in the section of research interested in groups of containers. The problem consists of I tasks and Q cranes. Each task i has a complementation time Ci located in a bay b. This can be either loading or unloading and either on deck or in the hold at different bays of the ship. The following notations are used to describe the problem throughout. of the document.
The following lists the assumption, the required parameters and the decision variables to formulate the unidirectional QCSP.
Assumption: -No quay crane will remain idle during the full planning horizon. Such an assumption is reasonable in practice. However, if the number of tasks is fewer than the number of available cranes (i.e., n <q), then the model users can simply exclude (q-n) redundant cranes assigned to the vessel to guarantee the validity of the assumption. Parameters: -q(b)={ b∈B }: a set of tasks whose bay positions are less or equal to b; -M: a sufficiently large positive constant; Decision variables: -cmax: the makespan for the scheduling; -"q: the leftmost position of the quay crane where it starts to move rightwards; obviously, "q <lq -bq: the rightmost position of the quay crane Q where it stops and becomes idle; : t0 q =t(t0 q -"q) the travel time of the quay crane q to traverse from its initial position lq 0 to the position "#; -xqi: 1, if the quay crane q is assigned to serve the task i, and 0, otherwise; -yqb: the waiting time of the quay crane q at the bay b due to being blocked by the quay crane (q + 1); -uqb: 0, if b-"q ≥0and 1, otherwise.

mathematical formulation:
The objective function of the problem is to. Minimize the planning time of quay cranes, Thus the objective function takes the form.  (8) - (1) The constraint that ensures that every job is handled by a dock crane -(2) The constraint that ensures that at least one task is assigned to a quay crane due to of the hypothesis of noninactivity of quay cranes.

Computational experiments 4.1 Data collection
By visiting the two ports of MARSA MAROC and that of AGADIR, in order to collect the necessary data and model the progress of the unloading and loading processes so that the problem can be solved via the genetic algorithm in order to have the optimal set of containers to unload and load Determination container unloading entry tables: The total waiting time for the crane q due to the crane jamming (q+ 1) Table 1. The different steps to unload the containers.
Steps Description The crane operator receives a list of containers to be unloaded Step made by the crane operator at the level of the crane Finding position of the designated container Step made by the crane operator at the level of the crane Determination of the position of the container at ship level (bay, row, tier) Step made by the crane operator at ship level

Direct output:
The crane operator takes it from the designated container Step made by the crane at ship level The crane operator places the container on the straddle truck to transport it to the storage area Step made by the crane at the level of the straddle carriage Determination of the location of the container at the storage level Straddle trolley in the storage area If the straddle truck is occupied, the crane operator places the container in a buffer space to wait to be transported to the storage space Step made by the crane at the level of the buffer space Shifting containers: During the unloading operation, it turns out that some containers intended to be unloaded at the port of Casablanca are located below others that are not. To clear them, we would then have to unload those at the top and then re-embark them after taking the desired ones Step made by the crane at ship level

Transhipment:
The crane operator unloads containers from a ship, then they are transported to a buffer space, to be loaded onto another ship Step made by the crane at ship level The usefulness of the step determination is to clarify the unloading process so that it can be easily automated by the genetic algorithm.

automation of results:
After several visits to the ports of marsa maroc and discussions with specialists in the field, we had a very detailed diagnosis that responds to the problem of planning under cranes, so we were able to model the process via a mathematical model with constraints present at the previous section. Then we built an algorithm which presents the flow of the process based on the position of the containers at the bay level (bay, row, tier), now we are at the automation phase of the process using sql Structured Query Language and vb.net (Visual Basic .net) language used to implement the genetic algorithm which gives us a optimum (which is a chromosome that gives the optimal combination of the genes (containers) to be unloaded and loaded with optimal time)

Conclusion
To conclude, so as to possess an optimal planning of the quay cranes for unloading and loading of the containers, we determined an objective function which minimizes the duration of the stay of the ship within the port, then we determined the various contraints which hinder the method unloading and loading, then by visiting the 2 ports of casablanca and agadir we were ready to determine the input and outputs variables of the method. For the instant i'm within the phase of automating the unloading and cargoing processes of the containers via the genetic algorithm so as to possess the optimal set of containers to unload and load with their locations