A Novel Tabu Search Algorithm for Multi-AGV Routing Problem

: In this paper, we propose a novel tabu search (NTS) algorithm that improves the e ﬃ ciencies of picking goods of automated guided vehicles (AGVs) in an automatic warehouse by solving the conﬂicts that happen when multiple AGVs work at the same time. Relocation and exchanging operations are designed for the neighborhood searching process based on each pickup-point’s location in the warehouse, along with the initial solution generation and the termination condition in the proposed algorithm. The experimental results show that the tabu search algorithm can e ﬀ ectively optimize the order of pickup points, which could further reduce the total travel distance and improve the e ﬃ ciencies of AGVs in automatic warehouses


Introduction
Traditional warehouse management applies error-prone manual technology or limited applications of bar code technology.With the continuous development and application of Internet of Things (IOT) technology and network technology, the traditional warehouse management system is moving in an intelligent direction.The IOT recognizes and perceives objects through various smart sensors, and then data are transmitted to the information processing center that is specified through the network so that information can be automatically processed and exchanged throughout the world.When applied to warehousing, the IOT can monitor multiple processes, make everything connected to each other, and capture data that help to support decisions and improve overall performance [1].With advantages such as saving space, reducing labor intensity, and improving the level of automation, automatic warehouses have been widely used in storage, inbound transportation, and outbound transportation processes in modern logistics products [2].As one of the pieces of fully automated unmanned transport equipment, due to its high efficiency, flexibility, reliability, safety and system scalability [3], automated guided vehicles (AGVs) have become commonly-used pieces of transportation equipment in warehouse systems [4].An AGV that is powered by batteries is usually guided by one or several combinations of electromagnetic, optical and laser navigation technologies, moving along an arranged path and having the function of avoiding collisions [5].Order picking is the process of taking goods off a shelf according the conflicts that occur while multiple AGVs work at the same time, and then we design a suitable neighborhood search method to accelerate the convergence of the algorithm, all with the goal of path optimization.Finally, the performances of our algorithm are evaluated by simulation experiments.
The rest of this paper is organized as follows.The mathematical formulation of the multi-AGV routing optimization problem is given in Section 2, and the conflict types and solutions' representation are introduced in Section 3. Sections 4 and 5 are devoted to the design and analyses of our TS algorithm, and, finally, this paper is concluded in Section 6.

Work Flow of Picking Up Goods
A plane diagram of a common-used automatic warehouse is illustrated by the grid method [25] in Figure 1, which is divided into multiple rows and columns; each cell with the same size has been identified by its index.In order to make full use of ground resources, only one row or one column was designed for the transportation passageway, that is, the white areas in Figure 1 are the transportation passageways, while the gray ones are the locations of goods.Before working, all the AGVs are concentrated on the upper left corner (i.e., AGV1, AGV2 and AGV3 in Figure 1), and they then exit from the lower right corner (i.e., cell 150) when they finish the tasks.During the working process, the AGVs start from their initial locations, travel through the passageways to take the goods from shelves according to the orders, and finally deliver these goods to the exit.
Mathematics 2020, 8, 279 3 of 16 a suitable neighborhood search method to accelerate the convergence of the algorithm, all with the goal of path optimization.Finally, the performances of our algorithm are evaluated by simulation experiments.The rest of this paper is organized as follows.The mathematical formulation of the multi-AGV routing optimization problem is given in Section 2, and the conflict types and solutions' representation are introduced in Section 3. Sections 4 and 5 are devoted to the design and analyses of our TS algorithm, and, finally, this paper is concluded in Section 6.

Work Flow of Picking Up Goods
A plane diagram of a common-used automatic warehouse is illustrated by the grid method [25] in Figure 1, which is divided into multiple rows and columns; each cell with the same size has been identified by its index.In order to make full use of ground resources, only one row or one column was designed for the transportation passageway, that is, the white areas in Figure 1 are the transportation passageways, while the gray ones are the locations of goods.Before working, all the AGVs are concentrated on the upper left corner (i.e., AGV1, AGV2 and AGV3 in Figure 1), and they then exit from the lower right corner (i.e., cell 150) when they finish the tasks.During the working process, the AGVs start from their initial locations, travel through the passageways to take the goods from shelves according to the orders, and finally deliver these goods to the exit.

Problem Description and Mathematical Formulation
To solve a multi-AGV routing problem in an automatic warehouse, one usually adopts two-step process: (1) Determine the order of goods for each AGV, i.e., assign goods to different AGVs to sort the goods; (2) according to the order of the goods, calculate the shortest transport path among the pick-up points, entrances, and exit.It must be ensured that the AGVs can complete the given task, and, moreover, that there is no conflict within any pair of two AGVs in the transportation network.
The problem is based on the following assumptions: (1) One only focuses on the issue of taking out goods, while the time of taking out goods is not counted.
(2) The number of AGVs is fixed.
(3) Since one only considers the case that the goods volume or quality is small enough and will not exceed the AGV capacity, the capacity limitations are ignored.(4) One must consider each AGV as a particle with a constant velocity, regardless of turning time and acceleration.(5) The starting and ending points of each AGV pickup path are the entrance and exit, respectively.

Problem Description and Mathematical Formulation
To solve a multi-AGV routing problem in an automatic warehouse, one usually adopts two-step process: (1) Determine the order of goods for each AGV, i.e., assign goods to different AGVs to sort the goods; (2) according to the order of the goods, calculate the shortest transport path among the pick-up points, entrances, and exit.It must be ensured that the AGVs can complete the given task, and, moreover, that there is no conflict within any pair of two AGVs in the transportation network.
The problem is based on the following assumptions: (1) One only focuses on the issue of taking out goods, while the time of taking out goods is not counted.
(2) The number of AGVs is fixed.
(3) Since one only considers the case that the goods volume or quality is small enough and will not exceed the AGV capacity, the capacity limitations are ignored.(4) One must consider each AGV as a particle with a constant velocity, regardless of turning time and acceleration.(5) The starting and ending points of each AGV pickup path are the entrance and exit, respectively.(6) Each pickup point is processed only once.(7) The distance to the adjacent cell is 1, and the time taken to traverse that distance is 1.
The aim is to obtain the shortest transportation path to complete the order task.The path between any two points is directly arranged as the shortest path, and AGVs should not conflict with other AGVs in the process of driving.
The following notations are listed in Table 1 to describe the problem:  (6) Each pickup point is processed only once.(7) The distance to the adjacent cell is 1, and the time taken to traverse that distance is 1.
The aim is to obtain the shortest transportation path to complete the order task.The path between any two points is directly arranged as the shortest path, and AGVs should not conflict with other AGVs in the process of driving.
The following notations are listed in Table 1 to describe the problem:   (1) The distance from the entrance i to the pickup point j: Path (1, A) and path (2, B) show the cases when c i < c j .
(2) The distance from the pickup point i to the pickup point j: If c i ≠ c j : Otherwise: (1) The distance from the entrance i to the pickup point j: Path (1, A) and path (2, B) show the cases when c i < c j .
(2) The distance from the pickup point i to the pickup point j: If c i c j : Path (B, C) shows the case when c i < c j .The shortest path between the paths of two driving directions (B, C) (1) and (B, C) (2) is chosen.
(3) The distance from the pickup point i to the entrance j: Path (C, Exit) shows this case.According to the above description, the mathematical programming model of the problem can be obtained as follows: Subject to: The objective is represented by Equation ( 1), which minimizes the total travel distance.Equations ( 2)-( 4), respectively, indicate that in the AGV pickup sequence, the AGV cannot return to the entrance from the pickup point, go to any pickup point from the exit, or go to any entrance from the exit.Equation ( 5) limits the AGV not to stay at a point after visiting it.Equation ( 6) restricts the route so that each pickup point is visited only once.Equation (7) states that at least one pickup point should be arranged for each AGV.

Conflict Types and Solving Approaches
According to the driving direction of an AGV when a conflict occurs in the path planning process, the conflicts can be divided into two types.

Opposite Direction Conflict
The opposite direction conflict is the conflict between two AGVs that meet at the same location while running in opposite directions, so they collide with each other.The solution is to swap the subsequent pickup points when two AGVs collide.Figures 3 and 4 show an example.Suppose there is an opposite direction conflict between path A1-A2-A3 and path B1-B2-B3 and the conflict point is at the yellow cell where two AGVs arrive at the same time.Two pickup point sequences and corresponding driving paths before and after eliminating conflicts are shown.The total distance is reduced due to the reduction of overlapping sections.

Uniform Direction Conflict
The uniform direction conflict is the conflict between two AGVs that meet at the same location while running in same direction, so they collide with each other.The solution is that one AGV waits for time 1, and the AGV that takes shorter time to pass the subsequent path is selected to wait. Figure 5 shows an example: Two AGVs go to right after meeting, and the conflict point is at the yellow cell.Since the subsequent pickup points of each AGV are already arranged when the algorithm runs, the AGV with the shortest time to run the subsequent path can be calculated, and its kept waiting time is 1.For the sake of convenience, we also classified a further conflict that is caused by waiting after solving uniform conflicts as such.

Initial Solution Generation
The method of generating the initial solution is an improvement on the nearest neighbor method:

Uniform Direction Conflict
The uniform direction conflict is the conflict between two AGVs that meet at the same location while running in same direction, so they collide with each other.The solution is that one AGV waits for time 1, and the AGV that takes shorter time to pass the subsequent path is selected to wait. Figure 5 shows an example: Two AGVs go to right after meeting, and the conflict point is at the yellow cell.Since the subsequent pickup points of each AGV are already arranged when the algorithm runs, the AGV with the shortest time to run the subsequent path can be calculated, and its kept waiting time is 1.For the sake of convenience, we also classified a further conflict that is caused by waiting after solving uniform conflicts as such.

Initial Solution Generation
The method of generating the initial solution is an improvement on the nearest neighbor method:

Uniform Direction Conflict
The uniform direction conflict is the conflict between two AGVs that meet at the same location while running in same direction, so they collide with each other.The solution is that one AGV waits for time 1, and the AGV that takes shorter time to pass the subsequent path is selected to wait. Figure 5 shows an example: Two AGVs go to right after meeting, and the conflict point is at the yellow cell.Since the subsequent pickup points of each AGV are already arranged when the algorithm runs, the AGV with the shortest time to run the subsequent path can be calculated, and its kept waiting time is 1.For the sake of convenience, we also classified a further conflict that is caused by waiting after solving uniform conflicts as such.

Uniform Direction Conflict
The uniform direction conflict is the conflict between two AGVs that meet at the same location while running in same direction, so they collide with each other.The solution is that one AGV waits for time 1, and the AGV that takes shorter time to pass the subsequent path is selected to wait. Figure 5 shows an example: Two AGVs go to right after meeting, and the conflict point is at the yellow cell.Since the subsequent pickup points of each AGV are already arranged when the algorithm runs, the AGV with the shortest time to run the subsequent path can be calculated, and its kept waiting time is 1.For the sake of convenience, we also classified a further conflict that is caused by waiting after solving uniform conflicts as such.

Initial Solution Generation
The method of generating the initial solution is an improvement on the nearest neighbor method:

Initial Solution Generation
The method of generating the initial solution is an improvement on the nearest neighbor method: (1) First, arrange the first pickup point for each AGV as the one that is closest to the AGV's entrance.
(2) Arrange the next nearest pickup point for the AGVs that takes shortest time to pick up all arranged goods.(3) Arrange exit after all pickup points have been arranged.
There may be more than one AGV waiting to be arranged in processes ( 1) and ( 2), so if some AGVs want to select the same pickup point, the pickup point is assigned to the nearest AGV.In the above process, conflicts need to be checked and dealt with every time a pickup point or exit is arranged.

Neighborhood Search
We propose a relocation operation and exchanging operation combined with the pickup location of a pickup point.Before every iteration begins, the pickup point sequence of each AGV in the current solution is grouped: Entrances and the exit are grouped separately, and consecutive pickup points that are undertaken at same pickup passageway are divided into a group.Figure 6 shows an example of the grouping results, where the column number of passageway is marked in blue and the warehouse is designed to house 600 cells (20 rows and 30 columns).
Mathematics 2020, 8, 279 7 of 16 (1) First, arrange the first pickup point for each AGV as the one that is closest to the AGV's entrance.
(2) Arrange the next nearest pickup point for the AGVs that takes shortest time to pick up all arranged goods.(3) Arrange exit after all pickup points have been arranged.
There may be more than one AGV waiting to be arranged in processes ( 1) and ( 2), so if some AGVs want to select the same pickup point, the pickup point is assigned to the nearest AGV.In the above process, conflicts need to be checked and dealt with every time a pickup point or exit is arranged.

Neighborhood Search
We propose a relocation operation and exchanging operation combined with the pickup location of a pickup point.Before every iteration begins, the pickup point sequence of each AGV in the current solution is grouped: Entrances and the exit are grouped separately, and consecutive pickup points that are undertaken at same pickup passageway are divided into a group.Figure 6 shows an example of the grouping results, where the column number of passageway is marked in blue and the warehouse is designed to house 600 cells (20 rows and 30 columns).

Relocation Operation
The relocation operation is to move a group of pickup points from one AGV to another AGV.The group of pickup points can be spilt by drawing a line between two adjacent points, and then one part can be inserted into another AGV sequence.Figure 7 shows all optional relocation sequences for a group of pickup points.

Relocation Operation
The relocation operation is to move a group of pickup points from one AGV to another AGV.The group of pickup points can be spilt by drawing a line between two adjacent points, and then one part can be inserted into another AGV sequence.Figure 7 shows all optional relocation sequences for a group of pickup points.Group   If another AGV has a group whose passageway number is same, the relocation sequence is combined into the group.Then, the combined sequence is sorted the smallest to the largest, and the opposite sequence becomes another candidate solution.Figure 8 shows an example of this case: Group 2 in AGV 1 (not be split) is relocated into group 3 in AGV 2. If another AGV has no group whose passageway number is same, the relocation sequence is relocated into a proper location.Suppose the passageway column number of the relocation sequence is c, and the passageway column numbers of two adjacent groups in another AGV are c 1 and c 2 .The relocation location satisfies the following condition: c∈[ min c 1 ,c 2 , max c 1 ,c 2 ) If another AGV has a group whose passageway number is same, the relocation sequence is combined into the group.Then, the combined sequence is sorted from the smallest to the largest, and the opposite sequence becomes another candidate solution.Figure 8 shows an example of this case: Group 2 in AGV 1 (not be split) is relocated into group 3 in AGV 2.  If another AGV has a group whose passageway number is same, the relocation sequence is combined into the group.Then, the combined sequence is sorted from the smallest to the largest, and the opposite sequence becomes another candidate solution.Figure 8 shows an example of this case: Group 2 in AGV 1 (not be split) is relocated into group 3 in AGV 2. If another AGV has no group whose passageway number is same, the relocation sequence is relocated into a proper location.Suppose the passageway column number of the relocation sequence is c, and the passageway column numbers of two adjacent groups in another AGV are c 1 and c 2 .The relocation location satisfies the following condition: c∈[ min c 1 ,c 2 , max c 1 ,c 2 ) Figure 8.An example in a relocation operator when group 2 in AGV 1 (not be split) is relocated into group 3 in AGV 2.
If another AGV has no group whose passageway number is same, the relocation sequence is relocated into a proper location.Suppose the passageway column number of the relocation sequence For example, group 3 in AGV 1 can be relocated to the location between groups 3 and 4 in AGV 2. The split method and the order of relocating are similar.

Exchanging Operation
The exchanging operation is used to exchange a group of pickup points in two AGVs.Suppose that there are three continuous groups at passageway column number c 1 , c 2 , c 3 in AGV 1 and three continuous groups at passageway column number c 4 , c 5 , c 6 in AGV 2. If a group at passageway number c 2 in AGV 1 can be exchanged with group at passageway column number c 5 in AGV 2 and there are no groups at passageway column number c 5 in AGV 1 and no groups at passageway number c 2 in AGV 2, the swapped should satisfy the following conditions: For example, the group at passageway column number 11 in AGV 1 can be exchanged with the group at passageway number 14 in AGV 2. Then two exchanged sequences are sorted and reversed to be candidate solutions, which are similar to those designed in the relocation operation.

Tabu Object and Aspiration Criterion
The tabu object is the objective function value.If all candidate solutions are tabooed in one of the iterations, the candidate solution with the best objective function value breaks the ban.

Flow Chart of our TS Algorithm
The tabu object is the objective function value.If all candidate solutions are tabooed in one the candidate solution with the best objective function value breaks the ban.The concrete procedures of the novel tabu search (NTS) algorithm are expressed as follows.
Step 1: Set parameters, such as tabu list length (TL) and maximum number of iterations (τ max ).The tabu list is set to be empty.
Step 2: Generate the initial solution by using an improved nearest neighbor method.Set the generation as τ = 0.
Step 3: Use improved relocation and exchange operators to generate candidate solution sets.If all candidates are tabooed, go to step 4; otherwise go to step 5.
Step 4: The best solution of candidate solution set breaks the ban and is selected as the current solution.Then, go to step 6.
Step 5: Select the best solution in the candidate solution set that is not tabooed as the current solution.Then, go to step 6.
Step 7: Output the best solution and stop.The flowchart of the NTS algorithm is shown in Figure 9.
(1)Initialize parameters: tabu list length TL and maximum iteration τmax, and tabu list is set to be empty.
(2)Generate the initial solution.The current solution and best solution are denoted by π and π* respectively.

Meet termination condition?
Execute relocate and exchange operators on current solution, and generate candidate solution set.The best solution of candidate solution set breaks the ban and is selected as the current solution.
Select the best solution in the candidate solution set that is not tabooed as the current solution.

Computational Results
In the simulation experiment, the warehouse is divided into 600 cells (20 rows and 30 columns).The relevant control parameters of the algorithm are measured by the orthogonal test design method: a tabu list length of 7 and a maximum number of iterations of 100.The specific process of the orthogonal experimental design of the NTS algorithm is shown in Appendix A. Nine combinations of n = 60, 100, and 140 and m = 3, 5, and 8 were tested.Each combination tested 10 groups of random data and recorded the final objective function value.All algorithms were coded in C++ programming language and implemented on a PC with an Intel Core i5 CPU (1.6 GHz × 4) and 4 GB RAM.
As shown in Tables 2 and 3, the proposed algorithm (NTS) was compared with two algorithms.Compared with the TS algorithm that used the classical relocation and exchange operators, the NTS algorithm was superior in more than 90% of cases, which proves that the NTS algorithm design is reasonable.Compared with the differential evolution algorithm with a local search strategy (HDDE), from the average running time of each group of experiments, the NTS algorithm ran between 1.942 and 26.734 s, the TS algorithm ran between 3.363 and 37.424 s (and was always slower than the NTS algorithm), while the HDDE algorithm could not get a solution in 60 s.The relative improvement percentage GAP was employed to measure the performance of the NTS algorithm.The GAP can be calculated by Equation ( 8): where Z NTS denotes the average final objective value of the NTS algorithm and Z HDDE denotes the average final objective value obtained by the HDDE algorithm.Figure 10 shows the trend of the average GAP values.

Computational Results
In the simulation experiment, the warehouse is divided into 600 cells (20 rows and 30 columns).The relevant control parameters of the algorithm are measured by the orthogonal test design method: a tabu list length of 7 and a maximum number of iterations of 100.The specific process of the orthogonal experimental design of the NTS algorithm is shown in Appendix A. Nine combinations of n = 60, 100, and 140 and m = 3, 5, and 8 were tested.Each combination tested 10 groups of random data and recorded the final objective function value.All algorithms were coded in C++ programming language and implemented on a PC with an Intel Core i5 CPU (1.6 GHz × 4) and 4 GB RAM.
As shown in Tables 2 and 3, the proposed algorithm (NTS) was compared with two algorithms.Compared with the TS algorithm that used the classical relocation and exchange operators, the NTS algorithm was superior in more than 90% of cases, which proves that the NTS algorithm design is reasonable.Compared with the differential evolution algorithm with a local search strategy (HDDE), from the average running time of each group of experiments, the NTS algorithm ran between 1.942 and 26.734 s, the TS algorithm ran between 3.363 and 37.424 s (and was always slower than the NTS algorithm), while the HDDE algorithm could not get a solution in 60 s.The relative improvement percentage GAP was employed to measure the performance of the NTS algorithm.The GAP can be calculated by Equation ( 8): where Z NTS denotes the average final objective value of the NTS algorithm and Z HDDE denotes the average final objective value obtained by the HDDE algorithm.Figure 10 shows the trend of the average GAP values.The following can be observed from Figure 10.With the increase of the number of pickup points n, the average GAP value always became larger and larger.Because of the growing scale of the problem, the differences between the HDDE and NTS algorithms were clearer.With the rise of the number of AGVs m, the average GAP value went up when n = 100 and 140, which was because the number of possible order combinations of pickup points enlarged.When n = 60, the trend did not follow the same pattern, probably due to instability of the NTS algorithm.The high effectiveness of the NTS algorithm is indicated.By improving the neighborhood structure, our NTS algorithm operates on one or more adjacent points and moves them to a reasonable position in a good order to avoid increasing unnecessary path lengths.Thus, our NTS algorithm retains the advantages of the The following can be observed from Figure 10.With the increase of the number of pickup points n, the average GAP value always became larger and larger.Because of the growing scale of the problem, the differences between the HDDE and NTS algorithms were clearer.With the rise of the number of AGVs m, the average GAP value went up when n = 100 and 140, which was because the number of possible order combinations of pickup points enlarged.When n = 60, the trend did not follow the same pattern, probably due to instability of the NTS algorithm.The high effectiveness of the NTS algorithm is indicated.By improving the neighborhood structure, our NTS algorithm operates on one or more adjacent points and moves them to a reasonable position in a good order to avoid increasing unnecessary path lengths.Thus, our NTS algorithm retains the advantages of the classic TS, with better improvements.However, the classical TS algorithm only operates on one pickup point in the neighborhood operator, which is less flexible than the NTS algorithm.The HDDE algorithm hopes to obtain a better solution by introducing a local search strategy, and the local search operation generates significant time consumption.Due to the randomness of the HDDE algorithm itself, a large number of long paths are generated, and good results cannot be obtained even at the cost of time.Long paths greatly affect the performance of good paths, so a good order cannot be preserved.Therefore, we found that because of the distance between each pair of pickup points in the AGV path problem, of 16 the ability to sort the pickup point is key to the performance of the algorithm.The NTS algorithm proposed in this paper solves this problem well and shows the advantage of an intelligent optimization algorithm that is based on neighborhoods, while an intelligent optimization algorithm that is based on population, like the HDDE, is not suitable for solving this problem.

Conclusions
Customer requirements are changing, and expectations are rising.Companies are also facing challenges from global competitors that offer customers a wide range of choices via the internet.Intelligent warehouses support enterprises in fierce market competition, overcoming challenges such as demand fluctuation [26].The normal operation of the warehouse process is the basis of logistics supply chain improvement [27].With the rapid development of warehouse logistics, the routing optimization of AGVs is playing an important role in improving the efficiency of goods selection and customer satisfaction, thus attracting much attention.An excellent AGV routing scheme can classify and deliver the orders of consumers earlier, which can greatly improve the experience and satisfaction of consumers [28].The TS algorithm proposed in this article considers situations that may improve the current feasible solutions for designing neighborhood structures, eliminating bad feasible solutions, and accelerating the neighborhood search speeds.Finally, our numerical experiments indicated that this algorithm can improve calculation accuracy when solving the AGV routing problems.Compared with those employed in previous studies, our algorithm adopts conflict resolution methods do not sacrifice distance, ensure the shortest distance between two points, and try to compress feasible regions to find excellent solutions faster.Therefore, we have found that for AGV path problems, neighborhood-based intelligent optimization algorithms are often more efficient than population-based intelligent optimization algorithms.The improved strategy used by the NTS algorithm that we have proposed s is effective and has strong applicability to AGV path optimization problems in real-life warehouse management.
The main limitation of the proposed algorithm is related to the assumptions that were made in its design process.Some warehouses have a large volume or a high quality of goods, so one AGV may not carry a lot during the actual warehousing process [29].Once capacity constraints are taken into account, the number of AGVs in and out of storage increases, and the resolution of conflicts becomes more complex.
Due to the variability of such problems and the complexity of solving them, research on such problems is still continuing, and further research will focus on two directions: (1) The solving of multiple objectives optimization problems, such as reducing the maximum pickup time and the number of AGV used, in order to offer a wide range of solutions that represent a balance between objectives and Pareto-based strategies [30]; (2) the consideration of cases when the volume of goods exceeds the AGV 's capacity to adapt to the picking processes of different sizes of goods.
shown in Table A2.Each group of experiment included 10 random tests, n = 60, and the improved value of the algorithm was recorded.The Experimental Result column was the mean of 10 groups of improved values.The improved value Z OS − Z FS Z FS × 100%, where Z OS denotes the objective value of the initial solution and Z FS denotes the final objective value obtained by the NTS algorithm, was employed.

Figure 2 .
Figure 2. Examples of calculation method for the travel distance between pickup point (or entrance) i and pickup point (or exit) j (d ij ).

Figure 2 .
Figure 2. Examples of calculation method for the travel distance between pickup point (or entrance) i and pickup point (or exit) j (d ij ).

Figure 3 .Figure 4 .
Figure 3. Driving paths before and after eliminating conflicts in opposite direction conflict.

Figure 5 .
Figure 5. Uniform direction conflict when two AGVs meet at the yellow cell and are arranged to go to right.

Figure 3 .Figure 3 .Figure 4 .
Figure 3. Driving paths before and after eliminating conflicts in opposite direction conflict.

Figure 5 .
Figure 5. Uniform direction conflict when two AGVs meet at the yellow cell and are arranged to go to right.

Figure 4 .
Figure 4. Pickup points sequences before and after eliminating conflicts in opposite direction conflict.

Figure 3 .Figure 4 .
Figure 3. Driving paths before and after eliminating conflicts in opposite direction conflict.

Figure 5 .
Figure 5. Uniform direction conflict when two AGVs meet at the yellow cell and are arranged to go to right.

Figure 5 .
Figure 5. Uniform direction conflict when two AGVs meet at the yellow cell and are arranged to go to right.

Figure 6 .
Figure 6.Grouping results for two AGVs' picking sequences in which every group is separated by an arrow.
and the passageway column numbers of two adjacent groups in another AGV are c 1 and c 2 .The relocation location satisfies the following condition: c ∈ [min {c 1 , c 2 }, max{c 1 , c 2 })

Table 1 .
Notations and meanings.Due to the layout characteristics of the automatic warehouse, the value of d ij can be calculated as follows, where (p 1 ,p 2 ) indicates the driving path from point p 1 to point p 2 .Some examples are shown in Figure2.

Table 3 .
Computational results of the NTS, TS and HDDE algorithms regarding running time(s).

Table A1 .
Orthogonal factor level table of the NTS algorithm.

Table A2 .
Orthogonal experimental design table of the NTS algorithm.