Co-evolutionary generation method of path planning large neighborhood search complementary heuristic
By analyzing conflicts in multi-agent path planning and using a subpopulation co-evolutionary generation method, and optimizing the destructive heuristic combination, the problem of low efficiency in conflict identification and resolution in multi-agent path planning is solved, and more efficient path planning is achieved.
Patent Information
- Application Number
- CN202611518809.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-29
- Publication Date
- 2026-11-03
AI Technical Summary
In existing multi-agent path planning, destructive heuristics are difficult to adapt to conflict states in different scenarios, resulting in low efficiency in path conflict identification and resolution, and poor synergy and complementarity between different heuristics.
By acquiring large neighborhood search operation status data of multi-agent path planning, conflict analysis is performed, multiple subpopulations are established, conflict state characterization data is used to determine the agent destruction priority, and marginal performance contribution and cooperative gap characteristics are calculated by referring to the destruction heuristic and the co-evolutionary generation method of the candidates to be evaluated, and the combination of destruction heuristics is optimized.
It improves the conflict resolution efficiency and adaptability of multi-agent path planning, reduces functional overlap between heuristics, enhances the complementarity of destructive heuristics, and improves the quality and efficiency of path planning.
Smart Images

Figure CN123028614A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent optimization and path planning technology, specifically to a method for recognizing the usage status of pet supplies based on image classification. Background Technology
[0002] Multi-Agent Path Finding (MAPF) is used to plan motion paths that satisfy conflict constraints for multiple agents, and can be applied to scenarios such as warehouse logistics robot scheduling and multi-robot collaborative operations. As the number of agents and the degree of path interaction increase, the probability of path conflicts occurring between different agents at the same location, adjacent edges, and in similar time periods also increases. The identification and resolution of path conflicts become important factors affecting the efficiency and planning quality of multi-agent path finding.
[0003] Large Neighborhood Search (LNS) can locally replan existing paths by repeatedly performing destruction and repair operations. The destruction phase requires selecting a set of agents to be replanned from multiple agents, and the destruction heuristic used directly affects the scope of replanning and the subsequent conflict resolution effect. Existing destruction heuristics typically determine the agent selection order based on preset rules, a single conflict indicator, or human experience. However, the conflict distribution, conflict propagation relationships, and mutual influences between agents vary across different scenarios, making it difficult for fixed heuristics to continuously adapt to different path conflict states.
[0004] To reduce the cost of manually constructing heuristics, existing methods have attempted to generate destructive heuristics through automatic search or evolution. However, when multiple destructive heuristics participate in a large neighborhood search, evaluating them primarily based on the overall conflict resolution performance of candidate heuristics makes it difficult to accurately distinguish the actual performance contribution of individual candidates in the current heuristic combination. It also makes it difficult to identify repeated processing of the same conflict state by different candidates, as well as supplementary processing of unresolved conflict states. This can easily lead to similar agent selection behaviors among different heuristics. Multi-agent path conflicts are temporal, spatially correlated, and propagating; relying solely on a single indicator such as the number of conflicts is insufficient to fully represent the current conflict state. During heuristic iteration, if there is a lack of mechanisms to identify and provide feedback on conflict states not effectively handled by existing heuristics, subsequently generated candidate heuristics may still focus on processing conflict types that existing heuristics excel at, leading to functional overlap between heuristics and affecting the synergistic and complementary effects among multiple destructive heuristics. Summary of the Invention
[0005] The purpose of this invention is to provide a method for recognizing the usage status of pet supplies based on image classification, thereby solving the problems existing in the prior art.
[0006] To achieve the above objectives, the present invention provides the following technical solution: a complementary heuristic co-evolutionary generation method for path planning using a large neighborhood search, comprising the following steps:
[0007] S1. Obtain the large neighborhood search operation status data of multi-agent path planning, perform conflict analysis on the agent path, and generate conflict state representation data including conflict event sequence, conflict relationship matrix and first feature vector.
[0008] S2. Establish multiple subpopulations corresponding to different destruction heuristic components. Each candidate destruction heuristic determines the destruction priority of the agent based on the conflict state representation data, generates a candidate agent sequence and performs destruction-repair operation, and determines the representative candidate of each subpopulation.
[0009] S3. Determine the target subpopulation, construct a cooperative environment using representative candidates from other subpopulations, and evaluate it using the reference destruction heuristic and the destruction heuristic of the candidate to be evaluated, respectively. Determine the marginal performance contribution value based on the difference in conflict resolution performance.
[0010] S4. Generate a first coverage vector and a second coverage vector based on the conflict events that are effectively resolved between the candidate to be evaluated and other representative candidates. Generate a collaborative gap vector from the second coverage vector and determine the duplicate coverage value and the new coverage value by combining the first coverage vector.
[0011] S5. Extract gap features from the collaborative gap vector to form a second feature vector. Based on the second feature vector, make directional adjustments to the parent candidates in the target subpopulation to obtain the offspring candidates.
[0012] S6. Determine the marginal performance contribution value, new coverage value, and duplicate coverage value of each candidate according to S3 and S4, and calculate the collaborative evaluation value accordingly. Select candidates whose marginal performance contribution value meets the preset threshold according to the collaborative evaluation value, and update the target subpopulation and its representative candidates.
[0013] As can be seen from the above technical solution, the present invention has the following beneficial effects:
[0014] This invention performs conflict analysis on the large neighborhood search operation status of multi-agent path planning, transforming conflict events and their correlations into conflict state representation data. This enables the destruction heuristic to comprehensively utilize conflict events, conflict correlations, and agent conflict characteristics to determine the agent destruction priority. Compared to selection based on a single conflict index, this invention can make fuller use of the spatiotemporal correlation information of path conflicts.
[0015] In the above scheme, by keeping the other subpopulations as representatives of the candidates unchanged to form a cooperative environment, and by comparing the conflict resolution performance of the reference destruction heuristic and the destruction heuristic of the candidate to be evaluated, the marginal performance contribution of the candidate in the current heuristic combination can be obtained, thereby reducing the interference of other heuristic changes in the combination on the candidate evaluation results.
[0016] Meanwhile, by characterizing the conflict events that are effectively resolved by the candidate to be evaluated and other representative candidates, the overlapping coverage status and the collaborative gaps that have not been effectively addressed by other candidates are further identified. This allows the candidate evaluation to not only consider the overall conflict resolution performance, but also reflect the degree of functional duplication and supplementary ability between the candidate and existing heuristics.
[0017] Furthermore, gap features are extracted based on the collaborative gaps, and parent candidates are adjusted in a targeted manner so that the offspring candidates can be optimized for conflict states that the current heuristic combination has not yet effectively handled. Then, candidate selection is carried out by combining marginal performance contribution, new coverage and repeated coverage, so that different subpopulations can form differentiated conflict handling capabilities during the iteration process. This reduces the probability that multiple destructive heuristics tend to be homogenized, improves the complementarity of destructive heuristic combinations, and enhances the conflict resolution efficiency and adaptability of multi-agent path planning large neighborhood search. Attached Figure Description
[0018] Figure 1 This is a flowchart of the large neighborhood search complementary heuristic co-evolution generation method for path planning in this invention;
[0019] Figure 2 This is a schematic diagram of a round-robin update process that disrupts the heuristic subpopulation according to an embodiment of the present invention;
[0020] Figure 3 This is a comparison graph showing the decrease in the number of conflicts between the embodiments of the present invention and the original method. Detailed Implementation
[0021] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0022] Example 1:
[0023] like Figure 1 , Figure 2 and Figure 3 As shown, this invention provides a technical solution: a complementary heuristic co-evolutionary generation method for path planning using a large neighborhood search, comprising the following steps:
[0024] S1. Obtain the large neighborhood search operation status data of multi-agent path planning, perform conflict analysis on the agent path, and generate conflict state representation data including conflict event sequence, conflict relationship matrix and first feature vector.
[0025] S2. Establish multiple subpopulations corresponding to different destruction heuristic components. Each candidate destruction heuristic determines the destruction priority of the agent based on the conflict state representation data, generates a candidate agent sequence and performs destruction-repair operation, and determines the representative candidate of each subpopulation.
[0026] S3. Determine the target subpopulation, construct a cooperative environment using representative candidates from other subpopulations, and evaluate it using the reference destruction heuristic and the destruction heuristic of the candidate to be evaluated, respectively. Determine the marginal performance contribution value based on the difference in conflict resolution performance.
[0027] S4. Generate a first coverage vector and a second coverage vector based on the conflict events that are effectively resolved between the candidate to be evaluated and other representative candidates. Generate a collaborative gap vector from the second coverage vector and determine the duplicate coverage value and the new coverage value by combining the first coverage vector.
[0028] S5. Extract gap features from the collaborative gap vector to form a second feature vector. Based on the second feature vector, make directional adjustments to the parent candidates in the target subpopulation to obtain the offspring candidates.
[0029] S6. Determine the marginal performance contribution value, new coverage value, and duplicate coverage value of each candidate according to S3 and S4, and calculate the collaborative evaluation value accordingly. Select candidates whose marginal performance contribution value meets the preset threshold according to the collaborative evaluation value, and update the target subpopulation and its representative candidates.
[0030] S7. The evaluation scenario for the co-evolution process is switched, and the performance data of each subpopulation is re-determined based on the switched evaluation scenario.
[0031] S8. Generate reflection information based on the candidate evaluation results during the subpopulation update process, and use the reflection information to guide the subsequent directional adjustment of the target subpopulation;
[0032] S9. Perform combined verification of the candidate destruction heuristics retained by each subpopulation after co-evolution, and determine the final combination of destruction heuristics based on the independent verification results.
[0033] In the above implementation, the destruction phase in the large neighborhood search is divided into four mutually cooperating destruction heuristic components, and four sub-groups are established: a conflict-critical destruction sub-group, a spatiotemporal bottleneck destruction sub-group, an agent-influence destruction sub-group, and a novelty stagnation escape destruction sub-group. Each of the four sub-groups is responsible for identifying agents whose paths need to be removed and replanned based on four aspects: conflict association, spatiotemporal occupancy, agent interaction, and historical search state. During co-evolution, only one sub-group is updated at a time, while the other three sub-groups use the current representative candidates to form a fixed cooperative environment, allowing candidates in the sub-group to be updated to be evaluated under defined cooperative conditions.
[0034] In S1, the paths of all agents, the time steps corresponding to each path, the agent's current position, the target position, waiting actions, edge occupancy, historical destruction selection results, and the number of iterations completed in the current large neighborhood search are read, and conflict detection is performed on the current path.
[0035] When two agents occupy the same node at the same time step, a node conflict event is recorded; when two agents swap nodes in two consecutive time steps, an edge conflict event is recorded. Each conflict event records the agent numbers of the two participating agents, the time step in which the conflict occurred, the conflict location or the corresponding path edge, and the conflict type. All conflict events are first sorted in ascending order of their occurrence time step; if the occurrence time steps are the same, they are sorted in ascending order of the first agent number; if they are still the same, they are sorted in ascending order of the second agent number, thus forming a fixed sequence of conflict events. A conflict relationship matrix is built based on the conflict event sequence. Each row and column of the conflict relationship matrix corresponds to one agent. The value at the corresponding position of any two different agents equals the total number of conflict events they jointly participate in. The intersection of the row and column corresponding to the same agent is recorded as 0. Therefore, the conflict relationship matrix can directly give the number of conflict associations between any two agents in the current path state.
[0036] After forming the conflict event sequence and conflict relationship matrix, the first feature vector is extracted. The first feature vector records, in a fixed order, the total number of current conflict events, the total number of node conflict events, the total number of edge conflict events, the number of times each agent participates in conflict, the number of time steps in each agent's current path, the number of waiting time steps, the sum of the row elements of the conflict relationship matrix corresponding to each agent, the time step in which each conflict event occurred, the number of times each path edge was occupied in its corresponding time step, and the number of times each agent was selected during historical disruptions. These data collectively form the conflict state representation data for the current large neighborhood search state.
[0037] In S2, a subpopulation is established for each of the four disruptive heuristic components.
[0038] The conflict-critical disruption subpopulation reads the current conflict event sequence, conflict relationship matrix, the number of times each agent participates in the conflict, and conflict connectivity to determine the agent selection order that can simultaneously affect two or more existing conflict events. The spatiotemporal bottleneck disruption subpopulation reads the conflict location, conflict time step, path edge occupancy, and local spatiotemporal occupancy within the same time segment to determine the agent selection order that is located at a conflict concentration location or repeatedly occupies a path edge.
[0039] Specifically, the agent-influenced destruction subpopulation reads the path blocking relationships between agents, the target node occupancy status, path intersections near the starting node, the associated range of the current conflict event along other agents' paths, and conflict changes after agents replan their paths. This information is used to determine the agent selection order that influences the paths of other agents. The novelty stagnation escape destruction subpopulation reads historical destruction selection records, consecutively occurring identical conflict events, changes in the total number of conflict events after several consecutive large neighborhood search iterations, and the number of times agents repeatedly select. This information is used to adjust the agent selection order when the set of remaining conflict events remains unchanged in consecutive iterations, so that subsequent destruction operations use agent combinations different from previous selections.
[0040] Specifically, each of the four subpopulations is configured with corresponding candidate generation prompts. Each prompt includes the functional objective of the current subpopulation, the allowed running status data, the function input content of the candidate destructive heuristic, the agent number sequence to be returned, the returned data format, code execution restrictions, and agent number validity requirements.
[0041] During the initialization phase, the large language model is invoked to generate 6 initial candidate destructive heuristics for each subpopulation, resulting in a total of 24 candidate programs for the 4 subpopulations.
[0042] Before each candidate program enters the actual evaluation, it undergoes the following checks in sequence: interface check, return value check, agent number range check, duplicate number check, and code security check. The interface check confirms that the candidate program can receive pre-defined runtime state data and return an agent number sequence. The return value check confirms that the output data type and structure are consistent with the requirements of the large neighborhood search disruption module. The agent number range check confirms that the output numbers belong to the actual set of agent numbers existing in the current scenario. The duplicate number check removes or determines duplicate numbers in the same candidate sequence. The code security check prevents the candidate program from performing file modifications, external program startups, network access, or runtime environment modifications unrelated to disrupting the heuristic computation. Candidates that fail the above checks will not enter the solver evaluation.
[0043] Specifically, before the formal evaluation of the four candidate subpopulations, all four disruptive heuristic components are set to random heuristics. A complete evaluation is performed once under the current training scenario set and the current fixed random seed to obtain the baseline fitness score corresponding to the random combination. The fitness calculation rule is fixed before training begins and remains consistent throughout subsequent training and independent validation. The fitness value reflects the remaining conflicts at termination, the solution iteration process, and the running performance according to a preset rule. In this embodiment, the direction of minimum value is used as the sorting direction. After completing the baseline evaluation of the random combination, serial initialization is performed in the order of the first subpopulation, the second subpopulation, the third subpopulation, and the fourth subpopulation.
[0044] When initializing the first subpopulation, the six candidates from the first subpopulation are sequentially placed into the first disruptive heuristic position, while the remaining three disruptive heuristic positions are set to random heuristics. The six candidates undergo large neighborhood search under the same training scenario set, the same random seed, and the same initial path conditions to obtain their fitness scores. The six candidates are then sorted in ascending order of fitness value, and the candidates in the first three positions are retained to form the first formal subpopulation. The candidate in the first position is determined as the representative candidate of the first subpopulation. When initializing the second subpopulation, the first disruptive heuristic position uses the representative candidate already determined in the first subpopulation, the second position uses the six initial candidates from the second subpopulation sequentially, and the third and fourth positions continue to use random heuristics. After evaluation, three candidates are retained according to the same rules, and the representative candidate of the second subpopulation is determined. When initializing the third subpopulation, the first two disruptive heuristic positions use the already determined representative candidates from the first and second subpopulations, respectively. The third position uses six candidates to be evaluated sequentially, and the fourth position uses a random heuristic. When initializing the fourth subpopulation, the first three positions use the representative candidates from the first three subpopulations, respectively, and the fourth position uses six candidates to be evaluated sequentially from the fourth subpopulation.
[0045] After completing the above serial initialization, each of the four subpopulations retains three candidates and has one current representative candidate.
[0046] For any candidate destruction heuristic, it receives the conflict state representation data formed in step 1 and calculates the destruction priority of each agent according to the rules stored in its own candidate program. After calculation, all agents are arranged in descending order of destruction priority value; if the destruction priorities are the same, they are arranged in ascending order of agent number, thus forming a determined candidate agent sequence. According to the destruction scale pre-set in the current large neighborhood search, the corresponding number of agents are obtained sequentially from the starting position of the candidate agent sequence, their current paths are removed, and then the predetermined path repair module is called to replan the paths of these agents according to the sequence order.
[0047] It should be noted that each model call generates only one candidate function that satisfies the functional constraints of the current subpopulation. Six consecutive calls yield six initial candidates, with each call using the same input fields, function interfaces, and security constraints.
[0048] In S3, after initializing the four subpopulations, a cycle of co-evolution begins. Generation 1 updates the first subpopulation, generation 2 updates the second, generation 3 updates the third, generation 4 updates the fourth, and generation 5 updates the first subpopulation again, continuing this cycle in the same order. Therefore, a complete update of all four subpopulations is achieved in four consecutive generations.
[0049] When the first subpopulation is used as the target subpopulation, the first disruptive heuristic position is first replaced with a random heuristic. The second, third, and fourth positions each use their respective current representative candidates. A large neighborhood search is performed under the current training scenario set and the current random seed to obtain the random baseline fitness corresponding to the first subpopulation in this generation. Then, keeping the second, third, and fourth representative candidates unchanged, the current representative candidate of the first subpopulation is placed in the first disruptive heuristic position. The fitness of the current representative combination is directly read from the cache record when the training scenario set, random seed, initial path state, and four representative candidates have not changed; if any condition changes, the evaluation is re-executed. The two original candidates in the first subpopulation other than the representative candidate are re-evaluated under the condition that the current three cooperative representative candidates remain unchanged, thus ensuring that the current generation performance of the three original candidates corresponds to the same cooperative environment.
[0050] Specifically, for each candidate to be evaluated, the fitness obtained when the target subpopulation is set to the random heuristic is used as the reference performance. The candidate to be evaluated is then placed in the target subpopulation position to obtain the candidate fitness. The fitness value of the candidate to be evaluated is subtracted from the fitness value corresponding to the random heuristic, and the result is used as the marginal performance contribution value of the candidate to be evaluated. A result greater than 0 indicates that the candidate to be evaluated has a positive change in the fitness value of the current combination relative to the random heuristic; a result equal to 0 indicates that the fitness values of the two are the same; a result less than 0 indicates that the candidate to be evaluated has not reached the current random baseline performance.
[0051] While performing the above evaluation, the conflict events that existed before each disruption and repair are numbered, and it is recorded whether each conflict event continues to exist after the candidate is executed, thus generating coverage data for step 4. The processing method for the second to fourth subpopulations is the same as that for the first subpopulation. The only difference is that the position where each generation is replaced by a random heuristic and accepts candidate evaluation corresponds to the target subpopulation to which the current rotation is turned, while the other three positions always use the representative candidates determined at the beginning of the current generation.
[0052] Specifically, in S4, a first coverage vector is established for each candidate to be evaluated in the target subpopulation, using the sequence of conflict events before the candidate's execution as a fixed index. When a conflict event disappears after the candidate completes destruction and repair, the corresponding position is recorded as 1; when the conflict event continues to exist after destruction and repair, the corresponding position is recorded as 0. Subsequently, the conflict resolution records corresponding to the other three representative candidates from the same subpopulation are read under the same training scenario and the same initial path conditions. When at least one other representative candidate can make a conflict event disappear, the corresponding position in the second coverage vector is recorded as 1; when none of the three other representative candidates make the conflict event disappear, the corresponding position in the second coverage vector is recorded as 0.
[0053] A coordination gap vector is generated item by item based on the second coverage vector. Positions marked as 0 in the second coverage vector are marked as 1 in the coordination gap vector; conversely, positions marked as 1 in the second coverage vector are marked as 0 in the coordination gap vector. Therefore, positions marked as 1 in the coordination gap vector explicitly correspond to the other three candidate conflict events that have not yet been processed.
[0054] The first and second coverage vectors are compared item by item. When the same position is marked as 1, the corresponding conflict event is counted as a duplicate coverage, and the total number of such events is used as the duplicate coverage value. When the corresponding position in the first coverage vector is marked as 1 and the corresponding position in the second coverage vector is marked as 0, the corresponding conflict event is counted as a new coverage, and the total number of such events is used as the new coverage value.
[0055] In this way, the same candidate simultaneously obtains a fitness score, a marginal performance contribution value, a new coverage value, and a repeated coverage value. Fitness is used to record the performance of the full large neighborhood search, marginal performance contribution is used to record the combined performance change of the candidate relative to the random reference breaking heuristic, and new coverage and repeated coverage are used to record the complementary relationship of conflict handling between the candidate and the other three representative candidates.
[0056] In S5, gap features are extracted based on the conflict events marked as 1 in the collaborative gap vector, and a second feature vector is formed according to a pre-fixed feature order. The gap features include the number of uncovered node conflict events, the number of uncovered edge conflict events, the time step of each uncovered conflict, the corresponding conflict position, the number of times the corresponding path edge is occupied, the agent number participating in the uncovered conflict, the number of conflict events of each participating agent, the count of the corresponding conflict relationship matrix, the number of times each agent has been selected in history, and the number of iterations in which the same conflict event occurs consecutively.
[0057] Three existing candidates from the target subpopulation are used as parent sources, and four offspring candidates are generated by calling the large language model in combination with the current collaborative gap features, feedback from the large neighborhood search operation, and the reflection information saved by the current subpopulation.
[0058] Specifically, the first offspring is generated through a mechanism difference combination method. The large language model compares the differences between the two parent generations in agent selection conditions, conflict judgment order, and neighborhood expansion disruption methods, and takes one processing mechanism that has been actually executed from each of the two parent generations to form a new candidate. The second offspring is generated through performance result recombination. The large language model reads the fitness, marginal performance contribution, new coverage, and repeated coverage records of the parent generation in the current training scenario, and recombines the processing conditions and agent ranking methods corresponding to positive evaluation results in the parent generation to form a new candidate. The third offspring is generated through failure trajectory orientation adjustment. The large language model reads incompletely resolved conflict events, conflict events that still exist at termination, continuously recurring conflict events, and repeatedly selected agent sets, and modifies the agent priority judgment conditions corresponding to these states in the parent generation to generate new candidates. The fourth offspring is generated through cooperative gap filling. The large language model reads the current collaborative gap vector and the second feature vector, and at the same time reads the conflict events that have been covered by the other three subpopulation representative candidates, so that the generation rules prioritize the establishment of agent selection conditions for conflict events that have not been covered by the other three representative candidates.
[0059] After the four offspring candidates are generated, interface checks, return value checks, agent number range checks, duplicate number checks, and code safety checks are performed again. Offspring that pass the checks are placed into the corresponding positions of the current target subpopulation, while the other three representative candidates remain unchanged. Under the same training conditions, a large neighborhood search is run to obtain fitness, marginal performance contribution, new coverage, and duplicate coverage records, respectively.
[0060] It should be noted that the vertex conflict count, edge conflict count, associated agent count, spatial node count, and time window count correspond to the conflict selection, agent selection, neighborhood expansion, and time selection rules in the parent candidate, respectively. The large language model can only modify the program within the scope of the rules to be adjusted that have been determined in S5.
[0061] In S6, a competitive set of 7 candidates is formed, consisting of the representative candidate of the current target subpopulation, the two original candidates after re-evaluation, and the four new candidates that have passed the security check.
[0062] For the seven candidates, the marginal performance contribution value is first checked to see if it reaches the preset marginal performance contribution threshold. In this implementation, 0 can be set as the marginal performance contribution threshold, in which case only candidates with a marginal performance contribution value greater than or equal to 0 will enter the subsequent collaborative evaluation. The marginal performance contribution threshold is determined before training begins and remains unchanged within the same evolutionary block.
[0063] For candidates entering subsequent evaluation, a collaborative evaluation value is calculated based on the marginal performance contribution value, the new coverage value, and the duplicate coverage value. The specific processing procedure is as follows: The three evaluation data are converted into directly combinable evaluation data according to a pre-fixed scaling method. The processing result corresponding to the marginal performance contribution is multiplied by a first fixed weight, the processing result corresponding to the new coverage is multiplied by a second fixed weight, and the processing result corresponding to the duplicate coverage is multiplied by a third fixed weight. The first two are added together, and the third is subtracted. The resulting value is the candidate's collaborative evaluation value. The three fixed weights are set before the start of an evolutionary block and remain unchanged throughout the 12 generations of that evolutionary block.
[0064] Candidates that meet the marginal performance contribution threshold are sorted in descending order of collaborative evaluation value; if the collaborative evaluation values are the same, they are sorted in ascending order of fitness value; if the fitness values are still the same, they are sorted in descending order of new coverage value; if the above results are still the same, they are sorted in ascending order of candidate fixed number.
[0065] When three candidates meet the marginal performance contribution threshold, the top three candidates are selected according to the above ranking, the current target subpopulation is updated, and the candidate ranked first is determined as the new representative candidate. When fewer than three candidates meet the marginal performance contribution threshold, the target subpopulation replacement is not performed, and the three candidates before the update and the original representative candidate are retained. This process ensures that the subpopulation capacity always remains at three candidates.
[0066] After completing the update of the current target subpopulation, the new representative candidates are passed on to the next generation, so that the next generation adopts the latest three cooperative representative candidates when updating the next subpopulation.
[0067] In S7, four consecutive generations constitute one complete cycle of four subpopulations, and three consecutive complete cycles form one evolutionary block. Therefore, each evolutionary block contains a fixed 12 generations.
[0068] Within the same evolutionary block, the training scenario set and random seed remain unchanged for 12 generations. After the 12th generation, the system switches to the next training scenario set, and the random seed is changed simultaneously. During scenario switching, the 12 candidate programs currently retained by the four subpopulations are preserved, and the current performance data from the previous evolutionary block is not directly used. Upon entering the new training scenario set, the complete destructive heuristic combination of the current four representative candidates is rerun using the new training scenario and random seed to obtain the fitness of the new representative combination. Subsequently, the four subpopulations are replaced with random heuristics, while the other three positions retain the current representative candidates, thus obtaining the random baseline performance of the four subpopulations in the new training scenario. The marginal performance contribution, new coverage, duplicate coverage, and collaborative evaluation data used by each candidate are all re-determined based on the actual running results in the new training scenario.
[0069] In one specific implementation, a total of 6 evolution blocks are executed, each containing 12 generations, so the complete co-evolution process takes 72 generations. The first evolution block uses the first set of training scenarios and the first set of random seeds. Starting from the 13th generation, the second set of training scenarios and the second set of random seeds are used. Thereafter, the same scenario and random seed switching is performed once every 12 generations.
[0070] In S8, after each generation completes the generation, evaluation, and selection of four offspring, the evaluation record corresponding to the target subpopulation of this generation is input into the large language model to generate reflection information.
[0071] The data used in each reflection includes 4 offspring candidates, the parent-child relationship for each offspring, parent fitness, offspring fitness, parent marginal performance contribution, offspring marginal performance contribution, parent new coverage value, offspring new coverage value, parent duplicate coverage value, offspring duplicate coverage value, whether the candidate enters the updated subpopulation, and feedback from the large neighborhood search operation.
[0072] The operational feedback includes whether all conflicts have disappeared, the number of remaining conflict events at termination, the number of large neighborhood search iterations when the termination condition is met, the number of conflict events recorded after each iteration, the change in conflict events before and after a single destruction and repair, the set of agents that were repeatedly selected, the set of agents that were not selected but participated in existing conflicts, the number of times the path replanning of the destroyed agent was successful, the number of replanning executions, the candidate running time, and whether the candidate encountered interface errors or execution errors. The large language model generates structured reflection results based on the above fixed input. The reflection results record the candidate mechanisms that produce positive evaluation changes in the current generation, the candidate mechanisms that produce negative evaluation changes, the types of conflicts that have not yet been resolved, continuously existing conflict events, the candidate processing conditions that produce repeated coverage, and the suggested adjustment direction for the next update of this subpopulation.
[0073] The reflection results are only written to the reflection memory corresponding to the currently updated subpopulation, and not to the reflection memories of the other three subpopulations. When the current subpopulation becomes the target subpopulation in the next cycle, this reflection memory, along with the current collaborative gap vector, the second feature vector, and the parent candidate, is written into the candidate generation prompt information. Therefore, the reflection information formed after the first generation updates the first subpopulation is used when the first subpopulation is updated again in the fifth generation; the reflection information formed after the second generation updates the second subpopulation is used in the sixth generation; the reflection information of the third subpopulation formed in the third generation is used in the seventh generation; and the reflection information of the fourth subpopulation formed in the fourth generation is used in the eighth generation. This process continues according to the same cycle.
[0074] Specifically, reflective information does not directly change the fitness, marginal performance contribution, or values of new or repeated coverage of candidates, nor does it directly determine whether a candidate is retained. It only serves as a directional input when the large language model generates offspring candidates for the next time. Whether a candidate enters the subpopulation is still determined by the marginal performance contribution and co-evaluation results obtained from actual operation.
[0075] In S9, after completing 6 evolution blocks and 72 generations of co-evolution, each subpopulation retains 3 candidates, so the 4 subpopulations retain a total of 12 candidates.
[0076] The three candidates from the first subpopulation are combined with the three candidates from the second, third, and fourth subpopulations respectively to form 81 complete four-component destructive heuristic combinations.
[0077] Specifically, a set of validation scenarios is set up that is independent of the aforementioned training scenario set. These validation scenarios are not used for candidate generation, parent selection, reflective generation, collaborative evaluation, or subpopulation updates during the aforementioned 72 generations of co-evolution.
[0078] Eighty-one complete combinations were deployed to the large neighborhood search destruction phase and run under the same set of independent validation scenarios and a fixed validation random seed. The validation fitness of each combination was obtained using the same fitness calculation rules as in the training phase, and the number of validation scenarios that completely resolved all conflicts, the number of remaining conflict events when each scenario terminated, the number of conflict resolution iterations, and the running time were recorded.
[0079] The 81 combinations are sorted in ascending order of validation fitness values. The combination with the highest validation fitness value is determined as the final destructive heuristic combination. When two or more combinations have the same validation fitness, the number of validation scenarios that completely resolve all conflicts is compared first, and the combination with the highest number of such scenarios is selected as the priority combination. If this data is still the same, the total number of remaining conflict events at termination is compared in ascending order. If still the same, the number of conflict resolution iterations is compared in ascending order. If still the same, the runtime is compared in ascending order. If all the above data are consistent, the final combination is determined by the pre-assigned combination number in ascending order.
[0080] Finally, the output includes the four destruction heuristics corresponding to the first to fourth subpopulations, the numbers of the four candidates in their respective subpopulations, the complete combination number, the independent verification fitness, and the independent verification run record. The four destruction heuristics are then deployed as a whole to the destruction phase of the large neighborhood search.
[0081] During the final deployment process, the current large neighborhood search running status is reread before each sabotage operation, and the conflict event sequence, conflict relationship matrix, and first feature vector are updated according to step 1. The four final sabotage heuristics generate corresponding agent sabotage priorities based on the criticality of the conflict they are responsible for, spatiotemporal bottlenecks, agent influence, and stagnation escape information. They then form the sabotage agent selection result according to the pre-determined combination call order in the deployment phase, followed by path removal and path repair.
[0082] In the above implementation, the functional division of the four subpopulations and the collaborative gap mechanism work together. Conflict criticality disruption is responsible for handling agent associations directly reflected by conflict relationships; spatiotemporal bottleneck disruption is responsible for handling conflict states formed by position, time step, and edge occupancy; agent influence disruption is responsible for handling blocking and conflict propagation relationships between agents; and novelty stagnation escape disruption is responsible for handling search states where historical selections are repeated and conflict sets remain continuous. Step 4 further determines whether the four types of heuristics have handled the same conflict and whether a candidate has handled a conflict that the other three representative candidates have not handled, by using overlay records. This ensures that the updates of the four subpopulations are based not only on the complete solution results but also on the actual supplementary role of the candidates in the current combination.
[0083] In the above implementation, serial initialization is used to establish the initial cooperative relationship among the four subpopulations. Subpopulations initialized later directly cooperate with their predecessors that have already completed initialization during the evaluation process, ensuring that by the time the fourth subpopulation completes initialization, it forms a complete combination containing four definite representative candidates. After entering formal co-evolution, the simultaneous change of all four subpopulations is no longer adopted. Instead, only one subpopulation is allowed to undergo candidate replacement each generation, while the other three subpopulations retain their representative candidates. This ensures that performance changes during the target candidate evaluation process correspond to the current target subpopulation.
[0084] In the above implementation, the random heuristic serves as the reference destruction heuristic. When a subpopulation becomes the target subpopulation, the fitness obtained from the random heuristic for that subpopulation's position is used as the reference performance for this generation. Then, the target candidate is used to replace the random heuristic to obtain the candidate performance. Both evaluations use the same set of training scenarios, random seeds, initial path states, and three additional representative candidates, so that the difference between the two runs corresponds to the change between the reference destruction heuristic and the candidate to be evaluated in the target subpopulation.
[0085] Specifically, the large language model is used to generate candidate programs and reflection content, but does not directly determine whether a candidate will enter the next generation. Each newly generated candidate needs to pass a fixed code check and obtain fitness, marginal performance contribution, conflict coverage data, and collaborative evaluation data through actual large neighborhood search. The retention of candidates is determined by the above actual operation results according to fixed rules, thereby separating the candidate program generation process from the candidate performance determination process.
[0086] In a warehouse simulation verification embodiment, the four-component complementary destruction heuristic combination generated in this embodiment is set up with the large neighborhood search method using the traditional destruction mechanism in the same simulation scenario and under the same operating conditions. Figure 3 Record the correspondence between the number of iterations and the number of remaining conflict events in the current path scheme. In the interval from the 20th to the 100th iteration, the curve corresponding to this implementation is below the curve corresponding to the traditional large neighborhood search method, indicating that there is a definite difference in the number of remaining conflict events corresponding to the same iteration position within this iteration interval.
[0087] In the comprehensive verification across multiple simulation scenarios, the average final collision number of the traditional large neighborhood search method was 267.40, while the corresponding value for the method in this embodiment was 163.00, a difference of 104.40. The average collision reduction rate of the traditional large neighborhood search method was 96.15%, while the corresponding value for the method in this embodiment was 97.65%, a difference of 1.50 percentage points. The average number of iterations of the traditional large neighborhood search method was 106.42, while the corresponding value for the method in this embodiment was 90.10, a difference of 16.32. The average scenario execution time of the traditional large neighborhood search method was 13.82 seconds, while the corresponding value for the method in this embodiment was 13.19 seconds, a difference of 0.63 seconds. The above data serves as a verification record under these simulation conditions, illustrating the actual performance of the final combination in independent operation, and is not used as a limitation on the candidate selection threshold or fixed parameters in steps 1 to 9.
[0088] Example 2:
[0089] S1 includes:
[0090] Extract the position and edge occupancy information of each agent according to the time step to form a path state sequence;
[0091] The path state sequence is matched step by step over time to identify vertex conflicts and edge conflicts, and the conflict event sequence is formed by sorting them according to the occurrence time.
[0092] The association weights are calculated based on the agent sharing relationships, spatial adjacency relationships and time intervals between conflict events, and a conflict relationship matrix is constructed with conflict events as row and column indices.
[0093] Based on the conflict event sequence and conflict relationship matrix, at least one feature among conflict frequency, correlation strength, conflict propagation degree and repeated conflict rate is extracted, and the first feature vector is formed after normalization.
[0094] By associating the conflict event sequence, the conflict relationship matrix, and the first feature vector, conflict state characterization data is obtained.
[0095] In the above implementation, S1 is used to convert the agent path in the current large neighborhood search iteration into conflict state representation data that can directly participate in subsequent disruptive heuristic computation.
[0096] First, the current planned path for each agent is read according to the time step. For any agent, its current node is recorded at the current time step, and the node for the agent in the next time step is read. If the current time step node is different from the next time step node, the connection edge between the two nodes is recorded as the edge occupancy information of the agent in the current time step; if the two nodes are the same, the current node is recorded as a waiting position. The position and edge occupancy information of each agent are saved in chronological order of the time steps to form the path state record of that agent; then, all path state records are summarized according to the agent number to form a path state sequence.
[0097] Specifically, time-step matching is performed on the path state sequence. For any two agents within the same time step, their corresponding position nodes are compared; when the two position nodes are the same, a vertex conflict is determined, and the numbers of the two agents involved in the conflict, the conflict time step, and the conflict node are recorded. For adjacent time steps, the positions of the two agents in the previous and next time steps are read respectively; when the first agent moves from node 1 to node 2, and the second agent moves from node 2 to node 1, an edge conflict is determined, and the numbers of the two agents involved in the conflict, the conflict time step, and the path edge where reverse occupation occurs are recorded.
[0098] After completing conflict detection for all time steps, the detected conflict events are sorted in ascending order of their occurrence time step. If the occurrence time steps are the same, they are first sorted in ascending order by the ID of the first agent involved in the conflict, then by the ID of the second agent. If the agent IDs are still the same, they are arranged in order of vertex conflict first, followed by edge conflict. Conflict event numbers are then assigned according to the sorting results to form a conflict event sequence.
[0099] Subsequently, a conflict relationship matrix is constructed using conflict events as row and column indices. The association weight between any two conflict events is determined by the agent's shared relationship, spatial adjacency relationship, and time interval.
[0100] When calculating agent sharing relationships, the agent IDs contained in the two conflict events are read separately. When the two conflict events contain the same two agents, the agent sharing count is recorded as 2; when the two conflict events contain only one identical agent, the agent sharing count is recorded as 1; when there are no identical agents, the agent sharing count is recorded as 0.
[0101] When calculating spatial adjacency, the spatial locations corresponding to two conflict events are first determined. For vertex conflicts, the conflicting nodes are used directly; for edge conflicts, the two endpoints of the conflicting edge are used. Then, the shortest node interval between the two conflict events is calculated based on the node connection relationships in the path planning map. The spatial interval is recorded as 0 when the two conflict events occur at the same node or when the corresponding edges share a common endpoint; it is recorded as 1 when the shortest path requires passing through one edge; otherwise, it is recorded according to the number of edges contained in the actual shortest path between the two conflict locations. When calculating the time interval, the larger of the values at the time steps of the two conflict events is subtracted from the smaller value, and the resulting integer is used as the time interval. The time interval is 0 when the two conflict events occur at the same time step; and 1 when they occur at adjacent time steps.
[0102] After obtaining the agent sharing count, spatial interval, and time interval, each is processed according to a pre-set weight. The agent sharing count is multiplied by the agent sharing weight to obtain the sharing relationship score; the spatial relationship score is obtained from a pre-set spatial weight table according to the spatial interval; and the time relationship score is obtained from a pre-set time weight table according to the time interval. The sharing relationship score, spatial relationship score, and time relationship score are added together, and the result is used as the association weight between two conflicting events, and written into the corresponding row and column position in the conflict relationship matrix. The association weight between the same conflicting event and itself is recorded as 0, and the association weight remains consistent after swapping rows and columns.
[0103] After constructing the conflict relationship matrix, the first feature vector is extracted from the conflict event sequence and the conflict relationship matrix.
[0104] Specifically, the number of conflicts is counted separately for each agent. For any agent, the current sequence of conflict events is traversed. For each conflict event containing the agent's ID detected, the number of conflicts is incremented by 1 until all conflict events have been traversed. The cumulative value is the number of conflicts for that agent.
[0105] Association strength is calculated separately for each conflict event. For any conflict event, all association weights in the corresponding row of the conflict relationship matrix are read, excluding the value 0 corresponding to the conflict event itself. The remaining association weights are summed item by item, and the sum is taken as the association strength of the conflict event. Conflict propagation degree is determined based on the comparison between association weights and a preset propagation threshold. For any conflict event, the association weights in its corresponding matrix row are read item by item; if the association weight is greater than or equal to the propagation threshold, the corresponding other conflict event is included in the propagation association event; if the association weight is less than the propagation threshold, it is not included in the propagation association event. After completing the judgment of all association weights in the row, the number of propagation association events is counted, and the resulting value is taken as the conflict propagation degree of the conflict event.
[0106] The duplicate conflict rate is determined based on the matching results between the current conflict event and historical conflict records. For each current conflict event, the IDs of the two participating agents, the conflict type, the conflict location, and the time step of the conflict occurrence are read. This information is compared item by item with the conflict events saved in the previous large neighborhood search iteration. When the IDs, conflict types, and conflict locations of the two participating agents are all the same, and the difference between the two conflict occurrence time steps does not exceed a preset time interval, the current conflict event is recorded as a duplicate conflict event. The number of duplicate conflict events in the current conflict event sequence is counted, and then the number of duplicate conflict events is divided by the total number of current conflict events. The resulting value is the duplicate conflict rate; when the total number of current conflict events is 0, the duplicate conflict rate is recorded as 0. When normalizing the number of conflicts, association strength, and conflict propagation, the preset minimum and preset maximum values of the corresponding features in the current training scenario are obtained, respectively. The current feature value is subtracted from the preset minimum value, and then divided by the difference between the preset maximum value and the preset minimum value to obtain a normalized result in the range of 0 to 1. When the preset maximum value is equal to the preset minimum value, the corresponding normalized result is recorded as 0. The duplicate conflict rate itself is in the range of 0 to 1 and can be used directly as the normalization result.
[0107] Specifically, according to a predetermined feature arrangement order, the corresponding features from the normalized conflict count, correlation strength, conflict propagation degree, and repeated conflict rate are written into the first feature vector. The agent features in the first feature vector are sorted by agent number, and the conflict event features are sorted by conflict event number, so that subsequent candidate destruction heuristics can read feature data with the same meaning based on fixed positions.
[0108] Finally, the conflict event numbers in the conflict event sequence are used as a unified index to associate each conflict event with the corresponding row and column positions in the conflict relationship matrix; simultaneously, the conflict event numbers, the agent numbers participating in the conflict, and the corresponding feature positions in the first feature vector are associated. After completing the association, the conflict event sequence, the conflict relationship matrix, and the first feature vector are output as conflict state representation data corresponding to the same round of large neighborhood search iteration.
[0109] The conflict state characterization data is used for the candidate destruction heuristic evaluation in the subsequent steps. The conflict event sequence is used to determine the currently existing conflict objects, the conflict relationship matrix is used to determine the degree of correlation between conflict events, and the first feature vector is used to provide the number of conflicts, correlation strength, conflict propagation degree, and repeated conflict states after uniform scaling, thereby providing definite data input for the subsequent agent destruction priority calculation.
[0110] Example 3:
[0111] S2 includes:
[0112] Multiple subpopulations are established according to different destruction heuristic components, and corresponding candidate destruction heuristic sets are configured;
[0113] Input the conflict state representation data into each candidate destruction heuristic and calculate the destruction priority vector corresponding to each agent.
[0114] The agents are sorted according to the destruction priority vector to form a candidate agent sequence, and the set of agents to be replanned is determined according to the preset neighborhood size.
[0115] Perform a destructive-repair operation on the reorganized set of intelligent agents to obtain conflict resolution performance data;
[0116] The performance value of each candidate is determined based on the conflict resolution performance data, and the candidate with the best performance is identified as the representative candidate of the corresponding subpopulation.
[0117] In the above implementation, S2 is used to generate four types of destruction heuristic candidates based on the conflict state characterization data formed by S1, and to determine the representative candidates of each subpopulation through a unified destruction-repair evaluation process.
[0118] First, four subpopulations are established based on the processing functions undertaken by the destructive heuristics: conflict-critical destructive subpopulation, spatiotemporal bottleneck destructive subpopulation, agent-influenced destructive subpopulation, and novelty-based stagnation-escape destructive subpopulation. Each subpopulation is configured with six initial candidate destructive heuristics. Each candidate uses the same function interface, and the input includes a sequence of conflict events, a conflict relationship matrix indexed by conflict events, the first eigenvector, the current paths of each agent, and the current total number of agents. The output is the destructive priority value corresponding to each agent.
[0119] For the critical disruptive subpopulation, the candidate reads the number of conflict events each agent participates in, and further reads the correlation strength and conflict propagation degree of these conflict events in the conflict relationship matrix. For the same agent, the correlation strength corresponding to each conflict event it participates in is summed item by item, and then the conflict propagation degree corresponding to each conflict event is summed item by item; the candidate multiplies the number of conflicts, the cumulative value of correlation strength, and the cumulative value of conflict propagation degree by its own preset parameters, and then sums the three results to obtain the disruptive priority of the agent.
[0120] For the spatiotemporal bottleneck disruption subpopulation, the candidate reads the time step, conflict location, and corresponding path edge occupancy count for each agent participating in the conflict. For the same agent, the total number of conflict events it participates in is counted, and the number of times the path edges it traverses are occupied by other agents in the same time step is also counted. For each conflict event, the corresponding spatial relationship value is obtained according to the spatial interval determined by S1. Then, the number of conflict events, edge occupancy count, and spatial relationship value corresponding to that agent are multiplied by the candidate preset parameters, and finally added together to obtain the disruption priority.
[0121] For an agent to influence and disrupt a subpopulation, the candidate reads the number of times the current agent participates in conflict events with other agents, the number of other conflict events associated with the conflict events the agent participates in, and the conflict change records after the agent's historical replanning. Specifically, first, all conflict events containing the agent's ID are counted, then the number of events in the conflict relationship matrix with an association weight greater than or equal to the propagation threshold is counted; subsequently, the number of conflict events before and after the agent's most recent replanning is read, and the number of conflict events after replanning is subtracted from the number of conflict events before replanning to obtain the corresponding historical conflict change value for the agent. The above three data items are multiplied by the candidate preset parameters and added together to obtain the disruption priority.
[0122] Specifically, for the novelty stagnation escape destruction subpopulation, the candidate reads the number of times each agent was selected into the destruction set in history, the number of repeated conflict events the agent participated in, and the number of times the corresponding conflict event did not disappear in consecutive iterations. For the same agent, the number of times it was selected in the most recent preset iteration window is counted, along with the number of repeated conflict events it participated in; then, the number of iterations in which the same conflict event was continuously retained is counted. The candidate uses a reverse scoring method for the number of times it was selected in history, and a forward scoring method for the number of repeated conflict events and the number of consecutive retentions, and multiplies each by a fixed parameter before summing them to obtain the destruction priority of the agent.
[0123] After the candidates in the four subpopulations have completed their calculations, they each obtain a destruction priority vector that corresponds to the current number of agents. The first value in the destruction priority vector corresponds to agent number 1, the second value corresponds to agent number 2, and so on up to the last agent. This ensures a fixed correspondence between destruction priority and agent number.
[0124] Subsequently, all agents are sorted in descending order of their destruction priority values. When two agents have the same destruction priority value, they are arranged in ascending order of their agent IDs to form a candidate agent sequence.
[0125] The preset neighborhood size is used to determine the number of agents whose paths need to be removed and replanned. Assuming the preset neighborhood size is a fixed integer, the same number of agents are selected sequentially from the first candidate agent in the sequence to form the set of agents to be replanned. When the total number of agents is less than the preset neighborhood size, all agents are included in the set of agents to be replanned. The neighborhood size remains unchanged during the same round of candidate comparison.
[0126] After determining the set of agents to be replanned, a disruption operation is performed. Following the order in the candidate agent sequence, the current paths of the agents to be replanned are sequentially removed from the current path solutions. The paths of the unselected agents remain unchanged and continue to serve as spatiotemporal occupancy constraints in the path repair process.
[0127] After path removal is completed, path repair is performed sequentially according to the candidate agent sequence. Each time an agent is repaired, the current unremoved agent's path and the repaired agent's new path are read and used together as the current occupancy constraint. Under the condition of satisfying the occupancy constraint, the path from the starting node to the target node for that agent is regenerated. Upon successful generation, the path is written back to the current path solution, and the next agent is processed, until all agents in the set to be replanned have completed the repair. After the destruction-repair is completed, the current path solution is re-detected according to the conflict determination rules in S1, and the total number of conflict events before repair, the total number of conflict events after repair, the number of disappeared conflict events, the number of newly added conflict events, the number of path replanning attempts used to complete this repair, and the current candidate runtime are recorded to form conflict resolution performance data.
[0128] The number of disappeared conflict events is determined by comparing each conflict event before and after the fix. Conflict events that existed before the fix but do not exist after the fix are counted as disappeared conflict events; conflict events that did not exist before the fix but appeared after the fix are counted as new conflict events. The total number of conflict events after the fix is directly taken as the number of events in the conflict event sequence after the fix.
[0129] Candidate performance values are calculated based on the aforementioned conflict resolution performance data. First, the total number of conflict events after repair, the number of path replanning attempts, and the running time are normalized. During normalization, the current value is subtracted from the preset minimum value of the corresponding evaluation item, and then divided by the difference between the preset maximum value and the preset minimum value, resulting in a processing result in the range of 0 to 1; when the preset maximum value equals the preset minimum value, the corresponding normalization result is recorded as 0.
[0130] After normalization, the result corresponding to the total number of conflict events after repair is multiplied by the first fixed weight, the result corresponding to the number of path replanning attempts is multiplied by the second fixed weight, and the result corresponding to the running time is multiplied by the third fixed weight. These three results are then summed, and the resulting value is used as the candidate performance value. The three fixed weights are determined before the start of the current training phase and remain unchanged during the current training phase. The smaller the performance value, the higher the candidate ranking.
[0131] Specifically, when initializing the first subpopulation, the six candidates from the first subpopulation are placed in the first disruptive heuristic position, while the remaining three disruptive heuristic positions use a random heuristic. All six candidates are evaluated under the same training scenario, the same random seed, the same initial path, and the same neighborhood size, and their performance values are obtained. These candidates are sorted in ascending order of performance value, and the top three are retained, with the top-ranked candidate designated as the representative candidate for the first subpopulation. When initializing the second subpopulation, the first disruptive heuristic position uses the representative candidate already determined from the first subpopulation. The second position is filled with the six candidates from the second subpopulation, and the third and fourth positions use a random heuristic. Performance values are calculated and sorted using the same method, and the top three candidates are retained, with the top-ranked candidate designated as the representative candidate for the second subpopulation.
[0132] When initializing the third subpopulation, the first and second positions use pre-determined representative candidates, the third position uses six candidates sequentially, and the fourth position uses a random heuristic. When initializing the fourth subpopulation, the first three positions use pre-determined representative candidates, and the fourth position uses six candidates sequentially. Each subpopulation completes candidate selection according to the same performance value calculation and sorting rules. When two candidates have the same performance value, the total number of conflict events after repair is compared first, with the candidate with the smaller value ranked first; if the total number of conflict events after repair is still the same, the number of disappeared conflict events is compared, with the candidate with the larger value ranked first; if still the same, they are sorted by candidate number from smallest to largest. After initializing the four subpopulations, each subpopulation retains three candidates and determines one representative candidate. These four representative candidates together constitute the current destruction heuristic combination used in subsequent S3, and serve as the initial candidate basis for subsequent marginal performance contribution evaluation and co-evolution.
[0133] Example 4:
[0134] S3 includes:
[0135] Identify the target subpopulation to be updated, and fix the representative candidates of other subpopulations to form a cooperative environment configuration;
[0136] The reference destruction heuristic and the candidate destruction heuristic to be evaluated are respectively configured in the target subpopulation to form the first evaluation combination and the second evaluation combination;
[0137] Running the first and second evaluation combinations under the same evaluation scenario, initial path state, and random parameters, respectively, generates the first performance feature vector and the second performance feature vector.
[0138] The first performance feature vector and the second performance feature vector are normalized and weighted to obtain the first performance value and the second performance value.
[0139] The difference between the first performance value and the second performance value is calculated to obtain the marginal performance contribution value of the candidate destructive heuristic to be evaluated.
[0140] In the above implementation, S3 is used to replace the candidate to be evaluated in the current target subpopulation while keeping the other subpopulation representative candidates unchanged, so as to obtain the actual performance change of the candidate relative to the reference destruction heuristic.
[0141] The target subpopulation is selected according to a predetermined rotation order. The four subpopulations are numbered 1 to 4 sequentially. The first generation updates subpopulation number 1, the second generation updates subpopulation number 2, the third generation updates subpopulation number 3, and the fourth generation updates subpopulation number 4, and so on, in the same order. After determining the target subpopulation, the current representative candidates of the other three subpopulations are read, and the program content, parameter configuration, and calling order of the three representative candidates are fixed to form the cooperative environment configuration for the current target subpopulation. The three representative candidates are not changed until the evaluation of all candidates for this generation of the target subpopulation is completed.
[0142] In this embodiment, a reference destruction heuristic is first configured at the position corresponding to the target subpopulation. The reference destruction heuristic adopts a random heuristic, which reads the current agent ID set and the preset neighborhood size, and generates a set of agents to be replanned according to the random seed fixed in this evaluation. The reference destruction heuristic and the representative candidates of the other three subpopulations together form the first evaluation group.
[0143] Subsequently, keeping the remaining three representative candidates unchanged, the random heuristic at the target subpopulation location is replaced with the destruction heuristic of the candidate to be evaluated, forming the second evaluation combination. The first evaluation combination and the second evaluation combination use the same four heuristic invocation locations, except that the destruction heuristic used at the target subpopulation location is different.
[0144] Furthermore, both evaluation combinations use the same evaluation scenario. Before evaluation begins, the current map, obstacle nodes, number of agents, starting nodes and target nodes for each agent, current paths, conflict event sequences, and the current large neighborhood search iteration state are saved to form the initial evaluation state. After the first evaluation combination finishes running, its results are not used as the starting state for the second evaluation combination. Instead, the initial evaluation state is reloaded so that both runs start from the same group of agent paths.
[0145] The evaluation process also saves the random parameters involved in this assessment. These random parameters include the random seed used in the destruction operation, the random seed used when calling random selection during path repair, and the random number generation state saved by the current solver. The same random parameters as the first assessment are reloaded before running the second assessment combination. Thus, the two assessment combinations run under the same conditions: map, agent task, initial path, and random state.
[0146] Specifically, the same termination rule is applied to both evaluation combinations. In this implementation, a maximum number of iterations of the large neighborhood search allowed in a single evaluation is set before the evaluation begins. The current evaluation ends early when all conflict events disappear, and ends when not all conflicts disappear and the actual number of iterations reaches the maximum number of iterations. The maximum number of iterations is determined based on the budget allowed for a single candidate evaluation in the training scenario and is fixed before the start of the same evolution block. For example, if the upper limit of a single iteration allowed for all candidate evaluations in the evolution block is set to 100, then both the first and second evaluation combinations use 100 as the maximum number of iterations, and this value is not changed before the end of the evolution block. After the first evaluation combination ends, the number of remaining conflict events, the actual number of large neighborhood search iterations, the number of path replannings, the running time, and the number of disappeared conflict events are recorded, and a first performance feature vector is formed in a pre-fixed order. After the second evaluation combination ends, a second performance feature vector is formed according to the exact same items and arrangement order.
[0147] Specifically, the number of remaining conflict events at termination is directly taken as the total number of conflict events detected again in the termination state; the actual number of iterations is taken as the number of destruction-repair loops completed from the start of the evaluation to the satisfaction of the termination conditions; the number of path replanning is the cumulative number of times the single agent path repair operation is called during the evaluation process; the running time is taken as the actual execution time between the start of the evaluation and the termination; the number of disappeared conflict events is obtained by comparing the conflict event sequence at the start of the evaluation with the conflict event sequence at the termination, and conflict events that existed at the start of the evaluation but did not exist at the termination are included in the disappeared conflict events.
[0148] Before calculating performance values, the aforementioned performance characteristics undergo uniform scaling. A lower and upper normalization limit are set for each performance characteristic. These limits are determined by the baseline evaluation results before the start of the current evolutionary block. Specifically, fully randomized disruptive combinations and the current representative candidate combination entering the evolutionary block are run on the training scenario set used in this evolutionary block. The number of termination conflicts, iterations, path replanning times, running time, and the number of disappeared conflict events are recorded for both types of combinations in each training scenario. For the same evaluation item, the minimum value among all records is taken as the lower normalization limit, and the maximum value among all records is taken as the upper normalization limit. This set of limits remains unchanged throughout the 12 generations of evaluation in the current evolutionary block.
[0149] When processing the number of remaining conflict events, iteration count, path replanning count, and runtime at termination, first subtract the corresponding lower normalization limit from the current value, then divide the difference by the difference between the upper and lower normalization limits. The result should be between 0 and 1. If the upper normalization limit equals the lower normalization limit, the result for that project is set to 0. The number of disappeared conflict events is evaluated in the opposite direction. First, convert the number of disappeared conflict events to the range of 0 to 1 in the same way, then subtract the converted value from 1 to obtain the final value for performance evaluation. After this processing, all five performance characteristics satisfy the condition that a smaller result indicates a better running result.
[0150] The weights of each performance characteristic are determined before the start of the current evolution block. First, the priority order of the five evaluation indicators is determined: the number of remaining conflict events at termination is the first evaluation item, the number of resolved conflict events is the second, the number of iterations is the third, the number of path replannings is the fourth, and the runtime is the fifth. Fixed weights are then assigned to each indicator according to this order, ensuring the sum of the five weights equals 1. The first and second evaluation combinations within the current evolution block use the same set of weights and are not adjusted during the candidate evaluation process.
[0151] When calculating the first performance value, the normalized values of the five terms in the first performance feature vector are multiplied by their corresponding fixed weights, and then the products of the five terms are added together. The resulting value is the first performance value. The second performance value is calculated using the same normalization upper and lower limits, the same index order, and the same fixed weights.
[0152] Both the first and second performance values are evaluated using the principle that smaller values indicate better performance. Therefore, the difference between the first and second performance values is used as the marginal performance contribution value of the candidate disruptive heuristic to be evaluated. A marginal performance contribution value greater than 0 indicates that replacing the random heuristic with the candidate heuristic reduces the overall performance value; a marginal performance contribution value equal to 0 indicates that the overall performance values of the two evaluation combinations are the same; and a marginal performance contribution value less than 0 indicates that replacing the random heuristic with the candidate heuristic increases the overall performance value.
[0153] The marginal performance contribution threshold is determined at the beginning of each evolutionary block based on the benchmark evaluation results corresponding to that block. Specifically, the reference destruction heuristic combination is run three times repeatedly on the current training scenario set. Three pre-determined random seeds are used for each of the three evaluations, and the corresponding performance values are calculated for each. The difference between the maximum and minimum of the three performance values is then calculated, and this difference is used as the random run fluctuation. The marginal performance contribution threshold is taken from this random run fluctuation. When the marginal performance contribution value of a candidate to be evaluated is greater than or equal to this threshold, its performance improvement is considered to have met the screening requirements of the current evaluation environment; when the marginal performance contribution value is less than this threshold, the candidate is not included in the subsequent collaborative evaluation in S6. The same marginal performance contribution threshold is used within the current evolutionary block, and it is recalculated when the training scenario set is changed.
[0154] For each candidate to be evaluated in the target subpopulation, the same initial evaluation state and random parameters are reloaded according to the above process, while keeping the other three representative candidates unchanged, and obtaining their corresponding second performance value and marginal performance contribution value. Thus, the evaluation results of each candidate within the target subpopulation all originate from the same cooperative environment and the same evaluation conditions, and can be directly used for subsequent candidate screening.
[0155] Example 5:
[0156] S4 includes:
[0157] A conflict index is established according to the conflict event sequence, and a first coverage vector is generated based on the conflict events to be evaluated as candidates for effective resolution.
[0158] Summarize the conflict events that have been effectively resolved by other representative candidates and merge the corresponding coverage states to generate a second coverage vector;
[0159] Based on the conflict index, identify the uncovered positions in the second coverage vector and generate a cooperative gap vector representing the conflict events that have not been effectively resolved by other representative candidates;
[0160] Match the first coverage vector with the second coverage vector, and calculate the duplicate coverage value based on the conflict events of the common coverage;
[0161] Match the first coverage vector with the cooperative gap vector, and calculate the new coverage value based on the unresolved conflict events that are covered by the same vector.
[0162] In the above implementation, S4 uses the conflict event sequence obtained in S1 as a unified comparison benchmark to determine the actual resolution of the same batch of conflict events between the candidate to be evaluated and the other three subpopulation representative candidates.
[0163] First, the conflict event sequence saved before the start of evaluation in S3 is read, and conflict indices are created sequentially according to the position of the conflict events in the sequence. The first conflict event in the sequence corresponds to index 1, the second conflict event corresponds to index 2, and so on until the last conflict event. Each index is associated with the two agent numbers, conflict type, conflict location, and occurrence time step of that conflict event. The conflict indices remain unchanged until the current candidate to be evaluated and the other three representative candidates have all been evaluated.
[0164] After the candidate event is evaluated and repaired, the set of repaired conflict events is re-obtained according to the conflict detection rules of S1, and each event is matched against the conflict index before the evaluation began. For vertex conflicts, the two agent numbers, conflict type, conflict node, and conflict occurrence time step are used as matching items; for edge conflicts, the two agent numbers, conflict type, conflict edge, and conflict occurrence time step are used as matching items. If all four data items are consistent, the evaluated conflict event is considered to be the same as the original conflict event in the index.
[0165] When a conflict event in the conflict index does not find a corresponding event in the set of conflict events after the candidate to be evaluated has been executed, the conflict event is considered to have been effectively resolved by the candidate to be evaluated, and is recorded as 1 at the corresponding position in the first coverage vector; when a corresponding event is found, it is recorded as 0 at the corresponding position. After completing the judgment according to all conflict indices, the first coverage vector is obtained. The number of elements in the first coverage vector is the same as the number of conflict events before the evaluation begins, and each position corresponds one-to-one with the conflict index.
[0166] The remaining three subpopulations represent candidates and are evaluated using the same initial path state, evaluation scenario, and random parameters, respectively, generating a coverage record of the same length as the conflict index. For any representative candidate, if a previous conflict event does not continue to exist after its execution, the corresponding position is recorded as 1; if it still exists, the corresponding position is recorded as 0.
[0167] Specifically, the coverage records of the three representative candidates are merged item by item according to the same conflict index. For any index position, if any of the three representative candidates has a coverage state of 1, the corresponding position of the second coverage vector is recorded as 1; only when all three representative candidates are 0 at that position is the corresponding position of the second coverage vector recorded as 0. Thus, the second coverage vector represents the merging and resolution result of the original conflict event by the representative candidates other than the target subpopulation.
[0168] After the second coverage vector is formed, a cooperation gap vector is generated item by item according to the same conflict index. When a position in the second coverage vector is 0, it indicates that the conflict event corresponding to that position has not been effectively resolved by any of the other three representative candidates, so the corresponding position in the cooperation gap vector is marked as 1; when a position in the second coverage vector is 1, the corresponding position in the cooperation gap vector is marked as 0. The value 1 in the cooperation gap vector thus corresponds to a conflict event in the current cooperative environment that has not yet been resolved by other representative candidates.
[0169] The duplicate coverage value is obtained by comparing the first coverage vector with the second coverage vector item by item. For each conflict index position, if the corresponding position in the first coverage vector is 1 and the corresponding position in the second coverage vector is also 1, the conflict event is considered to have been effectively resolved by at least one of the candidates to be evaluated and other representative candidates, and the duplicate coverage count is incremented by 1. After completing the comparison of all index positions, the cumulative result of the duplicate coverage count is the duplicate coverage value.
[0170] When the position corresponding to the first coverage vector is 1 and the position corresponding to the second coverage vector is 0, the conflict event is not counted as duplicate coverage because the conflict event is resolved only by the candidate to be evaluated; when the position corresponding to the first coverage vector is 0, regardless of the value of the position corresponding to the second coverage vector, the duplicate coverage of the candidate to be evaluated is not counted.
[0171] The new coverage value is obtained by matching the first coverage vector with the cooperative gap vector item by item. When the same index position is 1 in both the first coverage vector and the cooperative gap vector, it indicates that the candidate to be evaluated can effectively resolve the conflict event, while the other three representative candidates have not effectively resolved the conflict event. Therefore, the new coverage count is increased by 1. After all index positions have been judged, the cumulative result of the new coverage count is the new coverage value.
[0172] For example, if there are 8 conflict events before the evaluation begins, and the candidate to be evaluated effectively resolves the 1st, 3rd, 5th, and 7th conflict events, then the first coverage vector is recorded as 1 at the above 4 positions. If the other 3 representative candidates effectively resolve the 1st, 2nd, 5th, and 6th conflict events after merging, then the second coverage vector is recorded as 1 at the above 4 positions, and the cooperation gap vector is recorded as 1 at the 3rd, 4th, 7th, and 8th positions. At this time, the 1st and 5th conflict events are simultaneously covered by the candidate to be evaluated and other representative candidates, with a duplicate coverage value of 2; the 3rd and 7th conflict events are resolved only by the candidate to be evaluated and belong to positions not covered by other representative candidates, therefore the additional coverage value is 2.
[0173] Specifically, when the number of conflict events before the evaluation begins is 0, no valid conflict index is established, and the first coverage vector, second coverage vector, and collaborative gap vector are all set to empty. The duplicate coverage value and the new coverage value are both recorded as 0. This result is directly used as input for subsequent S6. Through the above processing, the coverage of the candidate to be evaluated, the merged coverage of other representative candidates, and the locations of uncovered conflicts are all determined based on the same conflict index, avoiding distortion of the event correspondence due to changes in the number and order of conflict events after each candidate runs. The obtained duplicate coverage value and new coverage value represent the number of processing overlaps between the candidate to be evaluated and the existing representative candidates, and the number of newly resolved uncovered conflict events, respectively, and are used for collaborative evaluation in S6.
[0174] Example 6:
[0175] S5 includes:
[0176] Analyze the unresolved conflict events corresponding to the collaborative gap vector, extract features such as conflict type, associated agents, spatial location and time window, and form a gap feature sequence;
[0177] The gap feature sequence is normalized and encoded to form a second feature vector representing the distribution of uncovered conflicts;
[0178] Parent candidates are selected from the target subpopulation based on their marginal performance contribution values;
[0179] Based on the second feature vector, determine the conflict selection rule, agent selection rule, or neighborhood expansion rule to be adjusted in the parent generation candidates, and generate the corresponding directional adjustment parameters;
[0180] By modifying the corresponding rules of the parent candidates according to the directional adjustment parameters, offspring candidates for the coordination gap are obtained.
[0181] In the above implementation, S5 receives the cooperative gap vector formed by S4 and uses the conflict events that are not effectively resolved by other representative candidates to determine the adjustment content of the parent candidate, so as to generate the offspring candidate for subsequent evaluation.
[0182] First, the collaborative gap vector is read item by item according to the conflict index established in S4. Positions with a value of 1 in the collaborative gap vector correspond to conflict events that have not been effectively resolved by the other three representative candidates. The conflict events corresponding to these positions are extracted sequentially and arranged into a set of unresolved conflict events according to the original conflict index order. For each unresolved conflict event, the conflict type, the numbers of the two agents involved in the conflict, the conflict node or conflict edge, and the time step in which the conflict occurred are read.
[0183] The conflict type is directly obtained from the determination result of S1. Events occurring at the same node in the same time step are denoted as vertex conflicts, and events in which two agents exchange positions in opposite directions along the same edge in consecutive time steps are denoted as edge conflicts. The number of vertex conflicts and the number of edge conflicts in the set of unresolved conflict events are counted separately, and the two statistical results are written into the gap feature sequence.
[0184] The characteristics of associated agents are statistically analyzed according to their agent IDs. All unresolved conflict events are traversed; for each event containing an agent ID detected, the unresolved conflict count for that agent is incremented by 1. Then, the conflict relationship matrix formed in S1 is read, and the association strength corresponding to each unresolved conflict event involving that agent is obtained. The obtained association strengths are then summed item by item. Thus, each agent participating in unresolved conflicts generates two data items: the number of unresolved conflicts and the cumulative association strength.
[0185] Spatial location features are generated based on the location of the conflict. Vertex conflicts are identified by the conflicting node, while edge conflicts are identified by the two endpoints of the conflicting edge. The number of unresolved conflict events involving each node is counted according to the map node number. For edge conflicts, the event count is incremented by one for each of the two endpoints. After all events are counted, the unresolved conflict count for each node is obtained and written into the gap feature sequence in the order of node numbers.
[0186] The time windows are divided according to a fixed time step length. The time window length is set before the start of the current evolution block; for example, every 5 consecutive time steps constitute one time window. Time steps 0 to 4 are designated as the first time window, time steps 5 to 9 as the second time window, and so on, in the same manner. The time window to which each unresolved conflict event belongs is determined based on the time step in which it occurred, and the event count for that time window is incremented by 1. After all events are counted, the number of unresolved conflicts corresponding to each time window constitutes the time window characteristic.
[0187] Specifically, the number of vertex conflicts, the number of edge conflicts, the number of unresolved conflicts for each agent, the cumulative association strength of each agent, the count of unresolved conflicts for each node, and the count of unresolved conflicts for each time window are stored sequentially in a predetermined order to form a gap feature sequence. This order remains unchanged within the same evolutionary block. When normalizing the gap feature sequence, each type of numerical feature uses the upper and lower normalization limits determined before the start of the current evolutionary block. These limits are obtained from the benchmark running records of the training scenario used in this evolutionary block: for the same feature item, the minimum value among all benchmark records is taken as the lower normalization limit, and the maximum value is taken as the upper normalization limit.
[0188] When processing any numerical feature, first subtract the lower normalization bound from the current feature value, then divide the resulting difference by the difference between the upper and lower normalization bounds to obtain the normalization result. When the upper and lower normalization bounds are equal, the normalization result is recorded as 0. The processed values are then written into the second feature vector in the original order of the gap feature sequence, ensuring that the gap features obtained in different training scenarios have a consistent value scale.
[0189] The parent candidates are selected from the three candidates retained in the current target subpopulation. The marginal performance contribution values obtained in S3 are read from the three candidates, and they are sorted in descending order of marginal performance contribution value. The top two candidates are selected as parents. If the marginal performance contribution values are the same, the new coverage value obtained in S4 is compared, and the candidate with the larger new coverage value is ranked first. If the new coverage values are still the same, the duplicate coverage values are compared, and the candidate with the smaller duplicate coverage value is ranked first. If they are still the same, they are ranked in ascending order of candidate number.
[0190] After determining the parent generation, the rules that need adjustment are located based on the second feature vector. For conflict selection rules, the number of unresolved vertex conflicts and the number of unresolved edge conflicts are compared. If the number of vertex conflicts is greater than the number of edge conflicts, the rule used for vertex conflict selection in the parent generation is identified as the rule to be adjusted; if the number of edge conflicts is greater than the number of vertex conflicts, the rule used for edge conflict selection is identified as the rule to be adjusted; if the two quantities are the same, the association strength corresponding to the two types of conflicts is accumulated, and the rule corresponding to the conflict type with the larger accumulated value is identified as the rule to be adjusted.
[0191] Furthermore, regarding the agent selection rule, agents are sorted from largest to smallest based on the number of times they participated in unresolved conflicts. If the number of participations is the same, the cumulative association strength value is compared, and the agent with the larger cumulative association strength value is ranked first. If they are still the same, they are ranked from smallest to largest based on their agent ID. The parameters that actually participated in the parent priority calculation from the conflict frequency feature, association strength feature, and conflict propagation feature corresponding to the ranked first agent are determined as the parameters to be adjusted. For the neighborhood expansion rule, nodes are sorted from largest to smallest based on the number of unresolved conflict events, and the node with the largest number of events is determined as the expansion center. If two or more nodes have the same number of events, the cumulative association strength value of the associated conflict events of each node is compared, and the node with the larger cumulative value is selected as the expansion center. If the cumulative values are still the same, they are determined from smallest to largest based on their node ID. Nodes directly connected to this node are read from the map, and the agents involved in these nodes are added to the expansion candidate set.
[0192] Specifically, the targeted adjustment parameters consist of the type of rule to be adjusted, the object to be adjusted, the direction of adjustment, and the adjustment amount. The adjustment amount is determined before the start of the current evolution block based on the allowed value range of the corresponding parameter in the parent candidate. Specifically, the maximum allowed value of the parameter is subtracted from the minimum allowed value to obtain the parameter value range, and then 10% of this range is taken as one adjustment amount. The same adjustment amount is used for the same parameter within the current evolution block.
[0193] For conflict selection rules, when a conflict type is identified as the adjustment target, the selection parameter corresponding to that conflict type is increased by 1 adjustment amount. For agent selection rules, the priority calculation parameter corresponding to the identified feature is increased by 1 adjustment amount. For neighborhood expansion rules, one layer of map nodes directly connected to the expansion center is added to the original neighborhood. If the adjusted parameter exceeds the maximum allowed value, the maximum allowed value is used; if it is lower than the minimum allowed value, the minimum allowed value is used.
[0194] The time window feature is used to further determine the scope of the adjustment. Time windows are sorted from largest to smallest based on the number of unresolved conflict events, and the time window ranked first is used as the current adjustment window. If the number of events is the same, the time window with the smaller starting time value is selected. When the parent rule involves conflict time judgment, only the conflict selection parameter within that adjustment window is increased by a fixed amount; the corresponding parameters for other time windows are not changed.
[0195] In this process, after modifying the corresponding rules in the parent candidates according to the aforementioned targeted adjustment parameters, the remaining rules and parameters of the parent that were not identified as adjustment targets are retained to form the offspring candidates. After the offspring candidates are generated, the same function interface checks, return value checks, agent number range checks, duplicate number checks, and code security checks as in S2 are performed. If the checks pass, the process proceeds to S6 to calculate the marginal performance contribution value, new coverage value, duplicate coverage value, and collaborative evaluation value; if the checks fail, the offspring candidates are regenerated using the same parent, the same second feature vector, and the same adjustment parameters.
[0196] In this invention, unresolved conflicts in the collaborative gap vector are first converted into computable type, agent, spatial and temporal features. Then, the parent generation is determined based on the marginal performance contribution of the existing candidates in the target subpopulation. The specific adjustment rules, parameter directions and adjustment magnitudes are determined based on the second feature vector, so that the changes in the offspring candidates directly correspond to the actual distribution of the currently uncovered conflicts.
[0197] Example 7:
[0198] S6 includes:
[0199] Obtain the marginal performance contribution value, new coverage value, and duplicate coverage value of each candidate, and construct a candidate evaluation vector;
[0200] The marginal performance contribution value is compared with the preset contribution threshold to filter out the effective candidate set;
[0201] The candidate evaluation vectors corresponding to valid candidates are normalized, and the marginal performance contribution value and the newly added coverage value are positively weighted, while the duplicate coverage value is negatively weighted to obtain the collaborative evaluation value.
[0202] The valid candidates are ranked according to their collaborative evaluation values to form a candidate optimization sequence;
[0203] The target subpopulation is updated based on the candidate selection sequence, and the candidate with the best collaborative evaluation value is determined as the new representative candidate.
[0204] In the above implementation, S6 is used to uniformly screen the original candidates in the target subpopulation and the offspring candidates generated by S5, and update the target subpopulation according to the marginal performance contribution value, new coverage value and duplicate coverage value obtained by the candidates in the current cooperative environment.
[0205] The competition set for the current generation of target subpopulation consists of the three original candidates currently retained and the four offspring candidates generated in S5. For each candidate, the marginal performance contribution value obtained in S3, the new coverage value obtained in S4, and the duplicate coverage value are read respectively, and a candidate evaluation vector is formed in the order of marginal performance contribution value, new coverage value, and duplicate coverage value. The three original candidates are re-evaluated in the current collaborative environment, without directly using the historical values corresponding to the previous training scenario.
[0206] Before candidate selection, a contribution threshold is determined. At the start of the current evolutionary block, the target subpopulation position is set as the reference destruction heuristic, and the other three subpopulations are used as the current representative candidates. Each of these candidates is run three times on the current training scenario set using three sets of preset random parameters, resulting in three first performance values. The maximum value is subtracted from the minimum value, and the difference is taken as the runtime fluctuation of the current evolutionary block. This runtime fluctuation is then determined as the contribution threshold. The contribution threshold remains unchanged when the training scenario set and random parameter sets within the current evolutionary block do not change; after a change in the training scenario set, the same steps are repeated.
[0207] The marginal performance contribution value of each candidate in the competition set is compared with the contribution threshold one by one. Candidates with a marginal performance contribution value greater than or equal to the contribution threshold are added to the valid candidate set; candidates with a marginal performance contribution value less than the contribution threshold are removed from this subpopulation update. Through this process, candidates have already met the performance increment requirements under the current evaluation conditions before entering the coverage evaluation.
[0208] Normalize the three evaluation data points in the valid candidate set. For the marginal performance contribution value, read the minimum and maximum marginal performance contribution values from the valid candidate set. Subtract the minimum marginal performance contribution value from the current candidate's marginal performance contribution value, and then divide by the difference between the maximum and minimum marginal performance contribution values. The result is used as the normalized marginal performance contribution value for that candidate. When the maximum and minimum marginal performance contribution values are equal, the normalized value is uniformly recorded as 0.
[0209] The same processing method is used for newly added coverage values. First, obtain the minimum and maximum newly added coverage values in the valid candidate set. Then, subtract the minimum newly added coverage value from the current candidate's newly added coverage value, and divide by the difference between the maximum and minimum newly added coverage values to obtain the normalized value of the newly added coverage. When the maximum and minimum newly added coverage values are equal, the normalized value is recorded as 0.
[0210] The normalization process for duplicate coverage values is the same as described above. First, obtain the minimum and maximum duplicate coverage values from the valid candidate set. Subtract the minimum duplicate coverage value from the current candidate's duplicate coverage value, and then divide by the difference between the maximum and minimum duplicate coverage values to obtain the duplicate coverage normalized value. When the maximum and minimum duplicate coverage values are equal, the normalized value for this item is recorded as 0. After normalization, the three evaluation results are weighted. The normalized value of marginal performance contribution is multiplied by the first weight, the normalized value of new coverage is multiplied by the second weight, and the normalized value of duplicate coverage is multiplied by the third weight. The sum of the first, second, and third weights is 1, and is fixed before the start of the current evolution block.
[0211] When calculating the collaborative evaluation value, the weighted result corresponding to the marginal performance contribution is first added to the weighted result corresponding to the new coverage, and then the weighted result corresponding to the duplicate coverage is subtracted. The resulting value is used as the candidate collaborative evaluation value. Marginal performance contribution and new coverage are included positively, while duplicate coverage is deducted negatively.
[0212] In one specific implementation, the first weight is 0.5, the second weight is 0.3, and the third weight is 0.2. If the normalized value of the marginal performance contribution of a candidate is 0.8, the normalized value of the new coverage is 0.6, and the normalized value of the repeated coverage is 0.4, then first multiply 0.8 by 0.5 to get 0.4, multiply 0.6 by 0.3 to get 0.18, multiply 0.4 by 0.2 to get 0.08, then add 0.18 to 0.4 and subtract 0.08 to get 0.50. This value is the collaborative evaluation value of the candidate.
[0213] Specifically, after all valid candidates have been calculated, they are sorted from largest to smallest according to their collaborative evaluation values to form a candidate optimization sequence. When two candidates have the same collaborative evaluation value, their marginal performance contribution value is compared first, and the candidate with the larger value is ranked first. If the marginal performance contribution value is still the same, the new coverage value is compared, and the candidate with the larger value is ranked first. If the new coverage value is still the same, the duplicate coverage value is compared, and the candidate with the smaller value is ranked first. If all the above data are the same, they are arranged from smallest to largest according to their candidate numbers.
[0214] The target subpopulation has a fixed capacity of 3 candidates. When the number of valid candidates is greater than or equal to 3, the first 3 candidates are selected sequentially from the first position of the candidate preference sequence to replace the target subpopulation before the update, and the candidate ranked first is determined as the new representative candidate.
[0215] When there are fewer than three valid candidates, candidates with marginal performance contribution values less than the contribution threshold will not be used to supplement the subpopulation. The three candidates before the update and the original representative candidate will be retained. Valid candidates that have already been evaluated will still retain their marginal performance contribution values, new coverage values, duplicate coverage values, and collaborative evaluation values, which will serve as the data source for the S8 generation of generational reflection information.
[0216] After the target subpopulation is updated, the new representative candidate is written into the current representative combination. When the next generation updates other subpopulations, this representative candidate participates in the cooperative environment configuration in S3 as a fixed candidate for the corresponding position; the other two candidates retained in this instance continue to be stored in the target subpopulation and serve as the source of parent candidates for the next rotation of this subpopulation. In this embodiment, candidates are first screened for effectiveness based on their marginal performance contribution value, then their degree of supplementation to the current conflict event is distinguished by the new coverage value and the duplicate coverage value, and finally the target subpopulation and representative candidate are updated according to a unified cooperative evaluation value.
[0217] Example 8:
[0218] Specifically, S7 involves: switching the evaluation scenario for the co-evolution process and redetermining the performance data of each subpopulation based on the switched evaluation scenario; specifically:
[0219] Statistics on the update rounds and representative candidate performance of each subpopulation in the current evaluation scenario;
[0220] When the number of update rounds reaches a preset number, the evaluation scenario set and random state are changed;
[0221] Retain the candidates and representative candidates in each subpopulation, and re-execute the conflict resolution assessment in the changed assessment scenario set;
[0222] The performance values of representative candidate combinations and the marginal performance contribution values of each target subpopulation are updated based on the reassessment results.
[0223] The updated performance values and marginal performance contribution values will be used for the co-evolution of subsequent subpopulations.
[0224] In the above implementation, S7 is used to change the training scenario and random state used for candidate evaluation after the co-evolution has reached a predetermined number of rounds, and to re-obtain the performance data of representative candidate combinations and each subpopulation under the new evaluation conditions.
[0225] At the start of co-evolution, update counts are set for each of the four subpopulations. Generations 1 through 4 update the first through fourth subpopulations sequentially. One round is considered complete when all four subpopulations have completed one update. For each completed generation, the update count of the current target subpopulation is incremented by 1; every four completed generations, the total number of complete cycles is incremented by 1. Simultaneously, the representative combinations formed by the four candidate representatives and their performance values are saved at the end of the round.
[0226] The representative portfolio performance value is obtained according to the evaluation process described above. Specifically, the representative portfolio is run in each scenario of the current evaluation scenario set, and the number of remaining conflict events, actual number of iterations, number of path replannings, running time, and number of disappeared conflict events are recorded at termination. Each data point is processed according to the normalized upper and lower bounds determined in the current evolution block, multiplied by the corresponding fixed weights, and summed to obtain the performance value of that scenario. The performance values of all scenarios in the current evaluation scenario set are summed and then divided by the number of scenarios; the result is used as the performance value of the representative portfolio in the current evaluation scenario set.
[0227] This implementation defines a complete three-round cycle as one evolution block. Since each round contains four generations, an evaluation scenario switch is triggered when 12 generations have been completed since the start of an evolution block. The current evolution block ends after the 12th generation is completed, and a scenario switch is performed before the 13th generation begins; a scenario switch is performed again after the 24th generation is completed, and subsequent generations are processed according to the same rules. The preset number of times is fixed before co-evolution begins and does not change based on the evaluation results of individual candidates during the evolution process.
[0228] The evaluation scenario set is pre-established according to numbering. Each evaluation scenario has fixed map nodes and their connections, obstacle nodes, number of agents, starting nodes and target nodes for each agent, and initial path state at the start of the evaluation. When switching, the current scenario set number is incremented by 1, and the scenario set corresponding to the next number is loaded, so that the candidate evaluation after the switch will no longer use scenario instances from the previous evolution block.
[0229] The random states switch synchronously with the set of evaluation scenarios. Each evolution block corresponds to a pre-saved set of random states, including the random seed for the reference destruction heuristic, the random seed used in the path repair process, and the initial state of the solver's random number generator. When entering a new evolution block, the random state corresponding to that evolution block number is loaded. Candidates undergoing comparison within the same evolution block use the same random state, and a new random state is uniformly adopted after the evolution block is switched.
[0230] When changing the evaluation scenario set and random state, the candidate programs already retained in each subpopulation are not altered. Each of the four subpopulations retains three candidates, and the four representative candidates determined before the scenario switch continue as the initial representative candidates after the switch. Performance values, marginal performance contribution values, new coverage values, duplicate coverage values, and co-evaluation values saved in the previous evolutionary block are all marked as historical data and are not used as the basis for candidate ranking in the new evolutionary block. After the scenario switch is completed, the representative combination consisting of the four representative candidates is re-evaluated first. Conflict resolution is performed scenario by scenario in the new evaluation scenario set, and the results are recorded according to the same performance items as before the switch. Each scenario starts from the initial path state pre-saved for that scenario and does not inherit the path results from the previous scenario or the previous evolutionary block.
[0231] The new normalization upper and lower bounds are determined before the representative combination is re-evaluated. The reference combination and the current representative combination are run on the new evaluation scenario set, respectively, collecting the number of remaining termination conflicts, iterations, path replanning times, running time, and the number of disappeared conflicts for both types of combinations. For the same evaluation item, the minimum value among all records is used as the lower normalization bound, and the maximum value is used as the upper normalization bound. When the upper and lower bounds are equal, the normalization result for that item is uniformly recorded as 0. The obtained upper and lower bounds remain unchanged within the current 12-generation evolution block.
[0232] After normalizing the five performance data points for each scenario, the representative combination is weighted according to the fixed weights determined above, and the weighted results are summed to obtain the corresponding scenario performance value. Then, the performance values of all scenarios are summed and divided by the total number of scenarios to obtain the performance value of the switched representative combination. This performance value replaces the current representative combination performance value saved in the previous evolution block.
[0233] Subsequently, the marginal performance contribution values of the four subpopulation representative candidates were re-determined. Taking the first subpopulation as an example, the representative candidates for the second, third, and fourth subpopulations remained unchanged. The position of the first subpopulation was replaced with a reference destruction heuristic, and the evaluation was completed under a new set of evaluation scenarios and random states to obtain the first performance value. Then, the position of the first subpopulation was restored to the current representative candidate, and the evaluation was completed under the same scenario, the same initial path, and the same random states to obtain the second performance value. The difference between the first and second performance values was used as the marginal performance contribution value of the first subpopulation representative candidate under the new evaluation conditions.
[0234] Specifically, the second, third, and fourth subpopulations are re-evaluated in the same way. Each time, only the position of the currently evaluated subpopulation is replaced, while the other three subpopulations retain their current representative candidates. This yields the marginal performance contribution values of the four representative candidates under the new evaluation scenario set. The contribution threshold used in the current evolutionary block is synchronously redefined. The reference destruction heuristic combination is run three times under three preset random states in the new evaluation scenario set, yielding three performance values. The difference between the maximum and minimum performance values is taken as the contribution threshold for the current evolutionary block. This contribution threshold remains unchanged for the current 12 generations and is used in S6 to filter candidate marginal performance contribution values.
[0235] For the retained candidates in each subpopulation other than the representative candidate, all re-evaluations are not completed at once during scenario switching. When the corresponding subpopulation is rotated to the target subpopulation again, S3 to S6 are re-executed according to the new evaluation scenario set, initial path state, and random state to obtain the marginal performance contribution value, new coverage value, duplicate coverage value, and collaborative evaluation value of the candidate.
[0236] After completing the above processing, the new representative combination performance value, the marginal performance contribution values of the four representative candidates, the new normalization upper and lower limits, and the new contribution threshold are written into the performance record of the current evolution block. Subsequent subpopulation updates only use the data redefined in this evolution block, without using the evaluation results corresponding to the previous evolution block. While retaining the evolved candidate programs, the candidate performance data is updated synchronously with the evaluation scenario and random state, so that the candidate comparisons of each subsequent generation are based on the evaluation results obtained from the actual operation of the current evolution block.
[0237] Example 9:
[0238] Specifically, S8 involves recording the parent candidates, offspring candidates, and their marginal performance contribution values during the target subpopulation update process.
[0239] Obtain the collaborative evaluation value and conflict resolution results for each candidate;
[0240] Based on the marginal performance contribution value, collaborative evaluation value, and conflict resolution operation results, identify effective adjustment directions and unresolved conflict characteristics, and generate reflection information;
[0241] The reflection information is associated with and stored in relation to the second feature vector corresponding to the target subpopulation;
[0242] During the next update of the target subpopulation, the parent candidates are adjusted in a targeted manner based on the reflection information and the second feature vector.
[0243] In the above implementation, S8 is executed after the target subpopulation completes the generation, evaluation, and screening of candidates for the current generation. It establishes a correspondence between the rule changes, performance changes, and remaining conflict states between the parent and offspring candidates, and uses the resulting reflection information for the next round update of the target subpopulation. For each offspring candidate generated in S5, an update record corresponding to its parent candidate is established. The update record stores the parent candidate number, offspring candidate number, the adjusted rule type, the parameter value before adjustment, the parameter value after adjustment, and the parameter change amount. The parameter change amount is obtained by subtracting the parameter value before adjustment from the parameter value after adjustment. The rule type is recorded according to the actual modification content as a conflict selection rule, agent selection rule, or neighborhood expansion rule.
[0244] After the parent and offspring candidates complete the S3 evaluation, their corresponding marginal performance contribution values are read. After the S6 evaluation, their corresponding collaborative evaluation values, new coverage values, and duplicate coverage values are read and written into the same update record. Thus, each candidate adjustment has evaluation data corresponding to its actual performance results.
[0245] Specifically, the conflict resolution results are obtained from the execution records generated by the candidate large neighborhood search. The recorded data includes the total number of conflict events at the start of the evaluation, the total number of remaining conflict events at the end of the evaluation, the number of disappeared conflict events, the number of newly added conflict events, the actual number of iterations, the number of path replannings, and the conflict events that still exist at the end of the evaluation. The remaining conflict events at the end of the evaluation are recorded according to the conflict event format of S1, including the participating agent number, conflict type, conflict location, and occurrence time step.
[0246] The effective adjustment direction is determined based on the evaluation results of the parent and offspring candidates. First, the marginal performance contribution value of the offspring candidate is subtracted from the marginal performance contribution value of the parent candidate to obtain the change in marginal contribution; then, the collaborative evaluation value of the offspring candidate is subtracted from the collaborative evaluation value of the parent candidate to obtain the change in collaborative evaluation.
[0247] When the change in marginal contribution is greater than 0 and the change in collaborative evaluation is greater than 0, the rule adjustment is recorded as a valid adjustment; when either of these is less than 0, the rule adjustment is recorded as an invalid adjustment; when both are equal to 0, the rule adjustment is recorded as an adjustment with no change. When the offspring candidate enters the updated target subpopulation via S6, a retention flag is added to that record.
[0248] Unresolved conflict features are determined based on the conflict events that still exist when the candidate generation ends. First, the number of remaining vertex conflicts and remaining edge conflicts are counted separately. Then, the number of times each agent participates in remaining conflict events is counted according to the agent ID. The number of remaining conflict events corresponding to each node is counted according to the map node ID. Finally, the number of remaining conflict events within each time window is counted according to the time window division method used in S5. For each agent, its corresponding count increases by 1 for each occurrence in a remaining conflict event. For spatial locations, vertex conflicts increase the count by 1 at the corresponding node position, and edge conflicts increase the count by 1 at each of the two endpoints of the conflicting edge. For time windows, the window to which the remaining conflict belongs is determined based on the time step in which it occurs, and the count is increased by 1 within the corresponding window. The above statistical results are arranged in the order used in S5 when forming the second feature vector.
[0249] To further determine whether the adjustment improved the corresponding conflict object, for the conflict type, agent, spatial location, or time window corresponding to the adjusted rule, the number of unresolved conflicts at the end of the parent candidate evaluation and the number of unresolved conflicts at the end of the descendant candidate evaluation are read respectively. The change in conflict is obtained by subtracting the number of parent candidates from the number of descendant candidates. When the change in conflict is less than 0, it means that the adjustment reduced the number of unresolved conflicts corresponding to that object; when the change in conflict is equal to 0, it means that the number of unresolved conflicts has not changed; when the change in conflict is greater than 0, it means that the number of unresolved conflicts has increased.
[0250] A single reflection record is formed by combining the parent candidate number, offspring candidate number, rule type, parameters before adjustment, parameters after adjustment, parameter change, marginal contribution change, collaborative evaluation change, conflict change, candidate retention result, and unresolved conflict characteristics. Reflection records are stored separately for each target subpopulation. When writing reflection records, the second feature vector corresponding to S5 in the current generation is also saved, and an index relationship is established between this second feature vector and the reflection record. The reflection record for the first subpopulation is only written to the reflection record corresponding to the first subpopulation; the second to fourth subpopulations are stored in the same manner.
[0251] When the same target subpopulation enters the update phase in the next rotation, the second feature vector is first regenerated based on the current coordination gap, and then the current second feature vector is compared item by item with the second feature vector saved in the historical reflection information of the subpopulation.
[0252] In the specific comparison, the eigenvalues at the same position in the two second eigenvectors are taken, the absolute value of the difference between the two eigenvalues is calculated, and then the absolute values corresponding to all positions are added together. The result is used as the feature difference value between the historical reflection information and the current gap state. The feature difference value is calculated for all historical reflection information stored in the subpopulation, and they are arranged in ascending order of feature difference value.
[0253] The reflective information with the smallest feature difference value is selected as the reference for this targeted adjustment. When two reflective information entries have the same feature difference value, the record with the retention mark is selected first; when both have the retention mark, the change in co-evaluation is compared, and the record with the larger value is ranked first; when the change in co-evaluation is still the same, the record with the later generation time is selected according to the order of the reflective information generation time.
[0254] After determining the reference reflection information, the effective adjustment rules and adjustment directions recorded therein are read. When the reference record corresponds to a conflict selection rule, the parameters corresponding to the same conflict type in the current parent candidate are adjusted according to the increasing or decreasing direction in the historical record. When the reference record corresponds to an agent selection rule, the agent with the highest number of unresolved conflicts is first determined based on the current second feature vector, and then the priority parameters of the corresponding feature of that agent are adjusted. When the reference record corresponds to a neighborhood expansion rule, the expansion center is determined based on the node with the highest number of remaining conflicts in the current spatial location feature, and the neighborhood range is modified according to the expansion direction in the historical record.
[0255] This parameter adjustment does not directly copy historical parameter changes. Instead, it continues to use the fixed parameter step size specified in S5. When a parameter increases, the adjusted value is obtained by adding one parameter step size to the current parameter value; when a parameter decreases, the adjusted value is obtained by subtracting one parameter step size from the current parameter value. If the adjustment result exceeds the maximum allowable value of the parameter, the maximum allowable value is used; if it is lower than the minimum allowable value, the minimum allowable value is used.
[0256] When the current target subpopulation has not yet saved reflection information, or when the adjustments corresponding to the historical reflection information are all judged to be invalid adjustments, the historical adjustment direction is not invoked, and the adjustment rule and parameter direction are directly determined according to S5 based on the current second feature vector.
[0257] After obtaining new offspring candidates through the above processing, steps S3 to S6 are continued, and the new actual evaluation results are written into the reflection record of the current subpopulation. Therefore, the historical information used for subsequent directional adjustments to the target subpopulation all originates from candidate results that have already undergone actual conflict resolution evaluation.
[0258] Example 10:
[0259] Specifically, S9 involves obtaining the candidate destruction heuristics for each subpopulation after the preset termination condition is met.
[0260] Candidate destruction heuristics from different subpopulations are combined to obtain multiple combinations of candidate destruction heuristics;
[0261] Each candidate destructive heuristic combination was applied to an independent verification scenario that did not participate in co-evolution.
[0262] Obtain the complete conflict resolution result, the number of remaining conflicts, and the number of conflict resolution iterations for each candidate destructive heuristic combination;
[0263] Based on the complete conflict resolution result, the number of remaining conflicts, and the number of conflict resolution iterations, each candidate destructive heuristic combination is compared to determine the final destructive heuristic combination.
[0264] In the above implementation, S9 is executed after the co-evolution reaches the preset termination condition. It is used to recombine the candidate destruction heuristics that are finally retained in the four subpopulations and to determine the final destruction heuristic combination through independent verification scenarios.
[0265] Before co-evolution begins, a termination condition is pre-set. In this implementation, six evolutionary blocks are set, each containing 12 generations. Therefore, candidate generation, candidate selection, and subpopulation updates terminate when 72 generations have been accumulated. Upon termination, candidate programs, candidate parameters, and representative candidates in the four subpopulations are frozen, and the directional adjustments in S5 are no longer executed. After the termination condition is met, the actual candidates retained in each of the four subpopulations are read. According to the subpopulation capacity setting in S6, three candidates are retained in each subpopulation, thus a total of 12 candidates are read. The read content includes at least the subpopulation number to which the candidate belongs, the candidate number, the candidate program, and the final parameter configuration.
[0266] Candidate combinations are formed by selecting one candidate from each subpopulation. First, one candidate is selected from the first subpopulation, then one candidate is selected from each of the second, third, and fourth subpopulations, and these are combined in a fixed order based on the four disruptive heuristic positions. Since each subpopulation contains three candidates, and each of the four positions has three possible choices, multiplying 3 by 3, then by 3 again, and then by 3 again yields 81 different combinations. After establishing these 81 combinations, combination numbers are assigned sequentially, and the four candidate numbers contained in each combination are saved. After completing the candidate combinations, an independent verification scenario set is established. Independent verification scenarios do not participate in candidate generation, candidate selection, reflection information formation, or scenario switching in the aforementioned 72 generations of co-evolution. Each verification scenario has a pre-fixed map structure, obstacle nodes, number of agents, starting node, target node, initial path state, and maximum allowed number of iterations for each agent.
[0267] To ensure consistent evaluation criteria across different candidate combinations, all 81 candidate combinations in the same verification scenario started running from the same initial path state and used the same set of random states. Before evaluating each new candidate combination, the initial path and random states of the scenario were reloaded, ensuring that the path results generated by the previous combination did not participate in the evaluation of the subsequent combination.
[0268] For any combination of candidate disruptive heuristics, four of the candidates are assigned to their respective four disruptive heuristic positions. In each iteration of the large neighborhood search, the current conflict state representation data is read, and the disruptive priorities of the agents are generated from the four candidate disruptive heuristics. Then, the set of agents to be replanned is determined, and path removal and path repair are performed. After repair, the number of current conflict events is recounted according to the conflict detection rules in S1.
[0269] When the number of current conflict events drops to 0, the execution of this verification scenario ends, and the complete conflict resolution result for this scenario is recorded as 1. When the number of current conflict events is greater than 0, and the actual number of iterations reaches the preset maximum number of iterations, the execution of this scenario ends, and the complete conflict resolution result is recorded as 0. The remaining number of conflicts is counted when each verification scenario terminates. The conflict event sequence in the terminated state is regenerated according to the conflict detection rules of S1, and the number of events in it is directly counted. The resulting value is taken as the remaining number of conflicts for this candidate combination in the current verification scenario. The remaining number of conflicts for a scenario that has been completely resolved is 0.
[0270] The number of conflict resolution iterations is determined by the actual number of destruction-repair cycles completed. If a candidate combination reduces the number of current conflict events to 0 after the 38th iteration, the number of conflict resolution iterations for that scenario is recorded as 38; if conflicts still exist after reaching the preset maximum number of iterations, the number of iterations is recorded as the maximum number of iterations.
[0271] After all independent verification scenarios have been evaluated for a candidate combination, the three verification results are summarized. The method for summing the results of complete conflict resolution is to add up the results with a value of 1 in each scenario, and the resulting value is taken as the number of scenarios with complete conflict resolution for that combination. The method for summing the number of remaining conflicts is to add up the number of remaining conflicts corresponding to all verification scenarios, and then divide by the total number of verification scenarios; the resulting value is taken as the average number of remaining conflicts for that combination.
[0272] The number of conflict resolution iterations is processed in the same way: the number of iterations for all verification scenarios is added together, and then divided by the total number of verification scenarios. The resulting value is used as the average number of conflict resolution iterations for that combination. Thus, each candidate combination generates three verification metrics: the number of scenarios with complete conflict resolution, the average number of remaining conflicts, and the average number of conflict resolution iterations.
[0273] After all 81 candidate combinations have been verified, the three indicators mentioned above are compared in a fixed order. First, the number of completely resolved conflict scenarios is compared, and the combination with the larger value is ranked first. If the number of completely resolved conflict scenarios is the same, the average number of remaining conflicts is compared, and the combination with the smaller value is ranked first. If the first two are the same, the average number of conflict resolution iterations is compared, and the combination with the smaller value is ranked first.
[0274] When two combinations have the same three verification metrics, they are sorted in ascending order of combination number. After sorting, the candidate destruction heuristic combination ranked first is determined as the final destruction heuristic combination, and the four candidate programs contained in this combination, the combination number, and the corresponding verification results are saved. After the final combination is determined, the four candidates are respectively assigned to the positions corresponding to conflict critical destruction, spatiotemporal bottleneck destruction, agent influence destruction, and novelty stagnation escape destruction, and used in the subsequent large neighborhood search destruction stage. The independent verification results are only used to determine the final combination, and the candidate programs and their parameters are not modified.
[0275] In the above embodiments, the large language model is used to generate candidate destruction heuristics, adjust the rules of parent candidates based on the collaborative gap, and generate reflective information based on the candidate evaluation results. The large language model is a pre-trained large language model. In the co-evolution process of this application, the network structure and model weights of the large language model are not trained or updated. The large language model participates in the generation of candidate destruction heuristics through inference invocation.
[0276] It should be noted that the input of the large language model of this invention consists of path planning operation data, candidate destruction heuristic data, and candidate evaluation data. The path planning operation data includes at least the current conflict event sequence, conflict relationship matrix, first feature vector, cooperative gap vector, second feature vector, current path of each agent, and preset neighborhood size. The candidate destruction heuristic data includes at least the function code of the parent candidate, the subpopulation type to which the candidate belongs, and the conflict selection rule, agent selection rule, or neighborhood expansion rule currently used by the parent candidate. The candidate evaluation data includes at least the marginal performance contribution value, new coverage value, repeated coverage value, cooperative evaluation value, and conflict resolution operation result of the parent candidate. Before calling the large language model, the above data is organized into model input according to a fixed field order. For a conflict event sequence, each conflict event records at least the agent number involved in the conflict, the conflict type, the conflict location, and the time step in which the conflict occurred; for the conflict relationship matrix, the association weights between each conflict event are provided in the order of the conflict event indices; for the first feature vector and the second feature vector, the corresponding values are provided in the order of the fixed features mentioned above in the specification; for the parent candidate, the complete candidate function and its current parameters are provided, so that the large language model can determine the specific rule location that needs to be adjusted.
[0277] For different subpopulations, corresponding candidate generation constraints are provided to the large language model. Generation constraints for the conflict-critical destruction subpopulation enable candidates to determine agent destruction priorities based on conflict frequency, correlation strength, and conflict propagation. Generation constraints for the spatiotemporal bottleneck destruction subpopulation enable candidates to determine agent destruction priorities based on conflict time, conflict location, and path edge occupancy status. Generation constraints for the agent-influence destruction subpopulation enable candidates to determine agent destruction priorities based on conflict correlations between agents and conflict changes after replanning. Generation constraints for the novelty stagnation escape destruction subpopulation enable candidates to adjust agent selection results based on historical selection counts, repeated conflict states, and conflict retention states in continuous iterations. The candidate destruction heuristics generated by the large language model employ a predefined function interface. This function interface receives current conflict state representation data, agent path data, and neighborhood size as input, and outputs the destruction priority of each agent or a sequence of agent numbers arranged according to destruction priority. Candidate functions must not modify the input path data, modify the solver operating environment, or access data unrelated to the current path planning task.
[0278] After the large language model outputs candidate destructive heuristics, the model output is first parsed and candidate function code is extracted. Then, the following checks are performed sequentially: function interface check, syntax check, return value check, agent number range check, duplicate number check, and code security check. The function interface check confirms that the candidate function can receive predetermined input fields; the return value check confirms that the output type is consistent with the predetermined function interface; the agent number range check confirms that the agent number output by the candidate belongs to the current agent set; the duplicate number check confirms that there are no duplicate numbers in the same candidate agent sequence; and the code security check excludes file modification, external program calls, network access, and runtime environment modification operations. Candidates that pass all checks enter the LNS solver for evaluation; candidates that fail the checks do not enter the candidate evaluation. After the candidate destructive heuristic enters the LNS solver, the destructive priority of each agent is calculated based on the current conflict state representation data, and the set of agents to be replanned is determined according to the destructive priority. The LNS solver removes the current path of the agent and calls the predetermined path repair module to regenerate the corresponding path. After the path repair is completed, the conflict detection is re-executed to obtain the number of remaining conflict events, the number of disappeared conflict events, the number of path replanning times, and the number of conflict resolution iterations. Based on this, the performance value, marginal performance contribution value, new coverage value, duplicate coverage value, and collaborative evaluation value of the candidate are calculated.
[0279] During the parent candidate orientation adjustment process, the large language model further receives the current second feature vector and parent candidates. Based on the distribution of uncovered conflict types, associated agents, spatial locations, and time windows in the second feature vector, it determines the corresponding conflict selection rule, agent selection rule, or neighborhood expansion rule in the parent candidates, and modifies the corresponding rules according to the adjustment direction and parameter step size determined in step S5. The large language model only modifies the rules identified as adjustment targets; the remaining rules in the parent candidates that are not identified as adjustment targets remain unchanged.
[0280] When generating reflection information, parent candidates, offspring candidates, parameter changes, marginal performance contributions of parents and offspring, collaborative evaluation values, and conflict resolution results are input into the large language model. The large language model generates structured reflection information based on performance changes between parents and offspring and remaining conflict characteristics. This reflection information includes at least the adjustment rule type, adjustment direction, corresponding second feature vector, changes in marginal performance contribution, changes in collaborative evaluation, and unresolved conflict characteristics. This reflection information does not directly modify candidate programs in the target subpopulation, nor does it directly change candidate evaluation results. When the same target subpopulation is updated again, the current second feature vector is compared with the second feature vector stored in the historical reflection information of that subpopulation. The corresponding reflection record is selected based on the feature difference value, and the effective adjustment direction in the reflection record is used as a reference for the current parent candidate's directional adjustment.
[0281] Therefore, the input of the large language model comes from the conflict events, path states, candidate rules and actual operation evaluation results formed during the multi-agent path planning process. The candidate programs output by the large language model are further directly used to determine the agent selection results in the LNS destruction stage, and the actual conflict resolution results are obtained through path destruction, path repair and conflict re-detection, thereby establishing the correspondence between the input of the large language model, the output of candidate destruction rules and the operation results of multi-agent path planning.
[0282] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.
Claims
1. A complementary heuristic co-evolutionary generation method for path planning using large neighborhood search, characterized in that, Includes the following steps: S1. Obtain the large neighborhood search operation status data of multi-agent path planning, perform conflict analysis on the agent path, and generate conflict state representation data including conflict event sequence, conflict relationship matrix and first feature vector. S2. Establish multiple subpopulations corresponding to different destruction heuristic components. Each candidate destruction heuristic determines the destruction priority of the agent based on the conflict state representation data, generates a candidate agent sequence and performs destruction-repair operation, and determines the representative candidate of each subpopulation. S3. Determine the target subpopulation, construct a cooperative environment using representative candidates from other subpopulations, and evaluate it using the reference destruction heuristic and the destruction heuristic of the candidate to be evaluated, respectively. Determine the marginal performance contribution value based on the difference in conflict resolution performance. S4. Generate a first coverage vector and a second coverage vector based on the conflict events that are effectively resolved between the candidate to be evaluated and other representative candidates. Generate a collaborative gap vector from the second coverage vector and determine the duplicate coverage value and the new coverage value by combining the first coverage vector. S5. Extract gap features from the collaborative gap vector to form a second feature vector. Based on the second feature vector, make directional adjustments to the parent candidates in the target subpopulation to obtain the offspring candidates. S6. Determine the marginal performance contribution value, new coverage value, and duplicate coverage value of each candidate according to S3 and S4, and calculate the collaborative evaluation value accordingly. Select candidates whose marginal performance contribution value meets the preset threshold according to the collaborative evaluation value, and update the target subpopulation and its representative candidates.
2. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, S1 includes: Extract the position and edge occupancy information of each agent according to the time step to form a path state sequence; The path state sequence is matched step by step over time to identify vertex conflicts and edge conflicts, and the conflict event sequence is formed by sorting them according to the occurrence time. The association weights are calculated based on the agent sharing relationships, spatial adjacency relationships and time intervals between conflict events, and a conflict relationship matrix is constructed with conflict events as row and column indices. Based on the conflict event sequence and conflict relationship matrix, at least one feature among conflict frequency, correlation strength, conflict propagation degree and repeated conflict rate is extracted, and the first feature vector is formed after normalization. By associating the conflict event sequence, the conflict relationship matrix, and the first feature vector, conflict state characterization data is obtained.
3. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, S2 includes: Multiple subpopulations are established according to different destruction heuristic components, and corresponding candidate destruction heuristic sets are configured; Input the conflict state representation data into each candidate destruction heuristic and calculate the destruction priority vector corresponding to each agent. The agents are sorted according to the destruction priority vector to form a candidate agent sequence, and the set of agents to be replanned is determined according to the preset neighborhood size. Perform a destructive-repair operation on the reorganized set of intelligent agents to obtain conflict resolution performance data; The performance value of each candidate is determined based on the conflict resolution performance data, and the candidate with the best performance is identified as the representative candidate of the corresponding subpopulation.
4. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, S3 includes: Identify the target subpopulation to be updated, and fix the representative candidates of other subpopulations to form a cooperative environment configuration; The reference destruction heuristic and the candidate destruction heuristic to be evaluated are respectively configured in the target subpopulation to form the first evaluation combination and the second evaluation combination; Running the first and second evaluation combinations under the same evaluation scenario, initial path state, and random parameters, respectively, generates the first performance feature vector and the second performance feature vector. The first performance feature vector and the second performance feature vector are normalized and weighted to obtain the first performance value and the second performance value. The difference between the first performance value and the second performance value is calculated to obtain the marginal performance contribution value of the candidate destructive heuristic to be evaluated.
5. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, S4 includes: A conflict index is established according to the conflict event sequence, and a first coverage vector is generated based on the conflict events to be evaluated as candidates for effective resolution. Summarize the conflict events that have been effectively resolved by other representative candidates and merge the corresponding coverage states to generate a second coverage vector; Based on the conflict index, identify the uncovered positions in the second coverage vector and generate a cooperative gap vector representing the conflict events that have not been effectively resolved by other representative candidates; Match the first coverage vector with the second coverage vector, and calculate the duplicate coverage value based on the conflict events of the common coverage; Match the first coverage vector with the cooperative gap vector, and calculate the new coverage value based on the unresolved conflict events that are covered by the same vector.
6. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, S5 includes: Analyze the unresolved conflict events corresponding to the collaborative gap vector, extract features such as conflict type, associated agents, spatial location and time window, and form a gap feature sequence; The gap feature sequence is normalized and encoded to form a second feature vector representing the distribution of uncovered conflicts; Parent candidates are selected from the target subpopulation based on their marginal performance contribution values; Based on the second feature vector, determine the conflict selection rule, agent selection rule, or neighborhood expansion rule to be adjusted in the parent generation candidates, and generate the corresponding directional adjustment parameters; By modifying the corresponding rules of the parent candidates according to the directional adjustment parameters, offspring candidates for the coordination gap are obtained.
7. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, S6 includes: Obtain the marginal performance contribution value, new coverage value, and duplicate coverage value of each candidate, and construct a candidate evaluation vector; The marginal performance contribution value is compared with the preset contribution threshold to filter out the effective candidate set; The candidate evaluation vectors corresponding to valid candidates are normalized, and the marginal performance contribution value and the newly added coverage value are positively weighted, while the duplicate coverage value is negatively weighted to obtain the collaborative evaluation value. The valid candidates are ranked according to their collaborative evaluation values to form a candidate optimization sequence; The target subpopulation is updated based on the candidate selection sequence, and the candidate with the best collaborative evaluation value is determined as the new representative candidate.
8. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, This also includes S7, switching the evaluation scenario for the co-evolution process, and redetermining the performance data of each subpopulation based on the switched evaluation scenario; specifically: Statistics on the update rounds and representative candidate performance of each subpopulation in the current evaluation scenario; When the number of update rounds reaches a preset number, the evaluation scenario set and random state are changed; Retain the candidates and representative candidates in each subpopulation, and re-execute the conflict resolution assessment in the changed assessment scenario set; The performance values of representative candidate combinations and the marginal performance contribution values of each target subpopulation are updated based on the reassessment results. The updated performance values and marginal performance contribution values will be used for the co-evolution of subsequent subpopulations.
9. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, It also includes S8, generating reflective information based on the candidate evaluation results during the subpopulation update process, and using the reflective information to guide subsequent directional adjustments of the target subpopulation; specifically: Record the parent candidates, offspring candidates, and their marginal performance contribution values during the target subpopulation update process; Obtain the collaborative evaluation value and conflict resolution results for each candidate; Based on the marginal performance contribution value, collaborative evaluation value, and conflict resolution operation results, identify effective adjustment directions and unresolved conflict characteristics, and generate reflection information; The reflection information is associated with and stored in relation to the second feature vector corresponding to the target subpopulation; During the next update of the target subpopulation, the parent candidates are adjusted in a targeted manner based on the reflection information and the second feature vector.
10. The path planning method based on large neighborhood search complementary heuristic co-evolutionary generation according to claim 1, characterized in that, This also includes S9, combining and validating candidate disruption heuristics retained by each subpopulation after co-evolution, and determining the final disruption heuristic combination based on independent validation results; specifically: After the preset termination condition is met, obtain the candidate destruction heuristics for each subpopulation. Candidate destruction heuristics from different subpopulations are combined to obtain multiple combinations of candidate destruction heuristics; Each candidate destructive heuristic combination was applied to an independent verification scenario that did not participate in co-evolution. Obtain the complete conflict resolution result, the number of remaining conflicts, and the number of conflict resolution iterations for each candidate destructive heuristic combination; Based on the complete conflict resolution result, the number of remaining conflicts, and the number of conflict resolution iterations, each candidate destructive heuristic combination is compared to determine the final destructive heuristic combination.
