#### Abstract

This paper addresses the sequence sorting problem of large-scale storage/retrieval (S/R) requests in multiple Input/Output (multi-I/O) depots automated storage/retrieval systems (AS/RS), in which the cargoes can enter/leave the system through multi-I/O depots, the stacker can load only one cargo, and the load travel time of stacker is fixed. The problem is to find an optimal sequence for a certain S/R requests sequence, and it is a special kind of traveling salesman problem. In this paper, a heuristic algorithm based on assignment is proposed. In order to eliminate the subloops emerged in the sorting process, the equivalent merging and minimum cost merging methods of subloops are considered, and the proposed algorithm is modified. Experimental results indicate the effectiveness of the proposed algorithm.

#### 1. Introduction

The functions of automated storage/retrieval system (AS/RS) include receiving, storing, and order fulfillment. Assignment of products to storage locations, choice of products to retrieval, and storage/retrieval (S/R) requests sequencing are important planning and operational decisions in the AS/RS operation problems [1, 2]. Since AS/RS is required to accomplish S/R requests in a timely manner, optimization of S/R requests sequence of a stacker is considered as an essential problem for efficient operation in the AS/RS [3, 4]. Especially, the optimization of S/R requests sequence becomes much more important for AS/RS, which is fully integrated with other automated industrial production line or logistical systems. Not only the optimized routing, but also the fast calculation of routing is required to be attained simultaneously. With the increasing scale of S/R requests sequence, the scale of its feasible region increases exponentially. The overall performance and efficiency of AS/RS will be limited if the optimization of routing takes considerable time [5–7].

However, it is challenging to quickly optimize the execution order of large-scale S/R requests sequence. Research has gained momentum with the papers by Hausman et al. [8] and Graves et al. [9]. A lot of optimization methods of S/R requests sequence under different AS/RS layout structure are proposed. In AS/RS with single Input/Output (I/O), the optimization methods of S/R requests sequence are distributed in three operation modes, namely, single command cycle, double command cycle, and multiple command cycle. In single command cycle mode, the time to complete all S/R requests is a fixed value, and S/R requests sorting is not an optimization problem. However, after importing the permission of S/R requests, the S/R requests sequence sorting problem is transformed into a polynomial solvable problem and NP-hard problem under different optimization objectives [10, 11]. In double command cycle mode, a stacker can complete one storage request and one retrieval request in the same command cycle. Based on the feature that the S/R requests appear in pairs, Lee and Schaefer [12] constructed a bipartite assignment graph by using storage request and retrieval request as the job request nodes, respectively. Hungarian algorithm was used to pair the S/R requests in the same command cycle, and the completion time of S/R requests was minimized. Compared with single command cycle, completing the same number of S/R requests in the double command cycle mode can save about 30% of the time cost [9, 13]. But it is not always possible to have pairs of S/R requests to construct dual instruction cycles in the actual operation process. Eben-Chaime and Pliskin put forward the mixed operation mode and made the decision rules for selecting single or double command cycle [14, 15].

Due to the excellent efficiency of dual command cycle, researchers proposed the concept of expanding the number of shuttle in the stacker and thus resulted in four command cycles (twin-shuttle stacker) and six command cycles (triple-shuttle stacker). Keserla and Peters [16] proposed a minimum perimeter based heuristic algorithm and realized the minimization of S/R requests operation time in a four-command cycle. To solve the same problem, Sarker et al. proposed some optimization methods based on greedy strategy to improve the throughput of AS/RS [17, 18]. Tanaka and Araki [19] established a capacitated stacker S/R requests sorting model for multishuttle AS/RS under the condition of fixed storage and retrieval locations and designed an exact algorithm to solve the model. Tanaka [20] extended their work and proposed a hybrid tabu heuristic algorithm to solve the S/R requests sequence of stacker. Popovic et al. [21] provided a general framework for the optimization of S/R requests sequence in the operation mode of a six command cycle, and heuristic algorithm and genetic algorithm were used separately to optimize the S/R requests sequence. They believed that the optimization effect of genetic algorithm was better than that of the heuristic algorithm for the optimization of S/R requests sequence in multi-command cycle. Based on shared memory strategy, Tanaka and Araki [22] and Yang et al. [23] analyzed the optimization problem of S/R requests sequence in multi-command cycle and formalized the problem into an integer programming model. Accurate algorithm and variable neighborhood search algorithm were used to solve the presented model, respectively.

The optimization methods of S/R requests sequence of the above three operation modes are discussed in single I/O depot AS/RS, in which the I/O depot is located at one end of the aisle, and each S/R request has the characteristic of periodic return to the unique I/O depot. Another common layout structure of AS/RS is that I/O depot is located at both ends of the aisle. The expansion of I/O depot increases the paths for cargoes’ entering or leaving the AS/RS and also provides the possibility of separating the storage and retrieval operations. Pohl et al. consider that the decisions including AS/RS layout and aisle configuration have an impact on the efficiency of AS/RS [24]. The recent work of Schleyer and Gue [25] and Gue et al. [26] also revealed this conclusion mentioned above. Gharehgozli et al. [27] optimized the S/R requests sequence through polynomial algorithm under the following three conditions: (i) the output depot was dedicated; (ii) the input depot and the output depot were separated; and (iii) the stacker could start and end at any position, and the method was compared with the optimization method presented by Van den Berg and Gademann [28]. Researchers can refer to the summary of Roodbergen and Vis [4], and Boysen and Stephan [29] to obtain more research results related to AS/RS.

The literatures mentioned above studied the optimization of S/R requests sequence for AS/RS with single and double I/O depots, and the optimization methods are all on the basis of command cycle. To the best of our knowledge, few people pay attention to the optimization of S/R requests sequence for AS/RS with no command cycle division. In this paper, the optimization problem of large-scale S/R requests sequence for AS/RS with multi-I/O depots is studied based on the logistics problem of actual air cargo terminal. The AS/RS with multi-I/O depots is composed of two rows of racks, and the I/O depot is distributed along both sides of the aisle. Each I/O depot, through which the cargo enters or leaves the system, is connected to the conveyor (the layout of AS/RS with multi-I/O depots is shown in Figure 1). The stacker is located in the aisle, and its vertical lifting structure and horizontal moving structure can run simultaneously to complete S/R request of cargoes. A stacker can only hold one cargo during its operation process. Then, the optimization problem of large-scale S/R request sequence in multi-I/O depots AS/RS is to find an optimal execution sequence for a given group of S/R requests, with the purpose of minimizing the operation time of completing all S/R requests. In order to solve the problem mentioned above, we propose a fast optimization method in this paper to study the optimization problem of S/R requests sequence, especially for large-scale S/R requests sequence, in multi-I/O depots AS/RS under the condition of no command cycle division. Simulation results indicate that the algorithm is superior in the quality of optimization results and calculation time.

The paper is organized as follows. Details of the optimization problem of S/R requests sequence in multi-I/O depot AS/RS are introduced in Section 2. Subsequently, an assignment based heuristic algorithm to optimize large-scale S/R requests sequence is presented in Section 3. Computer simulation results and conclusions follow in Sections 4 and 5.

#### 2. The R/S Requests Sequence Problem

According to the operation process of S/R requests, we divide the execution process of S/R requests into two consecutive steps. For the storage request, first, the stacker moves from the current position to the I/O depot and loads the cargo, and then the stacker moves with load to the storage location of the cargo and unloads. For the retrieval request, first, the stacker moves without load from the current position to the storage location of retrieval cargo and loads the cargo, and then the stacker moves with load to the output depot and unloads the cargo. The trajectory formed by the continuous execution of S/R requests of stacker is called a route. A route may be seen as a concatenation of loaded travels, with no-load travels in-between. If the end position of a load travel is the start position of another load travel, the no-load travel is a virtual travel, and its running time is 0. A route for the stacker to complete all S/R requests corresponds to an S/R requests sequence.

Through the whole study, we considered the following assumptions. Firstly, only a group of static S/R requests is considered, which means that the scale of the S/R requests sequence remains unchanged during the whole optimization process. Secondly, the Chebyshev distance is used to represent the movement time of the stacker between any two points. Here, the Chebyshev distance refers to the maximum travel time between vertical travel time and horizontal travel time. Thirdly, the stacker moves both vertically and horizontally simultaneously at a constant speed. Fourthly, each location can store only one cargo. Finally, the initial position of the stacker is the virtual starting and ending position for the problem.

We allow the cargo to enter/leave the system through any I/O depot and attempt to find an optimal or near optimal execution sequence of the stacker under the condition that the I/O depot of S/R requests and storage position are all known. It is convenient for us to define the following symbols for problem modeling. : number of storage requests : number of retrieval requests : the *i*th storage request : the *j*th retrieval request : input depot of the *i*th storage request : storage position of the *i*th storage request : retrieval depot of the *j*th retrieval request : retrieval position of the *j*th retrieval request : the *k*th load travel : the no-load movement time between load travel and : start position of stacker : end position of stacker : movement time of stacker from position *A* to position *B*

For each storage request , a load travel () must be performed, . Likewise, for each retrieval request , a load travel must be performed, . The no-load travel is executed after each load travel, and its travel time is the time from the end of the previous load travel to the start of the next load travel. We want to find a sequence of load travel to minimize the completion time of the S/R requests sequence. Figure 2 depicts such a sequence. The stacker starts from the initial position SP and returns to the initial position SP after completing all S/R requests. The previous and subsequent load travels of any load travel can be selected arbitrarily, and any two load travels are connected by a no-load travel. Different connection scheme of load travel corresponds to different operation path and completion time of stacker. Since the time of load travel is fixed, the completion time of S/R requests sequence is decided by the running time of no-load travel, and the optimal sequence of no-load travel corresponds to the optimal execution sequence of S/R requests. We consider each load travel as an S/R request vertex and denote it by . Each vertex is connected by a no-load travel , and the minimization of S/R requests completion time is transformed into the minimization of time for traversing all the S/R requests vertices. In the process of traversing, each S/R request vertex can be traversed for only one time, and the stacker finally returns to the initial position. The optimal solution of traveling salesman problem (TSP) is exactly the optimal scheme of no-load travel selection and sorting. Therefore, we model the optimization problem of S/R requests sequence as a TSP.

It is assumed, in this model, that there are *m* storage requests and *n* retrieval requests, and the starting address and the ending location of the stacker are both SP. The decision variable takes on binary values, 0 or 1, depending on whether or not the load travel is performed immediately after the load travel has been performed by the stacker. Let be the no-load movement time between load travel and . The objective function minimizes the total no-load travel time. Constraints (2) and (3) ensure that each load travel is accessed once and only once. Constraint (4) ensures that, in the optimal solution, no-load travel and load travel do not constitute a subloop.

In order to quickly solve the optimization problem of large-scale S/R requests sequence rapidly, we develop an assignment based heuristic algorithm, which will be introduced in the next section.

#### 3. Heuristic Algorithms for the R/S Requests Sequence Problem

In this section, a heuristic method to solve the optimization problem of large-scale S/R requests sequence in multi-I/O depots AS/RS was presented. The presented heuristic algorithm is based on the solution idea of assignment model, and it can optimize large-scale S/R requests sequence in a near-real-time manner. It may be a useful tool for dynamic optimization of S/R requests sequence.

##### 3.1. Algorithmic Idea

According to the TSP model built in Section 2, each node in the model represents an S/R request. Under the condition that the start location and destination location of each S/R request are known, if the initial point returned by the stacker is assumed to be , then each vertex in the TSP model can be divided into two vertices, and the assignment problem (AP) we constructed is as follows. The constructed bipartite graph is represented as . is composed of the start points of no-load travels in the tour including the end point of the storage requests , the end point of the retrieval requests , and the start point of the stacker , and is defined as the set of people in the AP. is composed of the end points of no-load travels in the tour, including the start point of the storage request , the start point of the retrieval request , and the end point of the stacker , and is defined as the set of tasks in the AP. The set is composed of edges between any vertex in and any vertex in . The cost of any edge is equal to the no-load travel time. is defined as the time for each person to complete each task in the AP. The time of no-load travel is defined in Table 1. The edge with value represents the prohibited travel, and prohibited travel is omitted in bipartite graph.

In addition, each task in the AP can only be completed by one person, and the constraint that each person can only undertake one task is equivalent to constraints (2) and (3) in the TSP model. Then, the minimum edge cover of bipartite graph is the assignment scheme of AP.

According to the above rules, we construct a bipartite graph with two storage requests and two retrieval requests (see Figure 3) and arbitrarily give an assignment scheme as shown in Figure 4(a). According to the reverse rule of constructing bipartite graph, the vertices in and of Figure 4(a) are combined into the S/R requests node and the start point of the stacker. According to the definition of edge in Table 1, there is no edge between the start location and the destination location of the same S/R request and between and . Therefore, the edges in the assignment scheme are not lost in the process of vertex merging. Since the assignment scheme covers all the vertices in and , and each vertex in and has only one edge connected, each merged S/R request node has two edges connected as shown in Figure 4(b). By merging the same edges in Figure 4(b), we can get a node coverage scheme with multiple disjoint subloops, and the covered nodes include all the S/R request nodes and the start point of the stacker as shown in Figure 4(c). The set of edges in Figure 4(c) is exactly the same as that in Figure 4(a). Therefore, a node traversal scheme with multiple disjoint subloops of TSP can be found according to the above method, and vice versa. In conclusion, our AP has the same solution space as the TSP with subloop relaxation.

**(a)**

**(b)**

**(c)**

Based on the above analysis, although the optimal assignment scheme, which is a node coverage scheme with multiple disjoint subloops, may not satisfy constraint (4), if we can find the combination scheme of subloops without increasing the no-load travel time, we can obtain the optimal solution of TSP problem. Due to the same specifications of the shelf in AS/RS, and the constant running speed of the stacker in the horizontal and vertical directions, with the increase of the size of the S/R requests sequence, there is a great probability that an edge with the same no-load running time exists in different subloops. Therefore, in the large-scale S/R requests sequence, there is a great probability that an equivalent merging scheme of subloops exists. In order to show the association between the optimal solution of the AP and the optimal solution of the TSP, we give the following theory for three cases: there is no subloop, there is equivalent merging subloop, and there is no equivalent merging subloop.

*Definition 1. *The scale of TSP refers to the number of load travels plus 1 in the optimization problem of S/R requests sequence.

*Definition 2. *The scale of AP refers to the number of people or tasks.

*Definition 3. *In an AP, assigning a task to a person is called an assignment pair, and in the optimal solution of an AP, the number of assignment pairs is equal to the scale of the AP.

Theorem 1. *If the scales of the TSP and the AP are equal, then the number of edges in the optimal solution of the TSP is equal to the number of assignment pairs of the AP.*

*Proof. *It can be concluded from Definition 1 that there are *N*-1load travels for the TSP with size *N*. Departing from the start point of the stacker, one edge is added before the first load travel is performed, and *N*-2 edges will be generated after the remaining load travels have been completed. Finally, another edge is needed when returning to the initial point from the position, where the loading travel is completed. Then, all feasible solutions of TSP contain *N* edges. Since the feasible solution contains the optimal solution, there are also *N* edges in the optimal solution. According to Definition 3, the number of assignment pairs is *N* in the optimal solution of the AP with size *N*. Therefore, Theorem 1 holds.

Corollary 1. *For an AP and a TSP with the same scale, under the condition that one person only completes one task, the optimal solution of the AP corresponds to the optimal solution of the TSP with the same scale if the no-load travels that correspond to the assignment pairs in the optimal solution of AP and the load travels that correspond to the S/R requests sequence do not constitute a subloop.*

*Proof. *It can be concluded from Definition 3 that an assignment pair corresponds to a no-load travel, and the optimal solution of AP is the combination scheme with the minimum total time among all the combination schemes of no-load travels. One person completes only one task means that the start point and end point of each no-load travel are connected with different load travels and connected with only one load travel. It can be concluded from Theorem 1 that the numbers of no-load travels in the optimal solution of AP and TSP with the same scale are equal. If the no-load travels that correspond to the assignment pairs in the optimal solution and the load travels do not constitute a subloop, the *N* assignment pairs in the optimal solution of AP with scale *N* can connect the *N* load travels in series successively to form a path that begins and ends at the start location and ensure that each vertex is visited only once. Therefore, the optimal solution of AP is also the optimal solution of TSP.

Corollary 2. *If the load travels corresponding to the S/R requests and the no-load travels corresponding to the assignment pairs in the optimal solution of AP constitute at least two subloops, and there exists a subloop merging scheme, which does not change the task completion time of the AP, then the optimal solution of AP is also the optimal solution of TSP.*

*Proof. *If the load travels corresponding to the S/R requests and the no-load travels corresponding to the assignment pairs in the optimal solution of AP constitute at least two subloops, then load travels and no-load travels will constitute two types of paths. One is the subloop containing the start and end points of the stacker and another is the subloop that does not contain the start and end points of the stacker. Figure 5(a) shows the subloop SC_{1} that contains the start and end points of the stacker and the subloop SC_{2} that does not contain the start and end points of the stacker. In Figure 5(b), no-load travel that connects and and no-load travel that connects and are deleted, while no-load travel that connects *A* and *C* and no-load travel that connects *B* and *D* are added. A new tour is formed by the above operation, as shown in Figure 5(c). If the sum of travel times of no-load travels and is equal to the sum of travel times of no-load travels and , then the sum of no-load travel time in the tour of Figure 5(c) is equal to the sum of no-load travel time in Figure 5(a). The other no-load travel times in and remain unchanged. Therefore, when the subloops are merged, the sum of the no-load travel time of the new tour after merging is equal to the sum of the no-load travel time of subloop and . The merger of more subloops without the start and end points of the stacker can be proved in the same way. According to the equivalent merging process of subloops, all of the load travel vertices involved in the subloop merging process can be accessed only once, and the time does not change. Therefore, the optimal solution of AP formed by merging subloops is also the optimal solution of TSP.

Corollary 3. *If the load travels corresponding to the S/R requests and the no-load travels corresponding to the optimal solution of the AP constitute at least two subloops, and there is no subloop merging scheme, which does not change the task completion time of the AP, then the subloop merging scheme with the smallest task completion time increment is selected to merge the subloops one by one until all subloops are merged, and the solution of AP after subloop merging is also the optimal solution or suboptimal solution of TSP.*

*Proof. *According to the proof of Corollary 2, the merging of subloops needs to delete two existing no-load travels and generate two new no-load travels at the same time. When there is no equivalent merging scheme, the no-load travel time will be increased after the merging of subloops. The increase of no-load travel time will bring two possibilities. One is that the no-load travel time of the merged loop is equal to the time of the optimal solution of TSP (as shown in Table 2). The total time of no-load travels corresponding to the optimal solution of the AP, which is constituted by the start and end points of the seven load travels in Table 2 and the start and end points of the stacker, is 162.8 seconds, and three subloops are formed (see Figure 6(a)). The three subloops are merged twice according to the minimum cost rule and form a tour (see Figure 6(b) and Figure 6(e)), and the no-load travel time is increased by 4.6 seconds and 25.8 seconds, respectively. The sum of no-load travel time of the tour is 193.2 seconds, which is equal to the time of the optimal solution of TSP obtained by enumeration method. Another is that the no-load travel time of the merged loop is larger than the time of the optimal solution of TSP (as shown in Table 3). The total time of no-load travels corresponding to the optimal solution of the AP, which is constituted by the start and end points of the nine load travels in Table 3 and the start and end points of the stacker, is 231.2 seconds, and three subloops are formed (see Figure 7(a)). The three subloops are merged by equivalent and minimum cost rules and form a tour (see Figures 7(b) and 7(e)). The minimum cost merging increases the no-load travel time by 10 seconds, and the sum of no-load travel time of the tour is 241.2 seconds, which is 1.4 seconds longer than the time of the optimal solution of TSP obtained by enumeration method. Therefore, the optimal or suboptimal solution of TSP can be found by merging the minimum cost subloops.

##### 3.2. Algorithmic Design

The stacker starts from the start point and returns to the start point after completing all S/R requests. We mark the end point as a virtual point EP. Based on Corollary 1, we propose a heuristic algorithm based on assignment. The algorithm consists of five steps: constructing bipartite graph, creating adjacency matrix, solving the optimal assignment scheme, determining the load travel corresponding to the vertex of serial S/R requests, and sorting the S/R requests sequence.

Figure 8 shows an example with four storage requests and three retrieval requests. The start and end points of each S/R request are the start and end points of load travel. First, we construct the bipartite graph corresponding to Figure 8 according to the bipartite graph defined in section 3.1 (see Figure 9).

The adjacency matrix is created based on the constructed bipartite graph and the defined no-load travel time. The column index of the matrix corresponds to the serial number of the S/R requests, and the last column is the virtual end point . The row vector component of the first line in the matrix represents the running time from the start point of the stacker to the start point of each load travel, and the time arrived to is ∞, which is expressed by a relatively large number. The component of the remaining row vector in the matrix represents the running time of the stacker from the end point of the load travel to the start point of other load travels and , and the time to reach the end point of the current load travel is ∞, which is represented by a relatively large number. The row index in the matrix is 1 larger than the serial number of the S/R request.

Hungary algorithm is applied to solve the adjacency matrix, and the optimal assignment scheme of bipartite graph shown in Figure 9 is obtained. In bipartite graph, is composed of the end point of the load travel and the start point of the stacker, and is composed of the start point of the load travel and the virtual end point of the stacker. Therefore, the edges determined by the optimal assignment scheme are all no-load travel, and the directions are all from the nodes of to the nodes of . According to the corresponding relationship between the serial number of S/R requests and the row and column index in the adjacency matrix, the no-load travels determined by the optimal assignment scheme in Figure 9 are , , , , , , , .

Starting from the start location of the stacker, the subsequent S/R requests are determined according to definite no-load travel. At the same time, the definite S/R requests are marked in the S/R requests sequence, and then starting from the definite end location of the S/R requests, the next S/R request is found according to the definite no-load travel and marked until the virtual end of the stacker is found. If the traversal of all the S/R requests nodes is not completed after finding , the first unmarked S/R request is found in the S/R requests sequence and starts from the destination corresponding to this S/R request. The above process is repeated until the traversal of all the S/R request nodes is completed. If the no-load travel and S/R requests do not constitute multiple subloop, then starting from and finding according to the optimal assignment scheme, the traversal of all S/R requests nodes is completed, and the traversal order of all the S/R requests nodes is the optimal solution of the optimization problem of S/R requests sequence. The no-load travel and S/R requests determined by the corresponding optimal assignment scheme of the example shown in Figure 8 do not constitute multiple subloops, and the optimal execution sequence of S/R requests sequence determined by the optimal assignment scheme is shown in Figure 10.

However, when the no-load travel determined by the optimal assignment scheme and the load travel constitute multiple subloops (as shown in Figure 11), series connection of all load travels along determined no-load travel by the stacker cannot form a tour; that is, the sequencing of all S/R requests cannot realize. An equivalent merging algorithm of subloops based on Corollary 2 will be introduced in the next section. The algorithm is embedded in the heuristic algorithm based on assignment. The subloops are merged without changing the total time of the no-load travel, and a tour contacting all load travels is formed.

When the no-load travel determined by the optimal assignment scheme is in series with the load travel, if multiple subloops are formed, then the execution order of the determined S/R requests sequence violates Constraint (4) in the given model. In order to eliminate the subloops without increasing the operation time of S/R requests sequence, we propose the subloop equivalent merging algorithm to improve the method of concatenating S/R requests nodes. This algorithm is used to consummate the method of connecting S/R request nodes in series. It is connected with the optimal assignment scheme in the assignment based heuristic algorithm and used to solve the following three problems in turn: determining the subloop, constructing the subloop merging matrix, and subloop merging. Firstly, the optimal assignment scheme is used to determine the subloop composed of no-load travel and load travel, so that each load travel (including the start point of the stacker) is connected with the no-load travel determined by the optimal assignment scheme (see Figure 11). There are two subloops in Figure 11, namely, and . The subloop is and the subloop is . We can implement the sort of S/R requests through the equivalent merging of subloops (Corollary 2 has been proved). The subloop merging matrix is used to record the merging scheme of any two subloops. Figure 12 shows the subloop merging matrix with three subloops. The element in the matrix represents the time change after the merging of the subloops that do not contain the start point of the stacker with any other subloops, and its value is the time of the no-load travel corresponding to the two newly generated edges minus the time of the no-load travel corresponding to the original two edges. Taking Figure 5(b) as an example, the time change is after merging of and , and its value is . The element with zero value is called zero element, and the merging scheme corresponding to zero element is a subloop equivalent merging scheme. In the subloop merging matrix, it is forbidden to merge any two no-load travels in the same subloop, which is expressed as . In addition, we define the dashed box in the subloop merging matrix as merging block. Each merging block corresponds to two subloops, and the number of elements in the merging block represents the number of merging schemes corresponding to the two subloops.

When the subloop merging matrix contains zero elements, the equivalent merging of two subloops corresponding to zero elements can be realized. When the matrix contains multiple zero elements, the merging blocks are taken as units firstly and are sorted according to the number of zero elements. Then, the merging block with the least zero elements is selected, in which all zero elements are picked, and the number of zero elements on the row and column of each zero element is counted and sorted. The two no-load travels corresponding to the zero element with the minimum number in the statistical results are deleted in the merging of subloops. The subsequent merging process of subloops can be found in the proof process of Corollary 2. After a subloop is merged, the elements on the row and column where zero element with the minimum number in the statistical results in the merge block is located are deleted. Repeat the above steps until there are no more subloops. Figure 11 is an example with two subloops. In the merging process of and , the no-load travel in and the no-load travel in are deleted, and two new no-load travels and are selected, and the tour formed after merging is (see Figure 13).

Considering that the optimal assignment scheme may construct multiple subloops, subloop equivalent merging algorithm is introduced. By adjusting the no-load travel equivalently, multiple subloops are merged into a time invariant tour. The premise of equivalent merging of subloops is that there are zero elements in the merging matrix of subloops. However, we do not know whether the constructed subloop merging matrix contains zero elements. If the no-load travel determined by the optimal assignment scheme forms multiple subloops when concatenating with the load travel, and there are no zero elements in the subloop merging matrix, that is, there is no equivalent subloop merging scheme (as shown in the example in Figure 14), then it is impossible to get the execution sequence of S/R requests that satisfy Constraint (4) through the subloop equivalent merging algorithm. To solve this problem, we propose the minimum cost heuristic rule to merge the subloops and eliminate multiple subloops without equivalent merging scheme.

In the process of subloops merging, two no-load travels should be deleted, and two new no-load travels should be selected at the same time. Since the two newly selected no-load travels and the existing no-load travels may form an equivalent merging scheme, in order to avoid omitting the equivalent merging scheme, the minimum merging cost heuristic rule requires that only two subloops be merged at a time, and the two subloops with the minimum time increment of no-load travels are required. The minimum merging cost heuristic rule is a supplement to the subloop equivalent merging algorithm, and its general idea is as follows. If there is no zero element in the subloop merging matrix, all the elements in the subloop merging matrix are traversed, and the element with the smallest time increment is selected. The two subloops corresponding to the merging block, where the element is located, are determined as the two combined subloops, and the two no-load travels corresponding to the element are deleted during the subloop merging process. After the two subloops are merged, the subloop merging matrix will be rebuilt. If there are no zero elements in the matrix, continue with the above steps until there are no more subloops. For example, in the example shown in Figure 14, the optimal assignment scheme determines four subloops, namely, , , , , , , and , , and there is no zero element in the subloop merging matrix constructed by these 4 subloops. According to the minimum merging cost heuristic rule, and are merged first. The deleted no-load travels are and , and the merged subloop is . Then, three subloops, namely, , and , construct the subloop merging matrix again, and there is still no zero element in the matrix. and are merged according to the minimum merging cost heuristic rule. The deleted no-load travels are and , and the merged subloop is (). There is still no zero element in the subloop merging matrix constructed by and . The last two subloops are merged according to the minimum merging cost heuristic rule. The deleted no-load travels are and , and the merged loop is (see Figure 15).

In summary, after introducing the subloop equivalent merging algorithm and the minimum merging cost heuristic rule, the steps of the assignment based heuristic algorithm are as follows: Step 0: According to the bipartite graph definition mentioned above, the vertex sets and including the start and end points of the stacker and the start and end points of the load travels are created. Step 1: The adjacency matrix of bipartite graph is constructed according to the no-load travel time defined in Table 1. Step 2: The Hungarian algorithm is used to solve the optimal assignment scheme of adjacency matrix, and the no-load travel is selected by the optimal assignment scheme. Step 3: The load travel is connected in series according to the selected no-load travel, and the number of subloops is determined. Step 4: If there is no subloop, sort the S/R requests according to the optimal assignment scheme, and go to Step 10. Step 5: The subloop merging matrix shown in Figure 12 is constructed based on the determined subloops. Step 6: Check whether there are zero elements in the subloop merging matrix. Step 7: If the subloop merging matrix contains zero elements, the merging blocks are sorted according to the number of zero elements in the merging block, and the subloops are merged equivalently according to the sorting order, and the optimal assignment scheme is updated, and go to Step 9. Step 8: After traversing all the elements in the subloop merging matrix, the element with the smallest time increment is selected, and the two subloops corresponding to the element are merged according to the minimum merging cost heuristic rule, and the optimal assignment scheme is updated. Step 9: Count the number of subloops composed of no-load travel and load travel in the updated optimal assignment scheme, and go to Step 4. Step 10: Calculate the no-load travel time of the obtained S/R requests sequence.

#### 4. Experimental Results

Table 4 shows the experimental results of assignment based heuristic sorting algorithm and enumeration sorting algorithm. The first column shows the number of S/R requests received by the system. The second column shows the no-load travel running time of the stacker for the best sequence found by the enumeration sorting algorithm. Note that the optimal sequence obtained by the algorithm is the real optimal solution of each test case. The third column shows the computation time of the enumeration sort algorithm (on a 2.5 GHz core (TM) i5 machine). The fourth column shows the no-load travel running time of the stacker of the best sequence found by the proposed assignment based heuristic sorting algorithm. The fifth column shows the computation time of the assignment based heuristic sorting algorithm (on a 2.5 GHz core (TM) i5 machine). The sixth to eighth columns show the number of subloops, the equivalent merging times of subloops, and the minimum cost merging times of subloops generated by the proposed heuristic sorting algorithm based on assignment. The ninth column shows the time difference of no-load travel running time of the stacker between the optimal sequence generated by the enumeration algorithm and the assignment based heuristic algorithm.

In the 49 test cases, the number of subloops is 0 for 10 cases. For the S/R requests sequence without subloops, the assignment based sorting algorithm connects all the S/R requests in series through the optimal assignment scheme, and the no-load travel time of the sorting sequence is equal to the optimal no-load travel time of the stacker found by enumeration algorithm. When the S/R requests connected in series by assignment schemes form multiple subloops, the assignment based sorting algorithm combines the subloops by equivalent merging and minimum cost merging. Among the 39 cases with nonzero subloops, 14 cases are merged into one tour only by equivalent merging, 7 cases are merged into one tour only by minimum cost merging, and 18 cases are merged into one tour by two methods. Compared with enumeration algorithm, the assignment based sorting algorithm can generate a sequence with the same no-load travel running time of stacker for each case when only equivalent merging method is used to merge subloops.

When the minimum cost merging rule is used in the subloops merging process, the assignment based sorting algorithm generates two suboptimal solutions compared with enumeration algorithm in 25 test cases. In two examples of suboptimal solutions, the merging of subloops is realized by means of equivalent merging and minimum cost merging. Combined with Corollary 1 and Corollary 2, the assignment based sorting algorithm can get the best sequence scheme when only the equivalent merging method is used to merge the subloops, and the number of subloops is zero. When the minimum cost rule is used to merge the subloops, the best sequence scheme can also be obtained in most cases, and the difference of no-load travel time of stacker between the suboptimal solution and the optimal solution is extremely small.

In order to research the effectiveness of the proposed algorithm in large-scale S/R requests sorting problem, we increase the scale of the sequence. For the sequence with more than 15 S/R requests, the time of enumeration sorting algorithm is too long, so the experiment of enumeration sorting is not carried out. Table 5 shows the experimental results of the nearest neighbor heuristic sorting algorithm and the assignment based heuristic sorting algorithm. The number of S/R requests sequences is in the first column. They are two to ten times the scale of the problems in previous experiments. The second column shows the empty running time of the stacker for the best sequence found by the nearest neighbor heuristic sorting algorithm. The third column shows the computation time of the nearest neighbor algorithm (on a 2.5 GHz core (TM) i5 machine). The ninth column and the tenth column are the performance comparison between the nearest neighbor heuristic sorting algorithm and the algorithm proposed in this paper.

Among the 49 test cases, 45 cases obtained the best sequence of large-scale S/R requests by the optimal assignment scheme and equivalent merging subloops, and the remaining 4 cases were the sequences of large-scale S/R requests obtained by equivalent merging and minimum cost merging. With the increase of the scale of the S/R requests sequence, the probability of the subloops equivalent merging increases. Only a few cases do not have the subloops equivalent merging scheme. This is because, with the increase of the scale of the S/R requests sequence, the no-load travel in the subloop also increases, and the equivalent merging schemes in the constructed adjacency matrix increase correspondingly. Therefore, most of the large-scale S/R requests sequence cases can merge the subloops by equivalent merging to find the optimal sorting sequence of the S/R requests.

Compared with the nearest neighbor heuristic sorting algorithm, the sorting algorithm based on assignment can generate better sorting sequence, which can save up to 34.38% of the no-load running time. When the S/R requests scale is 30 to 50, the no-load travel time can be saved by 3.23% on average. With the increase of the scale of the S/R requests, the calculation time of the assignment based sorting algorithm does not increase significantly. In the near-real-time (less than 0.4 seconds), a better sorting sequence for each test case is found.

In order to make readers have a deeper understanding of the current status of related research fields, we compare the optimization method proposed in this paper with the existing optimization methods. Due to the differences of different optimization methods in storage system layout, stacker performance, and command cycle mode, it is difficult to fully reflect the advantages and disadvantages of various algorithms only through the calculation time of algorithm and the saved operation time comparing with the nearest neighbor algorithm. However, the comparison of the above performance indicators can partially or indirectly reflect the advantages and disadvantages of different algorithms. Based on this consideration, the performance comparison between the existing sorting algorithms for S/R requests and our algorithm is listed in Table 6. In the scenarios of different number of I/O depot, different command cycle modes, and different scale of S/R request sequence, the completion time and the calculation time of S/R requests are compared between different algorithms and the nearest neighbor algorithm.

It can be seen from Table 6 that various optimization algorithms can improve the completion time of S/R requests obtained by the nearest neighbor algorithm to varying degrees. This is because the nearest neighbor algorithm is a local optimal algorithm, while the other algorithms are global optimization algorithms, which can optimize the execution order of S/R requests from a global perspective and reduce the no-load travel time of the stacker. In addition, the heuristic algorithm has a good performance in computing time.

#### 5. Conclusions

In this paper, we address the scheduling problem of large-scale S/R requests sequence in multi-I/O depots AS/RS, in which the load travel time of stacker is fixed, the goods can enter and exit the system through multi-I/O depots, and the stacker can load at most one cargo at any time. Each load travel is considered as an S/R requests vertex, and a special traveling salesman problem is constructed. By introducing the concept of assignment, the adjacency matrix for subloops merging is established, and the sorting method based on the optimal assignment scheme, the equivalent merging method of subloops, and the minimum cost merging method of subloops are proposed.

Experimental results indicate their efficiency. Due to the particularity of the TSP, the sorting method based on the optimal assignment scheme can generate the best solution of the test case without subloops. The proposed equivalent merging method of subloops realizes the merging of subloops with equivalent merging scheme without increasing the no-load travel time. In the process of subloops merging, in order to merge the subloops that cannot be merged by equivalent merging method, the minimum cost merging method is also considered, and the proposed algorithm is modified according to the new subloops merging rules.

#### Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

#### Conflicts of Interest

The authors declare that they have no conflicts of interest.

#### Acknowledgments

This work was supported by National Key R&D Program of China (No. 2018YFB1201602) and the National Natural Science Foundation of China under Grant No. 61563029.