Abstract

This paper explores deep into the collaborative scheduling of common rail dual automatic guided vehicles (AGVs). Firstly, a dual AGV scheduling model was constructed to minimize the overall time of material distribution. Then, a novel scheduling algorithm was developed to dynamically plan the orders based on time windows. To effectively minimize the distribution time, heuristic algorithms were adopted to initialize the distribution order of materials. On this basis, the collaboration between the two AGVs was innovatively designed based on dynamic planning and time windows, making up for the defects of traditional methods in AGV cooperation. This greatly shortens the running time of the entire system in material distribution. The computing results fully demonstrate the efficiency and rationality of our algorithm. Finally, our algorithm was proved to be superior to the benchmark method through experiments on actual industrial instances.

1. Introduction

With economic growth and industrial development, there is a rising demand for automation and intelligent transport. This gives birth to a series of automated logistics equipment, such as automatic identification system, automatic guided vehicle (AGV) system, and cargo tracking system. The AGV system boasts greater application potential than the other systems, owing to its advantages in automation and efficiency.

The operations in many factories are faced with a nondeterministic polynomial-time (NP) hard problem: two AGVs at the opposite ends of a rail need to deliver materials to tanks along the rail, and the material distribution should be planned reasonably to minimize the distribution time. This problem was defined by Erdoğan in 2013 as the twin robots scheduling problem (TRSP) [1].

The TRSP applies widely in the robotic industry, where gantry robots are employed by job-shops for packaging, assembly, palletizing, and depalletizing [2]. Similar scheduling problems have arisen in the context of automated parking garages [3] and automated libraries [4]. In addition, the TRSP can be extended to multidimensional problems, namely, robots working on shelves, and multirobot problems like multirobot cooperation system [5, 6].

The dispatching of common rail dual AGVs is a typical TRSP in factories to quickly dispatch materials between tanks or automatically schedule express delivery in warehouses. Traditionally, this novel and specific problem is solved by simple heuristic algorithms, such as genetic algorithms (GA) and [710] particle swarm optimization (PSO) [1113]. Due to the sheer scale of the problem, it is difficult for these algorithms to converge to the global optimal solution. Thus, it is urgent an efficient and feasible scheduling algorithm for common rail dual AGVs.

This paper establishes a model of the common rail dual AGVs and presents an efficient solution to the model. The remainder of this paper is organized as follows: Section 2 sets up a dual AGV scheduling model to minimize the running time of the AGV system; Section 3 presents a novel heuristic scheduling algorithm that dynamically plans material distribution tasks based on time windows; Section 4 compares our method with the benchmark method through experiments on a set of benchmark instances; Section 5 wraps up this work.

2. Model Construction

To model the common rail dual AGV system, the actual factory scheduling problem was abstracted and redefined as follows (Table 1).

The common rail dual AGV system has two AGVs, one rail, and two independent hangars. During the operation, the two AGVs automatically drive in opposite directions along the same rail. Each end of the rail leads to a hangar. The tanks are evenly arranged along one or both sides of the rail for material stacking. Multiple materials can be stacked in the same tank but can only be picked up from top to bottom.

Each AGV is preallocated by the system. The operation of each AGV includes three steps: picking, transporting, and placing along the rail. The AGV can only handle one material at a time. After completing all tasks, the AGV must return to its hangar to be reset for the next operation.

To avoid collisions, a safe distance must be maintained between the two AGVs. Suppose that the two AGVs operate at the same speed on the rail, which can be calculated at time t when passing by a tank. Then, the two AGVs take the same amount of time (on average), T, to pick up and put down the material (Figure 1).

After abstracting the actual problem, the objective is to design a dual AGV scheduling strategy that minimizes the times for the two AGVs to complete the assigned material tasks and return to their respective hangars.

2.1. Dual AGV Scheduling Model with Minimized Time
2.1.1. Motion States and Directions of AGVs

To clearly illustrate the coordinate change of AGVs, the rail was abstracted into a numerical axis with the leftmost end as the origin. It is assumed that the tanks are arranged at equal intervals. The length of each interval and the length of each tank are denoted as and , respectively. Then, the total length of each slot, that is, each tank and its left interval, can be calculated by

The current loading states of the two AGVs can be described by the state variable (i = 1, 2):

The current directions of the two AGVs can be represented by a 0–1 decision variable (i = 1, 2):

Taking the picking and placing processes as static state (through which the two AGVs avoid collision), the current motion states of the two AGVs can be illustrated by another 0–1 decision variable (i = 1, 2):

2.1.2. States of Tanks

If a material is placed in its target tank, the material is compatible with the tank. Otherwise, the material is not compatible with the tank. Let be the current state of the tank. If the tank belongs to the state  = −1, all materials have been delivered to the target tank and the two AGVs have returned to the hangars:

2.1.3. Tank Constraints

The materials are handled by the last-in, first-out principle. That is, each material is transported to the current tank to the target tank , where k is the serial number of the target tank. The destination slot must be empty or only compatible before the material is placed:

If , there are incompatible materials. The number of noncompatible materials is denoted as . Then, it is necessary to judge the direction of the AGV. If , the AGV temporarily places the target material in the right neighbor of the target tank . If , the material is temporarily stored in the left neighbor of the target tank , which can be recorded as .

Next, the AGV drives to and transports incompatible materials to the left neighbor or the right neighbor without temporary storage of until . The time it takes to empty the target tank is denoted as . Figure 2 illustrates the rules for material delivery.

2.1.4. Distribution Constraint

When being delivered to its destination tank, each material must be distributed by the specified AGV. Hence, an index was introduced to judge whether AGV carries materials that are compatible with the target tank:

and, then, at any moment, make both values of the two AGVs zero:

and this constraint ensures that each AGV is delivering the materials allocated to it at any time.

2.1.5. Safe Distance Constraint

The positions of AGV1 and AGV2 on the rail, denoted as and , can be, respectively, derived aswhere and are tank numbers of AGV1 and AGV2, respectively.

Then, the distance between and can be represented by . There is a phased conflict between the schedules of the two AGVs. To avoid directional conflict between and , at least one slot length must be maintained between them as the safe distance [14]:

Thus, the relationship between the locations of the two AGVs can be described as

2.2. Dual AGV Scheduling Model with Minimal Time

Under the above constraints, a dual AGV scheduling model can be established to minimize the time of material distribution. The paths of the AGVs can be described by an undirected graph , where  =  is the set of tanks, and  =  is the set of intervals between tanks and . Then, the length of the journey of each AGV can be described as an integer multiple of slot length :

Suppose that an AGV changes direction for times on the way to deliver materials. Let and be the start and end points of the AGV at the second change of direction (0 ≤ BB ≤ bb), respectively. Then, the route of the AGV is denoted as . The travel length of the AGV can be expressed as

Obviously, each AGV picks up the same amount of materials as those it delivers. Let n be the times of pick-ups (and also the times of placements) of the AGV, let t be the time to pass through a tank, and let T be the time of picking up and putting down materials. Then, the time for each AGV to complete its tasks and return to its hangar can be determined. The total time for AGV1 to complete its tasks and return to its hangar can be calculated bywhere is the length of the journey of AGV1 and is the number of pick-ups or placements of AGV1.

The total time for AGV2 to complete its tasks and return to its hangar can be calculated bywhere is the length of the journey of AGV2 and is the number of pick-ups or placements of AGV2.

Then, the total running time of the entire AGV system equals the longer running time between the two AGVs:

In this way, a dual AGV scheduling model can be established aiming to let the two AGVs complete their tasks and return to their respective hangar as early as possible, that is, to minimize the running time of the entire AGV system:

3. Scheduling Algorithm

3.1. Time Windows Model

Let be the -th occupied time window on the -th tank, and let be the -th idle time window on the -th tank. At each moment , AGV1 and AGV2 occupy the time window where a tank is located. Then, the time to move from the current tank of the material to the target tank can be calculated bywhere is the time to reach the starting tank in a free time; is the time to move from the starting tank to the end tank without considering safe distance; is the additional time to move from to incurred by the location and motion states of the other AGV [15].

3.2. Adding Safe Distance

Under the safe distance, the tank where AGV is located and its left neighbor and right neighbor are occupied simultaneously; moreover, the other AGV cannot appear in this section with this AGV at the same time. Then, the current state of the current slot can be depicted as [16]

For every time t, the state of each slot needs to be changed with the location of the AGV. Figure 3 explains the occupation state of the time window.

3.3. Heuristic Scheduling Algorithm for Dynamic Planning of Material Distribution Tasks Based on Time Windows (DPTW)
3.3.1. Workflow

Step 1. Find the shortest time delivery sequence for the independent delivery state of each AGV by the genetic algorithm (GA)(1)Parameter initializationInitialize the selection, crossover, and mutation probabilities according to the performance of the AGVs.(2)EncodingSet up a coding string of the length and values between 1 and , where is the total number of materials assigned to .(3)Generating the initial solutionRandomly generate a coded string of length ; that is, randomly arrange the order of material delivery, as the initial solution.(4)Fitness calculationTake the penultimate time required to complete the local materials in the current order () as the fitness function. The reciprocal value of the fitness is negatively correlated with the time cost and positively with the fitness of each individual.(5)Population selectionUse the Tournament Selection Method (TSM) [17, 18] to remove some individuals from the population, and select one of the best fit individuals to enter the next population. Repeat this process until the new population equals the original population in size.(6)Crossover and mutationImplement the reverse mutation operator [19] and exchange the order of material distribution.(7)EvolutionObtain the new population and repeat Step (4) until the 10,000-th iteration to get the best fit individuals.(8)DecodingDecode the genetic sequence of the order of local material distribution for each AGV. Store the results of AGV1 and AGV2 in one-dimensional (1D) arrays and , respectively, which reflect the minimum running time in the case of independent interaction.Step 2. Order distribution based on the initial minimum running timeAs shown in Figure 4, distribute the first task to AGV1 and AGV2 according to the initial scheduling plan , obtain the time window of the first task of each AGV, and judge whether there is an overlapping section between the routes of the two AGVs.If yes, let the AGV closer to the destination tank continue with its delivery, and halt the other AGV until the overlapping section is cleared.If not, repeat Step 2 after the delivery to assign the second task as per the initial plan until an overlapping section arises. Once an overlapping section occurs, go to Step 3 for dynamic planning of the next task.Step 3. Dynamic planning of the next task based on time windowsAssign the next task to an AGV after it has placed the current task material and entered the unloaded state .(1)Case 1: the two AGVs do not end the current task in a synchronized manner.If terminates the current task but continues with the current task, dynamically plan the next task of in combination with the time window of ; conversely, dynamically plan the next task of in combination with the time window of .Firstly, search for the nearest tanks on the left and right of the current slot of , and denote them as optional task points and , following the greedy strategy. Take the number of the next materials in the original plan as alternative task point .Next, obtain the time window of the alternative tank separately, and plan the route and time to reach the starting and target tanks.Finally, compare with the time windows of the current target tank, measure the set of overlapping sections , , and , and take the corresponding to as the next task.(2)Case 2: the two AGVs end the current task in a synchronized manner.If and terminate the current task at the same time and if the distribution of the next task to one of them affects that of the other, then and search for the nearest tanks on the left and right of their current slots and denote them as optional task points and following the greedy strategy and also take the number of the next materials in the original plan as alternative task points and .Next, obtain the time windows of the three alternative task points of and , respectively, and plan the route and time for each AGV to reach the starting and target tanks.Finally, establish the set of overlapping sections, and take the least overlapping combinations as the next task of the two AGVs.Step 4. Determine the motion state for the next task(1)Case 1: the two AGVs do not end the current task in a synchronized manner.Let an AGV receive the next task as a collaborator, compare the time windows for transporting the current materials, and choose to stop or stay away for cooperation with the AGV still engaged in material delivery at the end of the overlapping section, according to its location and whether is busy at the next moment:(2)Case 2: the two AGVs end the current task in a synchronized manner.Since there is an overlapping section between the two AGVs, choose the collaborator based on their distances from the starting tank to the target tank. Make the AGV farther away from its target tank as the collaborator, and choose to stop or stay away. The determination of the motion state for the next task is illustrated in Figure 5.Step 5. Repeating Steps 3 and 4 until the end of material distributionRepeat Steps 3 and 4 until all material tasks are completed, return to the hangar, count the transport time of each task, and obtain the shortest time .(2)Running time optimization

To minimize the overall time cost of placing the target materials, the two AGVs can cooperate with each other to empty their target tank under the following conditions.

One AGV can issue an emptying request to the other AGV if their distance satisfies

Suppose that AGV1 is the one issuing the request. Let and be the current position and starting tank of AGV2, respectively; let be the target tank of AGV1 (). If AGV2 is unloaded currently and moves in the same direction (right) as AGV1, then AGV2 will accept the request under the following conditions:

Suppose that AGV2 is the one issuing the request. Let and be the current position and starting tank of AGV1, respectively; let be the target tank of AGV2 (). If AGV1 is unloaded currently and moves in the same direction (right) as AGV2, then AGV1 will accept the request under the following conditions:

Figure 6 explains the process of dual AGVs collaborating with each other.

3.3.2. Algorithm Flow

Figure 7 presents the workflow of the proposed algorithm.

4. Computational Results in Industrial Implementation

To verify its performance, the proposed algorithm was applied to minimize the overall time of the common rail dual AGVs in handling 16 actual orders from a factory. For comparison, the classical GA was also tested to test whether our algorithm can outshine the common baseline search algorithm. Tables 2 to 17 provide the details of the 16 orders.

As shown in Table 18, our algorithm greatly shortened the overall distribution time of the GA, an evidence to its rationality and high performance. Take order 7 as an example to illustrate the rationality and effectiveness of our algorithm. Figure 8 explains the next routes of the two AGVs in the event of a conflict [20].

By our algorithm, the final results of AGV operations and order of material distribution were obtained. Then, the distribution order was randomly changed to obtain new solutions to AGV running time. After the changes, the running time of the AGVs and the relevant solutions were observed to see if our algorithm could lead to the best solution.

Figure 9 presents the randomly changed order and the new running time of the 30 orders in Tables 2 to 17. It can be seen that all the new solutions were greater than the original running time, indicating that the scheduling plan of our algorithm is the best possible solution.

The next step is to verify whether any solution in the 16 solutions is the optimal solution. Taking order 7 as the object, the order of material distributions was changed randomly twice, three times, and four times, respectively. The running time of each change is shown in Figure 10.

It can be seen that, after the changes in material distribution order, the final new solutions were greater than the benchmark value of 785. Hence, the proposed algorithm can always obtain the optimal solution.

5. Conclusions

This paper models and solves the problem of common rail dual AGVs scheduling in a novel way. The proposed solving algorithm for the problem consists of five steps, each of which is described in detail, and provides the scheduling plans considering the various situations of AGV motions. The performance of our algorithm was fully verified through experiments. The results show that our algorithm can solve the problem more efficiently and is more effective than the GA in all cases. Even if the solution structure was partly changed by random, our algorithm could still find the optimal solution very quickly. The future research will extend proposed method to multi-AGV cooperative scheduling or develop even more efficient online dynamic programming algorithms for this problem.

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.