Transport vehicle operation path and scheduling optimization method and system
By building a path library and using particle swarm search algorithms, the vehicle operation path and scheduling of the underground transportation system is optimized, and the problem of inefficient manual control in the existing technology is solved, efficient transportation vehicle scheduling is achieved, and the efficiency and safety of mining operations are improved.
Patent Information
- Application Number
- CN202510318519.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-18
- Publication Date
- 2025-06-27
AI Technical Summary
The existing underground transportation system relies on manual control and is inefficient, especially in complex operating environments of multi-task points and multi-transport vehicles.
By building a path library and using particle swarm search algorithm, the operation path and scheduling scheme of transport vehicles are optimized. The method includes initializing the velocity and position of the particle, calculating the fitness value, performing destruction and repair, mediating space-time conflicts, and updating the particle position and velocity until the global optimal solution is reached.
It realizes efficient optimization of transport vehicle operation paths and scheduling in the complex environment of multi-task points and multi-transport vehicles, and improves the efficiency and safety of mining operations.
Smart Images

Figure CN120218533A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field related to task scheduling optimization, and more specifically, relates to a method and system for optimizing the operation path and scheduling of transport vehicles. Background Art
[0002] With the in-depth development of mine exploitation and underground well operations, the automation and intelligence levels of mine operations have been continuously improved. It emphasizes the comprehensive intelligent upgrade of underground coal mines, reducing the number of workers and increasing efficiency in the mining operation face, implementing remote control, and establishing an intelligent integrated management and control platform using intelligent control technology and digital technology. Especially for underground coal mines, transport vehicles, as important transportation tools, their operation path optimization and scheduling management directly affect the efficiency and safety of mine operations.
[0003] Currently, the underground transportation system is usually manually controlled, relying on fixed transportation routes and schedules arranged based on experience. However, the underground mine roads are usually narrow, and in the complex operation scenarios of multiple task points and multiple transport vehicles, the manual control method is inefficient. Summary of the Invention
[0004] In view of the above-mentioned defects or improvement requirements of the prior art, the present invention provides a method and system for optimizing the operation path and scheduling of transport vehicles, aiming to provide a more efficient scheduling strategy for the complex operations of multiple task points and multiple transport vehicles.
[0005] To achieve the above object, according to one aspect of the present invention, a method for optimizing the operation path and scheduling of transport vehicles is provided, including:
[0006] S1. Construct a path library, which stores the feasible paths from each task point to its corresponding destination and the feasible paths from the destination back to each task point. Each task point has one or more transportation tasks, and all tasks form a task set;
[0007] S2. Initialize the velocity and position of particles in the D-dimensional search space. The particle position is a D-dimensional vector representing the scheduling scheme, which includes three groups of components, respectively representing the execution order of all tasks, the vehicles assigned to each task, and the transportation routes of each task. The transportation route of a task includes the empty-load route from the vehicle driving to the task point of this task and the heavy-load route from the task point of this task to the destination;
[0008] S3. Calculate the fitness value of each current particle. The fitness value is the time to complete the task set, and update the global optimal solution of the particle position according to the fitness value;
[0009] S4. Destroy and repair the current global optimal solution to obtain a new solution;
[0010] S5. Determine whether there is a spatio-temporal conflict among vehicles in the new solution. If not, jump to S6. If so, mediate the conflict to obtain a mediation solution. If the mediation solution is better than the current new solution, update the new solution to the mediation solution; otherwise, do not update. The ways to mediate the conflict include: first, search in the path library for other feasible paths that can resolve the conflict and ensure that the conflicting vehicles can complete their tasks for path replacement. If there is no replaceable path, resolve the conflict by adjusting the departure time of the conflicting vehicles;
[0011] S6. Determine whether the fitness value of the current new solution minus the fitness value of the current global optimal solution is less than the threshold. If so, update the current global optimal solution to the current new solution; otherwise, retain the current global optimal solution. The threshold decays as the number of local iterations increases;
[0012] S7. Determine whether the local iteration upper limit is reached. If so, execute S8; otherwise, jump to S4;
[0013] S8. Determine whether the global iteration upper limit is reached. If so, execute S9; otherwise, update the position and velocity of each particle and jump to S3;
[0014] S9. Output the current global optimal solution, and decode it to obtain a transportation operation scheduling plan. The scheduling plan includes which tasks each vehicle is responsible for executing, its driving route and driving time for executing the tasks.
[0015] Optionally, in S4, disrupt and repair the current global optimal solution, including:
[0016] Disrupt and repair the execution order of tasks, or, disrupt and repair the vehicles assigned to tasks, or, both disrupt and repair the execution order of tasks and disrupt and repair the vehicles assigned to tasks.
[0017] Optionally, use a task execution order disruption operator to disrupt the execution order of tasks, and use a task execution order repair operator to repair the execution order of tasks; use a vehicle allocation disruption operator to disrupt the vehicle allocation of tasks, and use a vehicle allocation repair operator to repair the vehicle allocation of tasks;
[0018] The task execution order disruption operator is selected from the following four operators;
[0019] B01. Random disruption operator: Randomly select k tasks, remove them from the current solution and temporarily store them in the deletion set;
[0020] B02. Greedy disruption operator 1: Calculate the impact of removing each task on the completion time of the original sequence, and take the top k tasks with the greatest impact as the tasks to be removed;
[0021] B03. Greedy Destruction Operator 2: Calculate the impact on the completion time of the original sequence after removing each task, select the task with the greatest impact as the task to be removed currently, update the current sequence and repeat k times to achieve the deletion of k tasks and temporarily store them in the deletion set;
[0022] B04. Similarity Destruction Operator: Randomly remove 1 task, calculate the similarity of the removed task to the remaining tasks, then remove k - 1 tasks with higher similarity, a total of k tasks are removed and temporarily stored in the deletion set;
[0023] The task execution order repair operator is selected from the following five operators:
[0024] R01. Random Repair Operator: Randomly select k positions and insert the tasks in the deletion set sequentially;
[0025] R02. Optimal Repair Operator: Starting from the first task in the deletion set, each time select the position with the minimum completion time for insertion until all tasks are inserted;
[0026] R03. Random Optimal Repair Operator: After randomly shuffling the order of the tasks in the deletion set, randomly select k positions and insert the tasks in the deletion set sequentially;
[0027] R04. Sub - optimal Repair Operator: Starting from the first task in the deletion set, each time select the position with the second - smallest completion time for insertion until all tasks are inserted;
[0028] R05. Regret Repair Operator: Calculate the completion times of the optimal insertion and sub - optimal insertion of each removed task, the regret value is the difference between the two completion times, sort the list of removed tasks from largest to smallest regret value, and perform the same operation as the optimal repair operator;
[0029] The vehicle allocation disruption operator is selected from the following two operators:
[0030] B11. Random Disruption Operator: Randomly remove some tasks of a certain k vehicles;
[0031] B12. Greedy Disruption Operator: Select the k vehicles with the heaviest loads and remove some of their tasks;
[0032] The vehicle allocation repair operator is selected from the following two operators:
[0033] R11. Load - balancing Repair Operator: Re - allocate the removed tasks to the vehicle with the lightest current load;
[0034] R12. Nearest - allocation Repair Operator: Re - allocate the removed tasks to the available vehicle closest to the task point.
[0035] Optionally, in S6, the threshold decays as the number of local iterations increases, including:
[0036] The threshold decays according to a set coefficient ε, satisfying T m+1 = εT m , where m represents the number of local iterations, and T m represents the threshold of the m-th local iteration.
[0037] Optionally, in S8, the position and velocity of the particle are updated based on the inertial weight ω, where the inertial weight ω is updated as the global iteration progresses. The calculation formula for the inertial weight ω at the k-th global iteration is:
[0038]
[0039] In the formula, K max is the upper limit of global iteration, ω max is the maximum inertial weight, and ω min is the minimum inertial weight.
[0040] Optionally, in S2, the Latin hypercube sampling method is used to initialize the velocity and position of the particle in the search space.
[0041] Optionally, constructing the path library in S1 includes finding the feasible paths from the starting point sp to the ending point fp. The specific steps include:
[0042] S11. Initialize the set of nodes to be processed, the set of processed nodes, and the set of path information. Add the starting point sp to the set of nodes to be processed;
[0043] S12. Determine whether there are nodes in the set of nodes to be processed. If so, execute S13; otherwise, jump to S19;
[0044] S13. Select the node with the minimum total cost from the set of nodes to be processed as the current node. Remove the current node from the set of nodes to be processed and move it to the set of processed nodes. Record the current node and its parent node;
[0045] S14. Check whether the current node is the ending point fp. If so, execute S15; otherwise, jump to S16:
[0046] S15. Trace back from the ending point fp to the starting point sp in the set of processed nodes. Add the path from the starting point sp to the ending point fp to the set of path information, and jump to S12;
[0047] S16. Find all adjacent nodes pointed to by the current node to form its adjacent node set;
[0048] S17. Determine whether the current adjacent node set is empty. If so, jump to S12; otherwise, execute S18;
[0049] S18. Take an adjacent node from the current adjacent node set and calculate its actual cost. If the node is still in the set to be processed, compare the current actual cost of the node with the known actual cost recorded for the node in the set to be processed, update the actual cost of the node in the set to be processed to the smaller value, update its parent node, and then jump to S17. If the node is in the processed set, compare the current actual cost of the node with the actual cost recorded in the processed set. If the former is smaller, delete the node from the processed set, add the node to the set to be processed, record its actual cost as the current actual cost, record its parent node, and then jump to S17. Otherwise, directly jump to S17. If the node does not exist in either the set to be processed or the processed set, directly add the node to the set to be processed, record its actual cost as the current actual cost, record its parent node, and then jump to S17;
[0050] S19. If the number of paths in the path information set reaches the requirement or there are no other feasible paths, sort the paths according to the total path cost and output the path information. Otherwise, perform path correction by masking sections and merging sections to form new paths and add them to the path information set until the number of paths reaches the requirement or there are no other feasible paths, sort the paths according to the total path cost, and output the path information.
[0051] The present invention also provides a transportation vehicle operation path and scheduling optimization system, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method described in any one of the above are implemented.
[0052] The present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method described in any one of the above are implemented.
[0053] The present invention also provides a computer program product, including a computer program or instruction. When the computer program or instruction is executed by a processor, the steps of the method described in any one of the above are implemented.
[0054] Generally speaking, compared with the prior art by the above technical solutions conceived by the present invention, the present invention mainly has the following beneficial effects:
[0055] For most transportation operation scheduling, there are usually multiple task points and destinations, and there may be multiple alternative paths between the task points and the destinations. At the same time, in complex transportation scenarios, not only the path selection of the vehicle between the task points and the destination needs to be considered, but also the path conflict problem of the vehicle under complex spatio-temporal constraints needs to be solved. These factors make it difficult to effectively solve such problems solely relying on traditional methods. The present invention generates a path library; on the basis of the path library, a particle swarm search algorithm is executed. During this process, on the basis of the current global optimal solution, local iteration is cyclically executed, that is, a new solution is generated using a destruction and repair strategy and conflict adjustment is performed, and then the global optimal solution is updated based on the new solution. Subsequently, the particle position and velocity are updated, and particle swarm iterative search is performed again, that is, global iteration is executed; after reaching the iteration number, after obtaining the optimal solution, decoding is performed to generate a scheduling plan, that is, the tasks in the task set are assigned to each transportation vehicle, and a vehicle scheduling plan and path selection are generated, efficiently realizing the transportation vehicle operation path and scheduling optimization of multiple vehicles, multiple task points and solving spatio-temporal conflicts. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] Figure 1 is a flowchart of the steps of the transportation vehicle operation path and scheduling optimization method in an embodiment of the present invention;
[0057] Figure 2 is a flowchart of the steps of the improved A* algorithm in an embodiment of the present invention;
[0058] Figure 3 is a schematic diagram of the segmented coding method provided in an embodiment of the present invention;
[0059] Figure 4 is a spatio-temporal network diagram of transportation vehicle scheduling provided in an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0060] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.
[0061] Embodiment 1
[0062] The present invention provides a transportation vehicle operation path and scheduling optimization method, as Figure 1 shown is a flowchart of the steps of the transportation vehicle operation path and scheduling optimization method in an embodiment of the present invention. The following will be combined with Figure 1 to introduce the steps in detail.
[0063] S1. Construct a path library, which stores the feasible paths from each task point to its corresponding destination and the feasible paths from the destination back to each task point. Each task point has one or more transportation tasks, and all tasks form a task set.
[0064] Specifically, first, it is necessary to determine the task point set, the destination set, and which destination each task point corresponds to according to the actual transportation tasks. Specifically, it can be expressed as:
[0065] T = {T1, T2, …, T n}: Task point set;
[0066] Q = {Q1, Q2, …, Q m}: Destination set.
[0067] Among them, the task point is the location with transportation tasks, and the destination point is the end point to which the ore at the task point needs to be transported. Each task point has already determined its corresponding destination. Moreover, considering the vehicle load limit, the ore at a task point may not be able to be completed at one time. Therefore, before the algorithm runs, it is also necessary to divide the total task of each task point into multiple tasks according to the vehicle's capacity, that is, a task point may correspond to multiple tasks, and all tasks form the task set to be completed. The scheduling purpose of the present invention is to allocate each task to a vehicle for transportation, and calculate the start time of each vehicle's transportation, the driving time on the selected path, and the completion time.
[0068] After determining the task points and destinations, then construct a road network topology structure G = (V, E) according to the actual route conditions. This topology structure involves the following parameter information:
[0069] V: Node set, where the nodes are the stations on the transportation route, including task points, destinations, and intermediate nodes;
[0070] E: Edge set, representing the passable paths in the road network;
[0071] d ij : The path distance (in meters) from node i to node j;
[0072] t ij : The driving time (in seconds) from node i to node j.
[0073] Since most sections in an underground mine are two-way single-lane roads, but there are also one-way single-lane roads, different directions of the sections between nodes have different numbers, that is, the numbers of (i, j) and (j, i) are different.
[0074] Specifically, it can be combined with Figure 4Understand that the road network vertices include two loading points 1 and 2 in the loading area and the parking lot P. The minerals after ore body blasting are loaded by a forklift. The unloading area includes two unloading points 7 and 8. It is necessary to transport the ore body at the loading point to the unloading point. Among them, the double-headed arrow represents a two-way lane, and the single-headed arrow represents a one-way lane. There is a meeting point 45 in this road network. Most of the sections between the vertices of the road network are two-way single lanes, and the section between 6, 7, and 8 is a one-way single lane.
[0075] Based on the above information, a path library can be constructed. The path library stores the feasible paths (heavy-loaded paths) from each task point to its corresponding destination and the feasible paths (empty-loaded paths) from the destination or the parking lot back to each task point.
[0076] Continue with Figure 4 as an example. Assume that task point 1 corresponds to destination 7 and task point 2 corresponds to destination 8. Then the heavy-loaded path P 1,7 from task point 1 to destination 7 includes {P 1,7,1 , P 1,7,2}. The path P 1,7,1 is (1, 3, 4, 45, 5, 6, 7), and the path P 1,7,2 is (1, 3, 4, 5, 6, 7); the heavy-loaded path P 2,8 from task point 2 to destination 8 includes {P 2,8,1 , P 2,8,2}. P 2,8,1 is (2, 3, 4, 45, 5, 6, 7, 8), and the path P 2,8,2 is (2, 3, 4, 5, 6, 7, 8). Similarly, the empty-loaded paths from the destination back to the task point can be found. All paths are placed in the path library for subsequent selection.
[0077] In one embodiment, the improved A* algorithm can be used to find the feasible path from any starting point to any ending point. In the present invention, since the feasible path from the task point to the destination is to be found, at this time, the starting point is the task point and the ending point is the destination. Also, the feasible path from the destination back to the task point needs to be found. At this time, the starting point is the destination and the ending point is the task point.
[0078] The improved A* algorithm involves the following cost functions:
[0079] h_score(n): Heuristic function, the estimated cost function from node n to the ending point;
[0080] g_score(n): The actual cost function from the starting point to node n;
[0081] f_score(n) = g_score(n) + h_score(n): The total cost function of the path from the starting point to the ending point.
[0082] In the scenario of the present invention, the cost between two points refers to the path time between the two points.
[0083] As Figure 2 shown, the steps of using the improved A* algorithm to find a feasible path between the starting point sp and the ending point fp include:
[0084] S11. Initialize the set of nodes to be processed, the set of processed nodes, and the set of path information, and add the starting point sp to the set of nodes to be processed.
[0085] Specifically, define a topological graph G, including task points, destinations, and connecting sections, and the weight of each edge is its path time.
[0086] Initialize the set of path information from the starting point sp to its corresponding ending point fp.
[0087] Create two sets: the set of nodes to be processed and the set of processed nodes. The set of nodes to be processed: used to store the nodes to be expanded. The set of processed nodes: used to store the expanded nodes.
[0088] Initialize the total cost f_score, the actual cost g_score, and the estimated cost h_score of the starting point sp, f_score = g_score + h_score, and the estimated cost h_score is calculated using the Manhattan distance calculation method. And add the starting point sp to the set of nodes to be processed.
[0089] S12. Determine whether there is a node in the set of nodes to be processed. If so, execute S13; otherwise, jump to S19.
[0090] S13. Select the node with the minimum total cost from the set of nodes to be processed as the current node, remove the current node from the set of nodes to be processed and move it to the set of processed nodes, and record the current node and its parent node.
[0091] S14. Check whether the current node is the ending point fp. If so, execute S15; otherwise, jump to S16.
[0092] S15. Trace back from the ending point fp to the starting point sp in the set of processed nodes, and add the path from the starting point sp to the ending point fp to the set of path information, then jump to S12.
[0093] S16. Find all the adjacent nodes pointed to by the current node to form its adjacent node set.
[0094] S17. Determine whether the current adjacent node set is empty. If so, jump to S12; otherwise, execute S18.
[0095] S18. Take an adjacent node from the current adjacent node set and calculate its actual cost. If the node is still in the set to be processed, compare the current actual cost of the node with the known actual cost recorded for the node in the set to be processed, update the actual cost of the node in the set to be processed to the smaller value, update its parent node, and then jump to S17. If the node is in the processed set, compare the current actual cost of the node with the actual cost recorded in the processed set. If the former is smaller, delete the node from the processed set, add the node to the set to be processed, record its actual cost as the current actual cost, record its parent node, and then jump to S17. Otherwise, directly jump to S17. If the node does not exist in either the set to be processed or the processed set, directly add the node to the set to be processed, record its actual cost as the current actual cost, record its parent node, and then jump to S17;
[0096] S19. If the number of paths in the path information set reaches the requirement or there are no other feasible paths, sort the paths according to the total path cost and output the path information. Otherwise, perform path correction by means of shielding sections and merging sections to form new paths and add them to the path information set until the number of paths reaches the requirement or there are no other feasible paths. Then, sort the paths according to the total path cost and output the path information.
[0097] S2. Initialize the velocity and position of the particles in the D-dimensional search space. The particle position is a D-dimensional vector representing the scheduling scheme, which includes three groups of components. The first group represents the execution order of all tasks, the second group represents the vehicles assigned to each task, and the third group represents the transportation routes of each task. The transportation route of a task includes the empty-load route from the vehicle to the task point of the task and the heavy-load route from the task point of the task to the destination.
[0098] At this time, start the particle swarm search algorithm.
[0099] The particle swarm search algorithm involves the following parameters:
[0100] N: The size of the particle swarm;
[0101] D: The dimension of the search space (reflecting the allocation of task points, the selection of vehicles, and path planning);
[0102] X id (k): The position of the i-th particle in the d-th dimension, where d = 1, 2, ……, D, k is the iteration number of the particle swarm search, and the D dimensions reflect the task point allocation, vehicle selection, and path numbering. The position value is a continuous value in the range [0, 1]. For example, if the number of tasks is M, then D = 3M, where M dimensions represent the execution order of M tasks, M dimensions represent the vehicles assigned to M tasks, and M dimensions represent the transportation routes of M tasks;
[0103] V id (k): The velocity value of the i-th particle in the d-th dimension;
[0104] x min , x max : The upper and lower bounds of the position;
[0105] v min , v max : The upper and lower bounds of the velocity;
[0106] pbest id : The historical best position of the i-th particle in the d-th dimension;
[0107] gbest d : The global best position in the d-th dimension;
[0108] ω: Inertia weight, used to balance the local search and global search capabilities of the particle;
[0109] c1, c2: Learning factors:
[0110] c1: The strength of the particle approaching the historical best position;
[0111] c2: The strength of the particle approaching the global best position;
[0112] r1, r2: Uniformly distributed random numbers, used to introduce randomness;
[0113] p ad (k): Represents the average position of all current particles in the d-th dimension.
[0114] p i : Adaptive fitness weight;
[0115] fit(x i (k)): The fitness value of the i-th particle at the current position.
[0116] Specifically, the scheduling objective of the present invention is to assign each task to a vehicle for transportation and plan the vehicle transportation route, calculate the start time of each vehicle for transportation, the travel time on the selected path, and the completion time. The scheduling task is divided into a task sequencing layer (Task Sequence, TS), a vehicle selection layer (Vehicle Selection, VS), and a route planning layer (Routes Planning, RP) by combining hierarchical coding and discretized coding. The task sequencing layer TS is responsible for the order of tasks; the vehicle selection layer VS is responsible for assigning a specific vehicle to execute each task; the route planning layer RP is responsible for planning a specific driving path for the vehicle.
[0117] Therefore, when performing particle swarm search, the search space is a D-dimensional space. Taking the particle position as the representation of the scheduling scheme, the position vector of the particle is a continuous value vector with the components in size order, which includes three groups of components. The first group represents the execution order of all tasks, the second group represents the vehicles assigned to each task, and the third group represents the transportation routes of each task. The particle position vector can use the SPV (Small Position Value) rule and the DI (Discrete Interval) rule to convert its continuous value vector into a discrete code. That is, the code is divided into three segments. The first segment is the task sorting layer TS, the second segment is the vehicle selection layer VS, and the third segment is the path planning layer RP. Therefore, through the particle swarm search algorithm, the optimal solution of the particle position is found, and then decoded through SPV and DI, that is, the optimal scheduling scheme is found.
[0118] As Figure 3 shown, taking 3 loading points, 3 unloading points, and 3 vehicles as an example, there are 3, 2, and 2 transportation tasks at loading points 1, 2, and 3 respectively, that is, there are a total of 7 tasks in the task set. In TS, S 1,2 represents the second task transported out from loading point 1, and the transportation order in the figure is S 1,1 →S 3,1 →S 2,1 →S 3,2 →S 1,2 →S 1,3 →S 2,2 . In VS, the task corresponds to vehicle selection. For example, task S 1,2 corresponds to vehicle 2. The RP path layer corresponds to the transportation route of each task. For example, vehicle 3 first executes the first task S 1,1 of loading point 1, and then executes the third task S 1,3 of loading point 1. In PR, the transportation route of task S 1,3 is route 1, that is, route 1 is the route for vehicle 3 to return to loading point 1 empty after completing task S 1,1 and the route to go to the destination loaded from loading point 1 to complete task S 1,3 .
[0119] When using the particle swarm algorithm, the first set of components of the particle position vector represents the execution order of all tasks, the second set of components represents the vehicles assigned to each task, and the third set of components represents the transportation routes of each task. The SPV method needs to be used to encode each set of components of the particle position vector respectively to obtain the corresponding task sequencing layer TS, vehicle selection layer VS, and path planning layer PR. For example, as shown in Table 1 below, the first set of components is encoded to obtain the task sequencing layer TS. The first set of components X = {0.0305, 0.9491, 0.5199, 0.6759, 0.2377, 0.2556, 0.4597}. In ascending order, each component is encoded. 0.0305 is the smallest and is encoded as 1, 0.9491 is the largest and is encoded as 7. Then, the SPV encoding of the task sequencing layer TS is obtained as {1, 7, 5, 6, 2, 3, 4}, and the corresponding feeding point encoding is {1, 3, 2, 3, 1, 1, 2}. Therefore, the task sequence numbers corresponding to the feeding points are {S 1,1 , S 3,1 , S 2,1 , S 3,2 , S 1,2 , S 1,3 , S 2,2}. The same applies to vehicle selection and path selection. Vehicle selection is shown in Table 2.
[0120] Table 1 Example of task sequence encoding
[0121]
[0122] Table 2 Example of vehicle selection encoding
[0123]
[0124] In the present invention, the particle position is used to represent the scheduling scheme, and the particle swarm search algorithm is used to find the optimal solution, so as to obtain the optimal scheduling scheme.
[0125] At the initial moment of the algorithm, first initialize the velocity and position of the particles, and then enter S3. In one embodiment, the Latin hypercube sampling method can be used to obtain the initial solution in the search space, which can cover all solution possibilities more comprehensively, shorten the convergence time of optimization, and is not easily trapped in the local optimal solution.
[0126] S3. Calculate the fitness value of each current particle. The fitness value is the time to complete the task set, and update the global optimal solution of the particle position according to the fitness value.
[0127] Specifically, according to the given objective function, calculate the fitness values of all particles to evaluate the quality of the current positions of the particles.
[0128] In this scenario, the fitness value of a particle is the time required to complete the task set under the scheduling scheme corresponding to the particle's position. The shorter the time, the better the scheduling scheme.
[0129] Each particle will calculate a corresponding fitness value, and the position of the particle with the minimum fitness value is used as the current global optimal solution.
[0130] S4. Destroy and repair the current global optimal solution to obtain a new solution.
[0131] Specifically, design a destruction operator and a repair operator to destroy and repair the current global optimal solution.
[0132] It is possible to destroy and repair the execution order of tasks, or the vehicles assigned to tasks, or both the execution order of tasks and the vehicles assigned to tasks.
[0133] Use the task execution order disruption operator to disrupt the execution order of tasks, and use the task execution order repair operator to repair the execution order of tasks. It should be noted that disrupting the execution order of tasks will not disrupt the assignment of task vehicles.
[0134] The task execution order disruption operator can be selected from the following four operators.
[0135] B01. Random disruption operator: Randomly select k tasks, remove them from the current solution and temporarily store them in the deletion set.
[0136] B02. Greedy disruption operator 1: Calculate the impact of removing each task on the completion time of the original sequence, and select the top k tasks with the greatest impact as the tasks to be removed.
[0137] B03. Greedy disruption operator 2: Calculate the impact of removing each task on the completion time of the original sequence, select the task with the greatest impact as the current task to be removed, update the current sequence and repeat k times to achieve the deletion of k tasks and temporarily store them in the deletion set.
[0138] B04. Similarity disruption operator: Randomly remove 1 task, calculate the similarity of the remaining tasks after removing the task, and then remove k - 1 tasks with higher similarity, a total of k tasks are removed and temporarily stored in the deletion set.
[0139] The task execution order repair operator can be selected from the following five operators.
[0140] R01. Random repair operator: Randomly select k positions and insert the tasks in the deletion set in sequence.
[0141] R02, Optimal Repair Operator: Starting from the first task in the deletion set, each time select the position with the minimum completion time for insertion until all tasks are inserted.
[0142] R03, Random Optimal Repair Operator: After randomly shuffling the order of the tasks in the deletion set, randomly select k positions and insert the tasks in the deletion set sequentially.
[0143] R04, Sub-optimal Repair Operator: Starting from the first task in the deletion set, each time select the position with the second smallest completion time for insertion until all tasks are inserted.
[0144] R05, Regret Repair Operator: Calculate the completion times of the optimal insertion and sub-optimal insertion of each removed task. The regret value is the difference between the completion times of the two. Sort the list of removed tasks in descending order of the regret value and perform the same operation as the optimal repair operator.
[0145] Use the vehicle allocation disruption operator to disrupt the vehicle allocation of the tasks and use the vehicle allocation repair operator to repair the vehicle allocation of the tasks. It should be noted that the disruption of the task vehicle allocation will not disrupt the execution order of the tasks.
[0146] The vehicle allocation disruption operator can be selected from the following two operators.
[0147] B11, Random Disruption Operator: Randomly remove some tasks of a certain k vehicles.
[0148] B12, Greedy Disruption Operator: Select the k vehicles with the heaviest loads and remove some of their tasks.
[0149] The vehicle allocation repair operator can be selected from the following two operators.
[0150] R11, Load Balancing Repair Operator: Re-allocate the removed tasks to the vehicle with the lightest current load.
[0151] R12, Nearest Allocation Repair Operator: Re-allocate the removed tasks to the available vehicle closest to the task point.
[0152] Based on the above disruption and repair, a new solution is obtained.
[0153] S5. Determine whether there is a spatio-temporal conflict among vehicles in the new solution. If there is no conflict, directly execute S6. If there is a conflict, mediate the conflict and use the scheduling solution obtained after mediating the conflict as the mediation solution. If the mediation solution is better than the current new solution, update the new solution to the mediation solution. If it is not better, do not update. The ways to mediate conflicts include: first, search in the path library for other feasible paths that can resolve the conflict and ensure that the conflicting vehicles can complete their tasks and replace them. If no qualified feasible path can be found, resolve the conflict by adjusting the departure time of the conflicting vehicles.
[0154] Specifically, the new solution obtained by destruction and repair in S4 may very likely have spatio-temporal conflicts. It can be understood that spatio-temporal conflict means that the number of vehicles accessing the same task point within the same time period exceeds the access limit of this task point. For example, only one vehicle is allowed to access a task point at a time, or the number of vehicles occupying the same path segment within the same time period exceeds the passable vehicle limit of this path. For a single-lane road, only one vehicle is allowed to pass within the same time period.
[0155] If there is no spatio-temporal conflict in the new solution, directly execute S6.
[0156] If there is a spatio-temporal conflict in the new solution, record the conflicting vehicles, path segments, and the time when the conflict occurs, and the following adjustments are required:
[0157] First, perform path replacement: Search in the path library for other feasible paths that can resolve the conflict and ensure that the conflicting vehicles can complete their tasks and perform path replacement;
[0158] If no qualified feasible path can be found, then perform time adjustment: Resolve the conflict by adjusting the departure time of the conflicting vehicles.
[0159] The solution after conflict adjustment is called the mediation solution. If the mediation solution is better than the current new solution, update the new solution to the mediation solution. Otherwise, retain the new solution output by S4.
[0160] S6. Determine whether the fitness value of the current new solution minus the fitness value of the current global optimal solution is less than the threshold. If so, update the current global optimal solution to the current new solution. Otherwise, retain the current global optimal solution; the threshold decays as the number of local iterations increases.
[0161] Specifically, denote the fitness value of the current new solution as f(new), and the fitness value of the current global optimal solution as f(old).
[0162] If f(new) < f(old), then update the global optimal solution to the new solution;
[0163] If f(new) > f(old) and f(new) - f(old) < T, then update the global optimal solution to the new solution;
[0164] Otherwise, the global optimal solution is not updated.
[0165] Among them, the threshold decays as the number of local iterations increases. For example, if the adaptive value of the global optimal solution in the first local iteration is denoted as f1, then the threshold T1 for this time is 0.2f1, and the subsequent thresholds decay according to the coefficient ε, that is, T m+1 = εT m , where m represents the number of local iterations.
[0166] S7. Determine whether the local iteration upper limit is reached. If so, execute S8; otherwise, jump to S4.
[0167] Specifically, the purpose of repeatedly executing the inner loop from S4 to S6 is for local search and to balance the design of algorithm development and exploration.
[0168] S8. Determine whether the global iteration upper limit is reached. If so, execute S9; otherwise, update the position and velocity of each particle and jump to S3.
[0169] Specifically, the update formula is:
[0170]
[0171] Furthermore, the inertia weight ω used when updating the position and velocity of the particle will also be updated as the global iteration progresses. The update formula is:
[0172]
[0173] In the formula, K max is the global iteration upper limit, ω max is the maximum inertia weight, usually taken as 0.9, and ω min is the minimum inertia weight, usually taken as 0.4.
[0174] S9. Output the current global optimal solution, and decode to obtain the transportation operation scheduling plan. The scheduling plan includes which tasks each vehicle is responsible for executing, as well as the driving route and driving time for executing the tasks.
[0175] Specifically, after the algorithm ends, the globally optimal solution of the final output is obtained. The position vector of the particle is a continuous value vector with the components in size order. The continuous value vector of the globally optimal solution is transformed into a discrete code by using the SPV (Small Position Value) rule and the DI (Discrete Interval) rule to obtain vectors TS, VS, and RP. Then, the task sequence is obtained by traversing vector TS, the vehicle selection corresponding to the task is obtained by traversing VS, and the path selection corresponding to the task is obtained by traversing the path planning layer RP. Each task is assigned to a vehicle for transportation, and the start time of each vehicle for transportation, the driving time on the selected path, and the completion time are calculated.
[0176] Continuing with Figure 4 as an example, there are a total of three vehicles and four tasks. There are three tasks at task point 1, namely task S 1,1 , task S 1,2 , task S 1,3 , and there is 1 task S at task point 2 2,1 . Task S 2,1 , task S 1,1 , task S 1,2 , task S 1,3 are numbered as tasks 1, 2, 3, and 4. The goal of scheduling is to use these three vehicles to quickly complete these four tasks under the current road network topology.
[0177] By executing the above algorithm, a specific scheduling plan can be obtained. As shown in Figure 4 , vehicle 1 performs a loading operation at feeding point 2, transports the ore of task 1 (task S 2,1 ), and arrives at the unloading point 7 through the path (2 - 3 - 4 - 5 - 6 - 7) to carry out an unloading operation. The empty vehicle transfer operation passes through the path (7 - 8 - 6 - 5 - 45 - 4 - 3 - 1). In this section of the path, there is a waiting time for avoidance at node 45 to avoid the 2nd heavy-duty vehicle, and then it drives to feeding point 1. At feeding point 1, it loads the ore of task 4 (task S 1,3 ) and passes through the path (1 - 3 - 4…). Vehicle 2 departs from parking lot P, passes through the path (7, 8, 6, 5, 45, 4, 3, 1), avoids vehicle 1 and vehicle 3 at node 45, and arrives at feeding point 1 to transport task S 1,2 , and arrives at the unloading point 7 through the path (1, 3, 4, 5, 6, 7) to carry out an unloading operation. Vehicle 3 performs a loading operation at feeding point 1, transports task S 1,2 , and arrives at the unloading point 8 through the path (1, 3, 4, 5, 6, 7, 8) to carry out an unloading operation. The empty vehicle transfer passes through the path (8, 6, 5, 45…), and avoids at node 45.
[0178] Embodiment 2
[0179] The present invention also relates to a transportation vehicle operation path and scheduling optimization system, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the above method are implemented.
[0180] The electronic device can be a computing device such as a desktop computer, a notebook, a palm computer, and a cloud server. The so-called processor can be a Central Processing Unit (CPU), or can also be other general-purpose processors, Digital Signal Processors (DSPs), Application-Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The memory can be used to store computer programs and / or modules. The processor, by running or executing the computer programs and / or modules stored in the memory, and by calling the data stored in the memory, realizes various functions of the electronic device.
[0181] Embodiment 3
[0182] The present invention also relates to a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above method are implemented.
[0183] Specifically, the memory can include high-speed random access memory, and can also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0184] Embodiment 4
[0185] The embodiments of the present invention provide a computer program product or a computer program. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the steps of the method in the above embodiments of the present invention.
[0186] The technical features of the above-described embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered to be within the scope described in this specification. It should be noted that phrases such as "in one embodiment of the present invention", "for example", and "again for example" are intended to illustrate the present invention rather than limit the present invention.
[0187] The above-described embodiments only represent several implementation manners of the present invention. The description is relatively specific and detailed, but it should not be construed as a limitation on the scope of the patent application. It should be pointed out that for those of ordinary skill in the art, without departing from the concept of the present invention, several modifications and improvements can still be made, and these all belong to the protection scope of the present invention.
Claims
1. A method for optimizing the operation path and scheduling of transport vehicles, characterized in that: include: S1. Construct a path library, in which a feasible path from each task point to its corresponding destination and a feasible path from the destination back to each task point are stored. Each task point has one or more transportation tasks, and all tasks constitute a task set. S2. Initialize the speed and position of the particle in the D-dimensional search space. The particle position is a D-dimensional vector that represents the scheduling scheme, which includes three components, which respectively represent the execution order of all tasks, the vehicle assigned to each task, and the transportation route of each task. The transportation route of the task includes the unloaded route from the vehicle to the task point of the task and the heavy-loaded route from the task point of the task to the destination; S3, calculating the fitness value of each particle at present, wherein the fitness value is the time to complete the task set, and updating the global optimal solution of the particle position according to the fitness value; S4, destroy and repair the current global optimal solution to obtain a new solution; S5, judging whether there is a space-time conflict between vehicles in the new solution, if not, jumping to S6, if yes, mediating the conflict to obtain a regulated solution, if the regulated solution is better than the current new solution, updating the new solution to the regulated solution, otherwise not updating; the way to regulate the conflict includes: preferentially searching for other feasible paths in the path library that can resolve the conflict and ensure that the conflicting vehicles complete their tasks for path replacement, if there is no replacement path, resolving the conflict by adjusting the departure time of the conflicting vehicles; S6, judging whether the fitness value of the current new solution minus the fitness value of the current global optimal solution is less than a threshold value, if so, updating the current global optimal solution to the current new solution, otherwise, retaining the current global optimal solution; the threshold value decays with the increase of the number of local iterations; S7, determine whether the local iteration upper limit is reached, if yes, execute S8, otherwise, jump to S4; S8, determine whether the global iteration limit is reached, if so, execute S9, otherwise, update the position and velocity of each particle and jump to S3; S9. Output the current global optimal solution and decode to obtain a transportation operation scheduling plan, wherein the scheduling plan includes which tasks each vehicle is responsible for performing and the driving route and driving time for performing the tasks.
2. The method for optimizing the operation path and scheduling of transport vehicles according to claim 1, characterized in that: In S4, the current global optimal solution is destroyed and repaired, including: The execution order of tasks is destroyed and repaired, or the vehicles assigned to tasks are destroyed and repaired, or both the execution order of tasks and the vehicles assigned to tasks are destroyed and repaired.
3. The method for optimizing the operation path and scheduling of transport vehicles according to claim 2, characterized in that: The task execution order destruction operator is used to destroy the execution order of the tasks, and the task execution order repair operator is used to repair the execution order of the tasks; the vehicle allocation destruction operator is used to destroy the vehicle allocation of the task, and the vehicle allocation repair operator is used to repair the vehicle allocation of the task; The task execution order destruction operator is selected from the following four operators; B01, Random destruction operator: randomly select k tasks, remove them from the current solution and temporarily store them in the deletion set; B02, Greedy Destruction Operator 1: Calculate the impact of each task removed on the completion time of the original sequence, and take the top k tasks with the greatest impact as the tasks to be removed; B03, Greedy Destruction Operator 2: Calculate the impact of each task removed on the completion time of the original sequence, take the task with the greatest impact as the current task to be removed, update the current sequence and repeat k times, delete k tasks and temporarily store them in the deletion set; B04, similarity destruction operator: randomly remove one task, calculate the similarity of the removed task to the remaining tasks, then remove k-1 tasks with higher similarity, remove k tasks in total, and temporarily store them in the deletion set; The task execution order repair operator is selected from the following five operators: R01, random repair operator: randomly select k positions and insert the tasks in the deletion set in sequence; R02, optimal repair operator: Start by deleting the first task in the set, and select the position with the shortest completion time for insertion each time until all tasks are inserted; R03, random optimal repair operator: After disrupting the order of the deletion set tasks in advance, k positions are randomly selected and the tasks in the deletion set are inserted in sequence; R04, suboptimal repair operator: Start by deleting the first task in the set, and select the position with the second smallest completion time for insertion each time until all tasks are inserted; R05, Regret Repair Operator: Calculate the completion time of the optimal insertion and suboptimal insertion of each removed task. The regret value is the difference between the completion times of the two. Sort the removed task list from large to small according to the regret value, and perform the same operation according to the optimal repair operator; The vehicle allocation destruction operator is selected from the following two operators: B11, random destruction operator: randomly remove part of the tasks of a certain k vehicles; B12, Greedy destruction operator: select the k vehicles with the heaviest load and remove some of their tasks; The vehicle allocation repair operator is selected from the following two operators: R11, load balancing repair operator: reallocate the removed tasks to the vehicle with the lightest current load; R12, Nearest Allocation Repair Operator: Reassign the removed tasks to the available vehicles closest to the task point.
4. The method for optimizing the operation path and scheduling of transport vehicles according to claim 1, characterized in that: In S6, the threshold value decays as the number of local iterations increases, including: The threshold is attenuated according to the set coefficient ε, satisfying T m+1 =εT m , m represents the number of local iterations, T m Represents the threshold of the mth local iteration.
5. The method for optimizing the operation path and scheduling of transport vehicles according to claim 1, characterized in that: In S8, the position and velocity of the particle are updated based on the inertia weight ω, where the inertia weight ω is updated as the global iteration proceeds. The calculation formula of the inertia weight ω at the kth global iteration is: In the formula, K max is the global iteration upper limit, ω max is the maximum inertia weight, ω min is the minimum inertia weight.
6. The method for optimizing the operation path and scheduling of transport vehicles according to claim 1, characterized in that: In S2, Latin hypercube sampling is used to initialize the velocity and position of particles in the search space.
7. The method for optimizing the operation path and scheduling of transport vehicles according to claim 1, characterized in that: Constructing the path library in S1 includes finding a feasible path from the starting point sp to the end point fp. The specific steps include: S11, initialize the to-be-processed set, the processed set and the path information set, and add the starting point sp to the to-be-processed set; S12, determine whether the collection to be processed has a node, if so, execute S13, otherwise, jump to S19; S13, select the node with the smallest total cost from the to-be-processed set as the current node, take the current node out of the to-be-processed set and move it to the processed set, and record the current node and its parent node; S14, check whether the current node is the end point fp, if so, execute S15, otherwise, jump to S16: S15, trace back from the end point fp to the starting point sp in the processed set, add the path from the starting point sp to the end point fp to the path information set, and jump to S12; S16, finding all the adjacent nodes pointed to by the current node to form its adjacent node set; S17, determine whether the current adjacent node set is empty, if so, jump to S12, otherwise execute S18; S18, take out an adjacent node from the current adjacent node set and calculate its actual cost. If the node still exists in the to-be-processed set, compare the current actual cost of the node with the known actual cost recorded for the node in the to-be-processed set, update the actual cost of the node in the to-be-processed set to the smaller one, update the parent node of the node, and then jump to S17. If the node exists in the processed set, compare the current actual cost of the node with the actual cost recorded in the processed set. If the former is smaller, delete the node from the processed set, store the node in the to-be-processed set, record its actual cost as the current actual cost, record its parent node, and then jump to S17. Otherwise, jump directly to S17. If the node does not exist in both the to-be-processed set and the processed set, store the node directly in the to-be-processed set, record its actual cost as the current actual cost, record its parent node, and then jump to S17. S19. If the number of paths in the path information set meets the requirement or there are no other feasible paths, the paths are sorted according to the total path cost and the path information is output. Otherwise, the paths are corrected by shielding and merging sections to form a new path and add it to the path information set until the number of paths meets the requirement or there are no other feasible paths, the paths are sorted according to the total path cost and the path information is output.
8. A transport vehicle operation path and scheduling optimization system, comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Cited By
Intelligent scheduling method and device for medical waste transport vehicles
CN121352419A
Routing and time slot joint scheduling method and system of time sensitive network
CN121664725A
IoT-based dynamic transportation path optimization method
CN121724531A