Multi-task large-scale vehicle routing optimization method based on hyper-heuristic evolutionary algorithm

CN116644875BActive Publication Date: 2026-10-27NORTHWEST UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310492553.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-04
Publication Date
2026-10-27
Estimated Expiration
2043-05-04

AI Technical Summary

Technical Problem

从而导致启发式算法缺乏通用性

Benefits of technology

[0042]1、本申请通过超启发式算法选择一系列低级的扰动启发式算子构成任务的初始解,再用此解去求解具体的任务;由于超启发式算法几乎不依赖于所求解问题的领域,因此保证了算法的通用性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116644875B_ABST
    Figure CN116644875B_ABST
Patent Text Reader

Abstract

The application relates to a multi-task large-scale vehicle path optimization method based on a super heuristic evolution algorithm, a series of low-level disturbance heuristic operators are selected by the super heuristic algorithm to form an initial solution of a task, and the solution is used to solve a specific task; since the super heuristic algorithm almost does not depend on the field of a problem to be solved, the universality of the algorithm is ensured; a knowledge transfer mechanism is utilized to simultaneously process multiple tasks, only individuals are allowed to solve tasks that they are good at, individuals in a population are divided into different skill groups in an evolution process, knowledge transfer between different skill groups is allowed, learned knowledge on a certain task can be transferred to other tasks, and therefore the common evolution between the task groups is promoted; for a large-scale vehicle path optimization problem, a local search algorithm is adopted, the size of a local search space is determined, and the local search space is adaptively adjusted in the evolution instead of being artificially specified, so that the adaptability of the algorithm is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of intelligent scheduling technology, specifically to a multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm. Background Technology

[0002] Vehicle routing problem is an NP-hard problem, generally defined as follows: There are a certain number of customers, each with different demand for goods. A distribution center provides goods to the customers, and a fleet of vehicles is responsible for transporting the goods. The fleet's routes need to achieve objectives such as shortest distance, lowest cost, and least time under certain constraints.

[0003] With the development of information technologies such as the Internet, the Internet of Things, big data, and cloud computing, enterprises are becoming increasingly intelligent and digitalized, placing higher demands on the timeliness and cost-effectiveness of logistics and passenger transport. Currently, algorithms for solving vehicle path planning problems are mainly divided into two categories: exact algorithms and heuristic algorithms. While exact algorithms such as branch and bound and dynamic programming can obtain precise solutions, their solution time increases exponentially as the problem size grows. Conversely, heuristic algorithms such as genetic algorithms, ant colony optimization, and particle swarm optimization, although not guaranteeing exact solutions, typically yield good local optima while maintaining time efficiency. Therefore, heuristic algorithms have a wider range of practical applications.

[0004] However, designing heuristic algorithms often requires designers to possess not only knowledge of algorithm design but also expertise in the domain of the problem being solved. Furthermore, different problems often require specific heuristic algorithms, and even different datasets for the same type of problem may necessitate different heuristic algorithms. This results in a lack of versatility in heuristic algorithms. Secondly, with the continuous development of information technology, enterprises face increasingly demanding logistics and distribution needs. Focusing on processing only a single task at a time is inefficient; therefore, new methods are needed to improve the efficiency of handling multiple tasks. Additionally, when dealing with large-scale vehicle routing problems (more than 200 nodes), while searching all nodes each time can yield a good solution, the time complexity is high. Summary of the Invention

[0005] To overcome at least one deficiency in the prior art, this application provides a multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm.

[0006] Firstly, a multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm is provided, including:

[0007] Step 1: Use a heuristic algorithm to generate an initial solution for each of the multiple tasks, which will serve as the current solution; the current solution includes the current path cost for each task.

[0008] Step 2: Initialize the first iteration population as the current population. The chromosome encoding of each individual in the current population is a two-dimensional array. The first dimension of the two-dimensional array stores the low-heuristic operator to be executed, and the second dimension of the two-dimensional array stores the percentage of the local search space size of the low-heuristic operator.

[0009] Step 3: Iterate through the current population to obtain the offspring population;

[0010] Step 4: Each individual in the offspring population decodes the task it is good at to obtain the distance cost of each task.

[0011] Step 5: Compare the travel cost of each task with the current travel cost of the corresponding task in the current solution to determine whether to update the current solution with the travel cost of each task.

[0012] Step 6: Obtain the next generation population based on the offspring population and the current population;

[0013] Step 7: Determine if the iteration stopping condition is met. If it is met, stop the iteration and output the current solution. Otherwise, return to step 3, use the next generation population as the current population, and continue the iteration.

[0014] In one embodiment, step 2, initializing the first iteration population, includes:

[0015] The chromosome of each individual in the first iteration population is initialized by randomly initializing the first dimension of each individual's chromosome to one of a number of low-heuristic operators, and the second dimension of each individual's chromosome is randomly initialized to a value between 10% and 50%.

[0016] In one embodiment, step 3, iterating through the current population to obtain the offspring population, includes:

[0017] Step 31: Determine the skill factor for each individual in the current population;

[0018] Step 32: Randomly select 2 individuals from the current population, denoted as parent individuals p. a p b Determine the parent individual p a p b Do they have the same skill factor? If yes, proceed to step 33; otherwise, proceed to step 34.

[0019] Step 33, parent individual p a p b, generating offspring individual p through the crossover operator and the mutation operator c , p d ;

[0020] Step 34, determining whether to execute the crossover operator according to the random mating probability rmp, if rand<rmp, where rand is a random real number between 0 and 1, parent individuals p a , p b generate offspring individuals p through the crossover operator and the mutation operator c , p d , otherwise, the parent individual p a generates an offspring individual p through the mutation operator c , the parent individual p b generates an offspring individual p through the mutation operator d ;

[0021] Step 35, adding the generated offspring individuals p c , p d into the offspring population, and returning to step 32 until the size of the generated offspring population is the same as the size of the current population.

[0022] In one embodiment, in the process where parent individuals p a , p b generate offspring individuals p through the crossover operator and the mutation operator c , p d , when the crossover operator is executed, the first dimension value of each gene on the chromosome of the offspring individuals p c , p d is determined according to the crossover operator, to obtain the first dimension value after crossover, and the second dimension value of each gene on the chromosome of the offspring individuals p c , p d is set as the average value of the second dimension values of the corresponding genes on the chromosomes of the parent individuals p a , p b , to obtain the second dimension value after crossover; when the mutation operator is executed, it is determined whether to mutate the first dimension value and the second dimension value with a mutation probability of 10%, if yes, the first dimension value and the second dimension value of each gene on the chromosome of the offspring individuals p c , p d are randomly set to values between 10% and 50%, if no, the first dimension value and the second dimension value of each gene on the chromosome of the offspring individuals p c , p d are exactly the first dimension value after crossover and the second dimension value after crossover;

[0023] The parent individual p a generates the offspring individual p through the mutation operatorc Or, the parent individual p b Offspring individuals p are generated using the mutation operator. d During the process, when the mutation operator is executed, it is determined with a mutation probability of 10% whether to mutate the values ​​of the first and second dimensions. If so, the offspring individual p... c p d The first and second dimension values ​​of each gene on the chromosome are randomly set to values ​​between 10% and 50%. Otherwise, the offspring individual p c p d The first and second dimension values ​​of each gene on the chromosome represent the paternal individual's p. a The first dimension value or the parent individual p b The second dimension value.

[0024] In one embodiment, the task proficiency of each individual in the offspring population in step 4 is determined in the following manner:

[0025] Determine whether each individual in the offspring population has two parent individuals or one parent individual. If an individual has two parent individuals, the individual will randomly inherit the skill factor of one parent individual with a 50% probability. If an individual has one parent individual, the individual will directly inherit the skill factor of the parent individual.

[0026] Based on the skill factor of each individual in the offspring population, determine the tasks that each individual is good at.

[0027] In one embodiment, step 4 involves each individual in the offspring population decoding the task they are good at to obtain the distance cost for each task, including:

[0028] For each individual, the following method is used to determine the tasks that the individual excels at decoding:

[0029] Step 41: Determine the low-heuristic operator to be executed based on the first dimension of the individual's chromosome, and determine the percentage of the space size for the low-heuristic operator to perform local search based on the second dimension.

[0030] Step 42: Based on the determined low-heuristic operator to be executed and the percentage of space size for local search of the low-heuristic operator, perturb the current path of the task that the individual is good at to obtain the perturbated path.

[0031] Step 43: Calculate the path cost after the disturbance;

[0032] Step 44: Repeat steps 41 to 43. The path cost of the perturbated path calculated in the last iteration is greater than or equal to the path cost of the perturbated path calculated in the previous iteration. Output the path cost of the final perturbated path as the path cost of the individual's preferred task.

[0033] In one embodiment, step 5, comparing the journey cost of each task with the current journey cost of the corresponding task in the current solution, and determining whether to update the current solution using the journey cost of each task, includes:

[0034] The travel cost of each task is compared with the current travel cost of the corresponding task in the current solution. If the travel cost of the task is less than the current travel cost of the corresponding task, the current travel cost of the corresponding task is updated using the travel cost of the task. Otherwise, no update is performed.

[0035] In one embodiment, step 6, obtaining the next generation population based on the offspring population and the current population, includes:

[0036] Step 61: Merge the offspring population with the current population to obtain an intermediate population;

[0037] Step 62: Determine the scalar fitness of each individual in the intermediate population;

[0038] Step 63: Select individuals from the intermediate population with the same number of individuals as the current population based on scalar fitness to form the next generation population.

[0039] In one embodiment, the iteration stopping condition is: the solutions to all tasks have no improvement after consecutive algebras.

[0040] Secondly, a computer-readable storage medium is provided, which stores a computer program that, when executed by a processor, implements the aforementioned multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm.

[0041] Compared with the prior art, this application has the following beneficial effects:

[0042] 1. This application selects a series of low-level perturbation heuristic operators to form the initial solution of the task through a hyperheuristic algorithm, and then uses this solution to solve the specific task; since the hyperheuristic algorithm is almost independent of the domain of the problem to be solved, the generality of the algorithm is guaranteed.

[0043] 2. This application utilizes a knowledge transfer mechanism to process multiple tasks simultaneously, allowing individuals to solve only the tasks they are good at. During the evolutionary process, individuals in the population are divided into different skill groups, and knowledge transfer is allowed between different skill groups. This enables knowledge learned in one task to be transferred to other tasks, thereby promoting the co-evolution of each task group.

[0044] 3. This application employs a local search algorithm for large-scale vehicle routing optimization problems. The size of the local search space is determined by allowing it to be adaptively adjusted during evolution, rather than being manually specified, thereby improving the algorithm's adaptability.

[0045] This invention combines the above three mechanisms, which can effectively improve the efficiency of solving large-scale vehicle routing problems. Attached Figure Description

[0046] This application can be better understood by referring to the description given below in conjunction with the accompanying drawings, which, together with the detailed description below, are incorporated in and form part of this specification. In the drawings:

[0047] Figure 1 A schematic diagram showing an individual's chromosomes and related attributes is provided.

[0048] Figure 2 A flowchart of a multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm according to an embodiment of this application is shown. Detailed Implementation

[0049] Exemplary embodiments of the present application will be described below with reference to the accompanying drawings. For clarity and brevity, not all features of the actual embodiments are described in the specification. However, it should be understood that many embodiment-specific decisions can be made in the development of any such actual embodiment to achieve the developer’s specific objectives, and these decisions may vary as the embodiments differ.

[0050] It should also be noted that, in order to avoid obscuring this application with unnecessary details, only the device structure closely related to the solution according to this application is shown in the accompanying drawings, while other details that are not closely related to this application are omitted.

[0051] It should be understood that this application is not limited to the described embodiments by virtue of the following description with reference to the accompanying drawings. In this document, embodiments may be combined with each other, features may be substituted or borrowed between different embodiments, and one or more features may be omitted in one embodiment, where feasible.

[0052] This invention constructs a sequence of low-level perturbation heuristic rules through optimization, and then uses the low-level heuristic rules in sequence to solve specific vehicle routing optimization problems. Compared with heuristic algorithms, hyperheuristic algorithms hardly rely on the domain knowledge of the problem being solved, and have stronger versatility and adaptability.

[0053] First, the chromosome coding form of an individual was defined:

[0054] The chromosome of an individual is defined as a two-dimensional array. The first dimension stores the low-level heuristics (LLH) to be executed, denoted as LLH-id. The second dimension stores the percentage of the local search space size for the corresponding low-level heuristic operator, denoted as LLH-per. This application uses a total of 7 low-level heuristic operators, namely:

[0055] One-point move: Relocate an existing node to a new position;

[0056] Two-point move: Swap the positions of two nodes;

[0057] Three-point move: Swap the positions of a pair of adjacent nodes with the position of a third node;

[0058] Two-opt move: Remove two edges from the solution and replace them with two new edges;

[0059] Three-opt mpve: Remove three edges from a path and replace them with three new edges;

[0060] Or-opt move: Deletes the string from two, three, or four nodes and inserts the string into the new position;

[0061] Cross-exchange move: Remove four edges from two different paths and replace them with four new edges.

[0062] In the first dimension of the chromosome, these seven low-heuristic operators are represented by 0 to 6. Figure 1 A schematic diagram of an individual's chromosomes and related attributes is shown. The individual's schematic diagram can be found by referring to... Figure 1 .

[0063] Then, four attributes of an individual were defined:

[0064] Distance Cost: The distance cost of individual i for task j is denoted as... j∈{1,2,3,......,k}, where k represents the number of tasks and its size is the distance cost of solving task j using individual i; within an individual, this attribute exists as a one-dimensional array with the length of the array being the number of tasks to be solved, and the array stores the distance cost required by the individual to solve different tasks;

[0065] Factor Rank: The factor rank of individual i for task j is denoted as . Its size is Ψ j After sorting in non-descending order, Ψ j Let i be the distance cost of task j, and i be the position of individual i in the sorting. Within an individual, this attribute exists as a one-dimensional array with a length equal to the number of tasks to be solved. The array stores the ranking of the distance cost required for that individual to solve the same task within the population.

[0066] Skill Factor: The skill factor of individual i is denoted as τ. i Its value represents the task that individual i is best at, that is, j∈{1,2,3,......,k}; that is, an individual's skill factor is equal to the index of the minimum value in the factor ranking array, and the index corresponds to the task to be solved. The skill factor reflects which task an individual is better at solving.

[0067] Scalar Fitness: The scalar fitness of individual i is denoted as . Its value is the reciprocal of the minimum value in the individual factor ranking array, that is... j∈{1,2,3,......,k}, this value is used to compare the dominance or supremacy relationship between different individuals. If If individual a dominates or controls individual b, then individual b dominates or controls individual a.

[0068] The four attributes of an individual can be referenced. Figure 1 .

[0069] Furthermore, the decoding methods for different tasks by individuals are defined, that is, the methods for obtaining the path costs of different tasks, namely:

[0070] Suppose that individual i decodes task j. The low-heuristic operator to be executed is determined based on the first dimension of individual i's chromosome, and the percentage of space size for local search of the low-heuristic operator is determined based on the second dimension.

[0071] Based on the determined low-heuristic operator to be executed and the percentage of space size for local search by the low-heuristic operator, the current path of task j is perturbed to obtain the perturbed path.

[0072] Calculate the path cost after the perturbation, which is the solution for task j.

[0073] This application provides a multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm. Figure 2 A flowchart illustrating a multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm according to an embodiment of this application is shown. See also... Figure 2 The methods include:

[0074] Step 1: Use a heuristic algorithm to generate an initial solution for each of the multiple tasks, which is then used as the current solution. The current solution includes the current distance cost for each task. Here, the heuristic algorithm is also called the mileage saving method. Each task can be a vehicle route optimization task. First, an initial path is generated for the task, and then the distance cost of the initial path is calculated as the initial solution.

[0075] Step 2, initialize the first iteration population as the current population; here, initializing the first iteration population may include:

[0076] The chromosome of each individual in the first iteration population is initialized by randomly initializing the first dimension of each individual's chromosome to one of a number of low-heuristic operators, and the second dimension of each individual's chromosome is randomly initialized to a value between 10% and 50%.

[0077] Step 3: Iterate through the current population to obtain the offspring population;

[0078] Step 4: Each individual in the offspring population decodes the task it is good at to obtain the distance cost of each task.

[0079] Here, the task proficiency of each individual in the offspring population is determined in the following way:

[0080] Determine whether each individual in the offspring population has two parent individuals or one parent individual. If an individual has two parent individuals, it inherits the skill factor of one parent individual randomly with a 50% probability. If an individual has one parent individual, it directly inherits the skill factor of the parent individual. Based on the skill factor of each individual in the offspring population, determine the task that each individual is good at.

[0081] Step 5: Compare the travel cost of each task with the current travel cost of the corresponding task in the current solution to determine whether to update the current solution with the travel cost of each task.

[0082] Step 6: Obtain the next generation population based on the offspring population and the current population;

[0083] Step 7: Determine whether the iteration stop condition is satisfied. If satisfied, stop the iteration and output the current solution; otherwise, return to Step 3, take the next-generation population as the current population, and continue the iteration. Here, the iteration stop condition may be: the solutions of all tasks have not improved for a consecutive set number of generations gen. For a single task, if the solution of the task has not improved for a consecutive set number of generations gen, the iteration is stopped; for multiple tasks, the iteration is stopped only when the solutions of all tasks have not improved simultaneously for a consecutive set number of generations gen.

[0084] The embodiments of the present application can simultaneously solve multiple large-scale vehicle routing planning problems, which can improve the efficiency and quality of solving compared with single-task solving; meanwhile, based on the hyper-heuristic evolutionary algorithm and adaptively determining the size of the local search space during evolution, the universality and adaptability of the algorithm can be guaranteed.

[0085] In one embodiment, Step 3: iterating on the current population to obtain a offspring population may include:

[0086] Step 31: Determine the skill factor of each individual in the current population current-pop. Here, if the current population current-pop is the first iteration population, it is necessary to determine the path cost of each individual for all tasks, and then determine the skill factor of the individual according to the path cost; if the current population is not the first iteration population, the skill factor of each individual in the current population current-pop has been determined in the previous iteration.

[0087] Step 32: Randomly select 2 individuals from the current population current-pop, denoted as parent individual p a , p b , and determine whether the parent individuals p a , p b have the same skill factor. If yes, execute Step 33; otherwise, execute Step 34;

[0088] Step 33: The parent individuals p a , p b generate offspring individuals p through the crossover operator and the mutation operator c , p d ;

[0089] Step 34: Determine whether to execute the crossover operator according to the random mating probability rmp. If rand<rmp, where rand is a random real number between 0 and 1, the parent individuals p a , p b generate offspring individuals p through the crossover operator and the mutation operator c , p d ; otherwise, the parent individual p a generates the offspring individual p through the mutation operator cParental individual p b Offspring individuals p are generated using the mutation operator. d ;

[0090] Step 35, generate the offspring individual p c p d Add it to the offspring population offspring-pop, return to step 32, until the size of the generated offspring population offspring-pop is the same as the size of the current population current-pop.

[0091] Specifically, in the parent individual p a p b Offspring individuals p are generated using crossover and mutation operators. c p d During the process, when the crossover operator is executed, the offspring individual p c p d The first dimension value of each gene on the chromosome is determined by the crossover operator, resulting in the first dimension value after crossover. The offspring individual p... c p d The second dimension value of each gene on the chromosome is set to the parent individual p. a p b The average value of the second dimension of the corresponding gene on the chromosome is used to obtain the second dimension value after crossover. When the mutation operator is executed, it is determined with a mutation probability of 10% whether to mutate the first and second dimension values. If so, the offspring individual p... c p d The first and second dimension values ​​of each gene on the chromosome are randomly set to values ​​between 10% and 50%. Otherwise, the offspring individual p c p d The first and second dimension values ​​of each gene on the chromosome are the first and second dimension values ​​after the crossover.

[0092] In the parent individual p a Offspring individuals p are generated using the mutation operator. c Or, the parent individual p b Offspring individuals p are generated using the mutation operator. d During the process, when the mutation operator is executed, it is determined with a mutation probability of 10% whether to mutate the values ​​of the first and second dimensions. If so, the offspring individual p... c p d The first and second dimension values ​​of each gene on the chromosome are randomly set to values ​​between 10% and 50%. Otherwise, the offspring individual p c p dThe first and second dimension values ​​of each gene on the chromosome represent the paternal individual's p. a The first dimension value or the parent individual p b The second dimension value.

[0093] In one embodiment, step 4, where each individual in the offspring population decodes the task they are good at to obtain the distance cost for each task, may include:

[0094] For each individual, the following method is used to determine the tasks that the individual excels at decoding:

[0095] Step 41: Determine the low-heuristic operator to be executed based on the first dimension of the individual's chromosome, and determine the percentage of the space size for the low-heuristic operator to perform local search based on the second dimension.

[0096] Step 42: Based on the determined low-heuristic operator to be executed and the percentage of space size for local search of the low-heuristic operator, perturb the current path of the individual's proficient task to obtain the perturbed path; the current path of the proficient task refers to the path of the proficient task corresponding to the current solution.

[0097] Step 43: Calculate the path cost after the disturbance;

[0098] Step 44: Repeat steps 41 to 43. The path cost of the perturbated path calculated in the last iteration is greater than or equal to the path cost of the perturbated path calculated in the previous iteration. Output the path cost of the final perturbated path as the path cost of the individual's preferred task.

[0099] Here, for each individual, the distance cost for all tasks other than those that the individual excels at is set to infinity.

[0100] In one embodiment, step 5, comparing the journey cost of each task with the current journey cost of the corresponding task in the current solution, and determining whether to update the current solution using the journey cost of each task, may include:

[0101] The travel cost of each task is compared with the current travel cost of the corresponding task in the current solution. If the travel cost of the task is less than the current travel cost of the corresponding task, the current travel cost of the corresponding task is updated using the travel cost of the task. Otherwise, no update is performed.

[0102] Here, since different individuals may be good at the same task, when there is a value in the distance cost of the same task for different individuals that is less than the current distance cost, the current distance cost is updated using the distance cost that is less than the current distance cost. When there are multiple values ​​in the distance cost of the same task for different individuals that are less than the current distance cost, the smallest distance cost is selected to update the current distance cost.

[0103] In one embodiment, step 6, obtaining the next generation population based on the offspring population and the current population, may include:

[0104] Step 61: Merge the offspring population offspring-pop and the current population current-pop to obtain the intermediate population intermediate-pop;

[0105] Step 62: Determine the scalar fitness of each individual in the intermediate-pop population;

[0106] Here, the path cost of each individual in the offspring population for the task they are good at has been obtained during the decoding process in step 4. In addition to the task that the individual is good at, the path cost for other tasks is set to infinity. Therefore, the scalar fitness of each individual can be determined based on the path cost.

[0107] If the current population is the first iteration population, the path cost of each individual for all tasks in step 31 has been determined, and the scalar fitness of each individual can be determined based on the path cost. If the current population is not the first iteration population, the current population is the next generation population generated in the previous iteration, in which the scalar fitness of each individual has been determined. Therefore, the scalar fitness of each individual in the intermediate-pop population can be determined.

[0108] Step 63: Select individuals from the intermediate population whose number is equal to that in the current population, based on scalar fitness, to form the next generation population. Here, all individuals in the intermediate population are sorted non-increasingly according to scalar fitness, and the top N individuals are selected to form the next generation population.

[0109] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the above-described multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm.

[0110] The technical effects of this application can be further illustrated by the following experiments:

[0111] Experimental conditions: This experiment was simulated on a 64-bit Windows 10 system, with an Intel Core i5-1135G7@2.42GHz CPU and 16GB of memory.

[0112] Experimental parameters: population size N = 30, chromosome length 12, rmp = 0.8, gen = 20;

[0113] Task Cases: This experiment selected seven task cases on CVRPLIB with varying distributions, sizes, requirements, and capacities: X-n204-k19, X-n251-k28, X-n270-k35, X-n322-k28, X-n393-k38, X-n439-k37, and X-n548-k50. Here, the number after 'n' represents the number of nodes, and the number after 'k' indicates the number of paths to the optimal solution. For example, X-n204-k19 represents a task case with 204 nodes and 19 paths to the optimal solution.

[0114] Experimental Content: Within the framework of the proposed method, both single-task and multi-task optimization frameworks were run. The single-task framework was tested with a population size of 30, while the multi-task framework was tested with population sizes of 30 and 30*2. The single-task framework algorithm was tested on the aforementioned seven task cases, and the multi-task framework algorithm... The test was conducted on Task Case 2. The test results are the average of 30 independent runs. The experimental data are summarized in the following 5 tables.

[0115] Table 1 records the optimal solutions and initial solutions generated using the mileage-saving method for the above 7 task cases.

[0116] Table 2 records the average time to run seven single tasks within the framework of the method proposed in this application.

[0117] Table 1. Optimal and initial solutions for the 7 tasks.

[0118]

[0119] Table 2. Average runtime of 7 individual tasks (unit: seconds)

[0120]

[0121] Table 3 records the average time for running 21 sets of 2-tasks within the framework of the method proposed in this application. To calculate the percentage of time saved or consumed by the 2-task compared to the single task, x, assuming the two single tasks run for t1 and t2 respectively, and the corresponding 2-task runs for t3, then x = |t1 + t2 - t3| / (t1 + t2) * 100%. If t1 + t2 - t3 > 0, it means that the 2-task is more time-efficient than the single task, and in this case, (+x) is marked at the 2-task level; otherwise, the 2-task is more time-consuming than the single task, and (-x) is marked at the 2-task level.

[0122] Table 3. Average runtime of Task 2 in Group 21 (unit: seconds)

[0123]

[0124] Table 4 records the average and standard deviation of the path cost for running seven single tasks under the method framework proposed in this application (standard deviation is in parentheses).

[0125] Table 4. Average and standard deviation of travel costs for 7 individual tasks

[0126]

[0127] Table 5 records the mean and standard deviation of the path cost for 21 2-task cases running under the method framework proposed in this application (standard deviation is in parentheses). This application uses the Wilcoxon rank-sum test to detect the significance of the optimization results of the multi-task and single-task optimization frameworks. In Table 5, plus (+), equals (=), and minus (-) signs are used to indicate that the optimization results of the multi-task optimization framework are significantly better than, better than, and worse than those of the single-task optimization framework, respectively.

[0128] Table 5. Mean and standard deviation of distance cost for Group 2-tasks in 21 groups.

[0129]

[0130]

[0131] In summary, this application has the following technical effects:

[0132] 1. This application selects a series of low-level perturbation heuristic operators to form the initial solution of the task through a hyperheuristic algorithm, and then uses this solution to solve the specific task; since the hyperheuristic algorithm is almost independent of the domain of the problem to be solved, the generality of the algorithm is guaranteed.

[0133] 2. This application utilizes a knowledge transfer mechanism to process multiple tasks simultaneously, allowing individuals to solve only the tasks they are good at. During the evolutionary process, individuals in the population are divided into different skill groups, and knowledge transfer is allowed between different skill groups. This enables knowledge learned in one task to be transferred to other tasks, thereby promoting the co-evolution of each task group.

[0134] 3. This application employs a local search algorithm for large-scale vehicle routing optimization problems. The size of the local search space is determined by allowing it to be adaptively adjusted during evolution, rather than being manually specified, thereby improving the algorithm's adaptability.

[0135] This application combines the above three mechanisms, which can effectively improve the efficiency of solving large-scale vehicle routing problems.

[0136] The above descriptions are merely various embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm, characterized in that, include: Step 1: Use a heuristic algorithm to generate an initial solution for each of the multiple tasks, which will serve as the current solution. The current solution includes the current path cost for each task; Step 2: Initialize the first iteration population as the current population. The chromosome encoding of each individual in the current population is a two-dimensional array. The first dimension of the two-dimensional array stores the low-heuristic operator to be executed, and the second dimension of the two-dimensional array stores the percentage of the local search space size of the low-heuristic operator. Step 3: Iterate through the current population to obtain the offspring population; Step 4: Each individual in the offspring population decodes the task that the individual is good at to obtain the distance cost of each task; Step 5: Compare the travel cost of each task with the current travel cost of the corresponding task in the current solution to determine whether to update the current solution using the travel cost of each task; Step 6: Obtain the next generation population based on the offspring population and the current population; Step 7: Determine whether the iteration stopping condition is met. If it is met, stop the iteration and output the current solution. Otherwise, return to step 3, take the next generation population as the current population, and continue the iteration. In step 4, each individual in the offspring population decodes the task they are good at to obtain the journey cost for each task, including: For each individual, the tasks that the individual excels at are decoded using the following method: Step 41: Determine the low-heuristic operator to be executed based on the first dimension of the individual's chromosome, and determine the percentage of the space size for the low-heuristic operator to perform local search based on the second dimension. Step 42: Based on the determined low-heuristic operator to be executed and the percentage of space size for local search by the low-heuristic operator, the current path of the task that the individual is good at is perturbed to obtain the perturbed path. Step 43: Calculate the distance cost of the disturbed path; Step 44: Repeat steps 41 to 43. The path cost of the perturbated path calculated in the last iteration is greater than or equal to the path cost of the perturbated path calculated in the previous iteration. Output the path cost of the final perturbated path as the path cost of the task that the individual is good at.

2. The method as described in claim 1, characterized in that, Step 2, initializing the first iteration population, includes: The chromosome of each individual in the first iteration population is initialized by randomly initializing the first dimension of the chromosome of each individual to one of a plurality of low-heuristic operators, and the second dimension of the chromosome of each individual to be randomly initialized to a value between 10% and 50%.

3. The method as described in claim 1, characterized in that, Step 3, iterating through the current population to obtain the offspring population, includes: Step 31: Determine the skill factor for each individual in the current population; Step 32: Randomly select 2 individuals from the current population and denote them as parent individuals. , Determine the parent individual , Do they have the same skill factor? If yes, proceed to step 33; otherwise, proceed to step 34. Step 33, the parent individual , Offspring individuals are generated through crossover and mutation operators. , ; Step 34, based on the random mating probability rmp Determine whether to execute the crossover operator, if rand <rmp , rand The parent individual is a random real number between 0 and 1. , Offspring individuals are generated using crossover and mutation operators. , Otherwise, the parent individual Generate offspring individuals using mutation operators. Parental individuals Generate offspring individuals using mutation operators. ; Step 35, generate offspring individuals , Add it to the offspring population and return to step 32 until the size of the generated offspring population is the same as the size of the current population.

4. The method as described in claim 3, characterized in that, In the parent individual , Offspring individuals are generated using crossover and mutation operators. , During the process, when the crossover operator is executed, the offspring individuals , The first dimension value of each gene on the chromosome is determined by the crossover operator, resulting in the first dimension value after crossover. The offspring individuals... , The second dimension value of each gene on the chromosome is set to the parent individual. , The average value of the second dimension of the corresponding gene on the chromosome is used to obtain the second dimension value after crossover. When the mutation operator is executed, it is determined with a 10% mutation probability whether to mutate the first and second dimension values. If so, the offspring individuals... , The first and second dimension values ​​of each gene on the chromosome are randomly set to values ​​between 10% and 50%. Otherwise, the offspring individuals... , The first and second dimension values ​​of each gene on the chromosome are the first and second dimension values ​​after the crossover. In the parent individual Generate offspring individuals using mutation operators. Or, the parent individual Generate offspring individuals using mutation operators. During the process, when the mutation operator is executed, a 10% mutation probability is used to determine whether to mutate the values ​​of the first and second dimensions. If so, the offspring individuals are... , The first and second dimension values ​​of each gene on the chromosome are randomly set to values ​​between 10% and 50%. Otherwise, the offspring individuals... , The first and second dimension values ​​of each gene on the chromosome represent the values ​​of the parent individual. The first dimension value or the parent individual The second dimension value.

5. The method as described in claim 1, characterized in that, The task proficiency of each individual in the offspring population in step 4 is determined using the following method: Determine whether each individual in the offspring population has two parent individuals or one parent individual. If an individual has two parent individuals, the individual will randomly inherit the skill factor of one parent individual with a 50% probability. If an individual has one parent individual, the individual will directly inherit the skill factor of the parent individual. Based on the skill factor of each individual in the offspring population, determine the task that each individual is good at.

6. The method as described in claim 1, characterized in that, Step 5, which compares the travel cost of each task with the current travel cost of the corresponding task in the current solution, to determine whether to update the current solution using the travel cost of each task, includes: The travel cost of each task is compared with the current travel cost of the corresponding task in the current solution. If the travel cost of the task is less than the current travel cost of the corresponding task, the current travel cost of the corresponding task is updated using the travel cost of the task. Otherwise, no update is performed.

7. The method as described in claim 1, characterized in that, Step 6, obtaining the next generation population based on the offspring population and the current population, includes: Step 61: Merge the offspring population and the current population to obtain an intermediate population; Step 62: Determine the scalar fitness of each individual in the intermediate population; Step 63: Select individuals from the intermediate population with the same number of individuals as the current population based on the scalar fitness to form the next generation population.

8. The method as described in claim 1, characterized in that, The iteration stopping condition is: the solutions to all tasks have not improved after a consecutive set number of algebras.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the multi-task large-scale vehicle path optimization method based on a hyperheuristic evolutionary algorithm as described in any one of claims 1-8.

Citation Information

Patent Citations

  • Vehicle path optimization method of hyperheuristic algorithm based on strategy gradient

    CN115271163A