Intelligent distributing machine partitioning method based on multi-modal multi-objective optimization

Through the multi-modal multi-objective optimization of fabric machine intelligent partitioning method, the problem of path planning algorithm in complex casting maps is solved, and high-quality path planning is achieved.

CN119849287AActive Publication Date: 2025-04-18WUHAN UNIV OF SCI & TECH
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411761846.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-04-18
Estimated Expiration
2044-12-03

AI Technical Summary

Technical Problem

The existing path planning algorithms are difficult to dynamically adjust the pouring spacing and avoid irregular obstacle areas in complex casting maps, resulting in the quality of regional division affecting the quality of path planning.

Method used

The intelligent partitioning method of fabric machine based on multimodal multi-objective optimization is adopted. By dividing the map to be divided into multiple rectangular areas without obstacles, multiple individuals are generated, and merging and iterating through genetic algorithms to obtain the optimal partitioning scheme.

Benefits of technology

It realizes the rapid finding of multiple optimal solutions in complex casting maps, ensuring that the number of sub-graphs is minimized after division, and can be interconnected by edges between any two small rectangular areas in each sub-graph, improving the quality of path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119849287A_ABST
    Figure CN119849287A_ABST
Patent Text Reader

Abstract

The invention discloses an intelligent distributing machine partitioning method based on multi-modal multi-objective optimization, and solves the problem of how to quickly find a plurality of optimal solutions after a map to be partitioned is initially partitioned into large-scale small rectangular regions in the current minimum connected sub-graph coverage problem, so that the number of partitioned sub-graphs is minimized. Any two small rectangular areas in each sub-graph can be communicated with each other through edges.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of path planning technology, and in particular to an intelligent partitioning method for a concrete placing machine based on multi-modal multi-objective optimization, which is applied to path planning when a concrete placing machine is pouring concrete, path planning for sowing agricultural drones, and path planning for airport pavement detection. Background Art

[0002] At present, the production of precast concrete components at home and abroad usually relies on manually operated spiral feeders for concrete distribution. The distribution path is completely planned by the workers themselves. In the final stage of the spiral feeder pouring, the construction workers move the hose by hand to pour the concrete delivered by the pump into the templates at different positions in the area to be poured. However, the pouring of concrete is mainly predicted by the on-site construction workers based on their experience. During the construction process, the pouring amount is visually observed, and the pouring status and the next area to be poured are fed back to the feeder operator. The feeder operator then controls the outlet of the feeder to move to the corresponding area. The manual feedback method cannot maintain coordination and consistency, and the timing of the feeder movement may be advanced or delayed. This operation method leads to inaccurate measurement and uneven pouring in each area, or duplication of the distribution path, resulting in concrete overflowing the template, resulting in concrete waste.

[0003] With the continuous development of artificial intelligence computing intelligence, automated concrete pouring will eventually replace manual pouring. When the concrete placing machine performs pouring tasks automatically, path planning is required. However, when the adjacency relationship of the pouring map is complex and there may be obstacles, unmergeable areas and other restrictions, the existing full coverage path planning algorithm cannot well realize the functions of dynamically adjusting the pouring spacing and avoiding irregular obstacle areas. Therefore, the quality of area division directly affects the quality of path planning. Therefore, before planning the path, it is very necessary to divide the pouring map into multiple regular areas without a large number of obstacles inside the area.

[0004] After the pouring map is divided into m rectangles, the adjacent relationship between rectangles forms an adjacency list. The adjacency list can be converted into a corresponding undirected graph. Merging m rectangles into sub-regions with the minimum number of blocks is equivalent to a variant of the graph partitioning problem and the clique covering problem: the minimum connected subgraph covering problem.

[0005] Description of the minimum connected subgraph covering problem:

[0006] Input: Undirected graph G, where V is the set of nodes and E is the set of edges. V(G i ) is the set of all nodes in the i-th subgraph Gi;

[0007] Objective: Divide the graph into several connected subgraphs G1, G2, …, Gk such that:

[0008] Coverage: The union of all nodes in the i-th subgraph Gi is exactly contained in V, that is,

[0009] Connectivity: In each subgraph Gi, any two subnodes can be connected to each other through edges.

[0010] Optimality: The number of subgraphs k after partitioning is minimized.

[0011] Explanation of time complexity:

[0012] Without constraints, for a pouring map with m rectangles initially, the number of all possible ways to partition m rectangles (nodes) into k connected subgraphs is the Bell number B(m), which is approximately:

[0013]

[0014] The number of ways to partition m rectangles into connected subgraphs grows exponentially as m increases. Using brute force is impossible. Reference "Garey, MR, & Johnson, DS (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness", "Balanced graph partitioning" and the clique cover problem have been considered NP-hard problems.

[0015] An algorithm that uses a greedy algorithm to select a local optimal solution at each step. It is usually faster than a brute force search of all possible solutions, but the quality of the solution may not be the global optimal.

[0016] Dynamic programming is a method of solving problems by breaking them down into smaller sub-problems. It avoids repeated calculations by storing the optimal solution to each sub-problem. In the minimum connected subgraph covering problem, dynamic programming can store the optimal partitioning method for each sub-problem. If the problem needs to find multiple optimal solutions (i.e., multi-modal solutions), traditional dynamic programming needs to be expanded to record all possible optimal solution paths. This usually involves adding additional storage space to record different solutions. When the scale of the problem increases, such as the number of rectangles, the solution space that dynamic programming needs to handle will also increase dramatically. This may lead to increased memory consumption and longer calculation time, making it difficult to use dynamic programming directly. In the worst case, dynamic programming may need to store all possible partitioning methods, which is impractical in large-scale problems. Therefore, the use of traditional algorithms such as dynamic programming can only give a relatively single map partitioning, which is not enough to provide manual reference. Summary of the invention

[0017] The present invention aims to design a multi-modal and multi-objective optimal partitioning method for a concrete placing machine, so as to solve the current minimum connected subgraph coverage problem in which a map to be divided is initially divided into large-scale small rectangular areas and how to quickly find multiple optimal solutions, so as to minimize the number of subgraphs after division, and any two small rectangular areas in each subgraph can be connected to each other through edges.

[0018] A method for intelligent partitioning of a material placing machine based on multi-modal and multi-objective optimization comprises the following steps:

[0019] Divide the map to be divided into multiple rectangular areas without obstacles, repeat the division process to generate multiple individuals, each individual is a sequence of m rectangular areas without obstacles, each rectangular area represents a gene, and each individual is the same;

[0020] An m×m matrix is ​​generated based on the m rectangular regions of each individual. Each cell in the matrix represents the adjacency relationship between two rectangular regions. The adjacency relationship between the rectangular regions is obtained to obtain the adjacency matrix. If the two rectangular regions are in a horizontal or vertical adjacency relationship, and the length of the common side of the adjacent rectangles excluding the overlapping part with the obstacle exceeds the threshold, the two rectangular regions are considered to be adjacent, and the cell is assigned a value of 1. Otherwise, they are considered to be non-adjacent, and the cell is assigned a value of 0, and the adjacency matrix of each rectangular region is obtained.

[0021] The rectangular areas in the adjacency matrix are merged, and each merged area after merging is a rectangle and does not contain a rectangular area pair that is prohibited from merging. The individuals composed of the merged areas are used as parents, and the merging and iterative process is repeated according to the first genetic algorithm to obtain the maximum partitioning scheme between multiple rectangular areas;

[0022] The individuals in the maximum partition scheme are used as parents to perform mutation operations, and the maximum partition scheme is expanded according to the second genetic algorithm; wherein each merged area in the mutated individuals is a rectangle and does not contain a pair of rectangular areas that are prohibited from being merged;

[0023] The individual with the smallest fitness value f1 is output as the partition scheme of the map to be divided.

[0024] Furthermore, dividing the map to be divided into multiple rectangular areas without obstacles includes: generating a map to be divided consisting of a plurality of rectangular areas according to the map boundary and the position coordinates of the obstacles in the grid map, each rectangular area has no obstacles inside, the rectangular areas do not overlap with each other, and the union of all the rectangular areas and obstacles is equal to the figure enclosed by the map boundary.

[0025] Further, the horizontal adjacency relationship represents that: the distance between the left boundary of the first rectangle and the right boundary of the second rectangle or the distance between the right boundary of the first rectangle and the left boundary of the second rectangle is not greater than d, and the distance between the upper boundary of the first rectangle and the upper boundary of the second rectangle and the distance between the lower boundary of the first rectangle and the lower boundary of the second rectangle are not greater than d, that is:

[0026]

[0027] The vertical adjacency relationship represents that: the distance between the upper boundary of the first rectangle and the lower boundary of the second rectangle or the distance between the lower boundary of the first rectangle and the upper boundary of the second rectangle is not greater than d, and the distance between the left boundary of the first rectangle and the left boundary of the second rectangle and the distance between the right boundary of the first rectangle and the right boundary of the second rectangle are not greater than d, that is:

[0028]

[0029] Among them, (x11, y11) and (x12, y12), or (x21, y21) and (x22, y22) are the coordinates of the same diagonal points of the two rectangular areas; d is the tolerable distance error between the two rectangles, which is a manually adjusted parameter.

[0030] Furthermore, the merging of the rectangular areas in the adjacency matrix that are in an adjacency relationship includes: assigning the same candidate merging label to the mutually adjacent rectangular areas according to the adjacency relationship, and forming a candidate merging area with multiple rectangular areas having the same candidate merging label; if each rectangular area in the candidate merging area satisfies a merging condition, assigning the same merging label to the rectangular areas to form a merging area; if not, deleting the candidate merging area;

[0031] The merge condition consists of two constraints that must be satisfied simultaneously:

[0032] Constraint 1: The candidate merge area is a rectangle;

[0033] Constraint 2: The candidate merge region cannot contain a set of elements in the prohibited merge group at the same time. The prohibited merge group includes multiple sets of elements (xi, xj). Each set of elements (xi, xj) indicates that the rectangular area xi and the rectangular area xj cannot be in the same merge region. If the candidate merge region contains a pair of prohibited rectangular areas, the candidate merge region does not meet the merge condition.

[0034] Furthermore, the process of taking the individuals formed by the merged regions as parents and repeating the merging and iterating process according to the first genetic algorithm includes:

[0035] The fitness value f1 of each individual is calculated according to the fitness function Fitness1, where t represents the number of iterations through merging, the initial value is 0, and 0≤t≤T1, and the fitness function Fitness1(g) is defined as the number of merged regions into which the individual g is divided;

[0036] After each iteration, the individuals in the current optimization population are sorted from small to large according to the fitness value, and the individuals in the top 10% of the fitness value ranking are taken as excellent individuals and put into the elite population Q;

[0037] A good individual is randomly selected from the elite population Q as a parent to perform a crossover operation with the current individual of the current population Pt; the crossover operation includes: the good individual is used as the parent P1, the current individual of the current population Pt is used as the parent P2, and the crossover operation is performed to swap the rectangular area ranked as i in the parent P1 with the rectangular area ranked as u in the parent P2, and the rectangular area ranked as u in the parent P1 with the rectangular area ranked as i in the parent P2, i≠u; when swapping, the original merged labels of each rectangular area are swapped at the same time; the crossover operation is repeated at least once; and two new sequences of variant individuals are generated;

[0038] Check whether the newly replaced rectangular areas in the mutant individual and the rectangular areas that have not been replaced but have the same merged label in the mutant individual meet the merging conditions. If they do, keep the merged labels of the newly replaced rectangular areas and the rectangular areas that have not been replaced but have the same merged labels, and form a merged area. If they do not meet the conditions, change the merged labels of the newly replaced rectangular areas that do not meet the merging conditions so that they do not overlap with the existing merged labels, and form an independent merged area.

[0039] If the acceptance probability calculated based on the fitness of the mutant individual is greater than the reference probability, the mutant individual is retained, otherwise the mutant individual is deleted;

[0040] Merge the excellent population and the mutant population to generate the next generation of optimal population P t+1 ;

[0041] If the evolutionary generation reaches the set maximum value T1, the iteration ends, otherwise the merging is repeated to merge the merging regions in the individuals, and the first genetic algorithm is repeated for iteration;

[0042] Acceptance probability = exp(-(Fitness1(mutated individual)-Fitness1(P2)) / (t / T1));

[0043] The reference probability is a value between 0 and 1.

[0044] Furthermore, the mutation operation includes the following steps:

[0045] Generate a random number z in [0, 1];

[0046] If z is less than 1 / 3, randomly find two merging regions bi and bj in the current individual, and randomly select k rectangular regions within the merging regions for exchange;

[0047] If z is in the range of [1 / 3, 2 / 3), randomly find two merging regions bi and bj in the current individual, and randomly select k rectangular regions from bi and directly merge them into bj;

[0048] If z is in the range of (2 / 3, 1], randomly find two non - adjacent merging regions bi and bj in the current individual, and merge bi and bj;

[0049] Among them, k is less than the number of rectangular regions in the two selected merging regions.

[0050] Furthermore, the method for amplifying the maximum partitioning scheme according to the second genetic algorithm includes:

[0051] Calculate the fitness values f1 of the individual before and after mutation according to the fitness function Fitness1. The fitness value f1 of the individual before mutation is f11, and the fitness value f1 of the individual after mutation is f12;

[0052] If f11 < f12, then individual g1 dominates individual g2. If the f1 value f12 of individual g2 is less than the individual with the maximum fitness value f1 in the population before the mutation operator is processed, then select the individual g2 with a smaller fitness value f1 to replace the individual with the maximum fitness value f1 in the population before the mutation operator is processed; if the f1 value f12 of individual g2 is greater than or equal to the individual with the maximum fitness value f1 in the population before the mutation operator is processed, then retain all individuals in the population before the mutation operator is processed;

[0053] If f12 < f11, then individual g2 dominates individual g1, and then select the individual g2 with a smaller fitness value f1 to replace the individual with the maximum fitness value f1 in the population before the mutation operator is processed;

[0054] If f11 = f12, then select g2 to replace the individual with the maximum fitness f1 in the population before the mutation operator is processed;

[0055] Judge whether the number of generations of evolution has reached the set number of generations T2. If it reaches T2, end the iteration; otherwise, repeat the mutation operation and repeat the iteration of the second genetic algorithm.

[0056] A partitioning system based on multi - modal multi - objective optimization, including a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that when the processor executes the computer program, the steps of the method are implemented. Description of the Drawings

[0057] Figure 1A schematic diagram of the common sides of adjacent rectangular areas;

[0058] Figure 2 is the original map data;

[0059] Figure 3 A schematic diagram showing the division of the original map data according to the obstacle information and boundary information of the grid data;

[0060] Figure 4 A schematic diagram of dividing the original map data into rectangular areas according to the obstacle information and boundary information of the grid data;

[0061] Figure 5 It is the merging scheme 1 in the watering map partitioning scheme;

[0062] Figure 6 It is the merging scheme 2 in the watering map partitioning scheme;

[0063] Figure 7 It is the merging scheme 3 in the watering map division scheme;

[0064] Figure 8 Merge scheme 4 in the watering map partitioning scheme;

[0065] Fig. 9 It is the merging scheme 5 in the watering map partitioning scheme;

[0066] Fig.10 This is the merging scheme 6 in the watering map partitioning scheme. DETAILED DESCRIPTION

[0067] This section will describe in detail the specific embodiments of the present invention. The preferred embodiments of the present invention are shown in the accompanying drawings. The purpose of the accompanying drawings is to supplement the description of the text part of the specification with graphics, so that people can intuitively and vividly understand each technical feature and the overall technical solution of the present invention, but it cannot be understood as a limitation on the scope of protection of the present invention.

[0068] In the description of the present invention, "several" means one or more, "more" means more than two, "greater than", "less than", "exceed" etc. are understood as not including the number itself, and "above", "below", "within" etc. are understood as including the number itself. If there is a description of "first" or "second", it is only used for the purpose of distinguishing the technical features, and cannot be understood as indicating or implying the relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features.

[0069] Example 1

[0070] A method for intelligent partitioning of concrete placing boom based on multi-modal and multi-objective optimization is applied to path planning of concrete placing boom when pouring concrete, including:

[0071] Step 1. According to the grid data Figure 2 Given the obstacle information and the map boundary information, N casting area map division schemes are randomly generated. Each casting area map division scheme divides the casting area map into m rectangular areas with the same number and position and numbered as (1, 2, ..., m). Figure 4 , the purpose is to make these rectangular areas free of insurmountable obstacles; each partitioning scheme is an individual X, each individual X = (x1, x2, x3, ..., xi, ..., xm) is a sequence of m rectangular areas without obstacles, representing a potential solution, 1 < = i < = m, each rectangular area represents a gene; N partitioning schemes are set as the initial optimization population P0.

[0072] Step 2. Generate an m×m matrix based on the m rectangular regions of each individual. Each cell A in the matrix ij Represents the adjacency relationship between two rectangular areas. Get the adjacency relationship between each rectangular area to get the adjacency matrix. If the two rectangular areas are in a horizontal or vertical adjacency relationship, and the common obstacles of the adjacent rectangles do not exceed the obstacle_percentage threshold, then the two rectangular areas are considered to be adjacent, and the cell is assigned A. ij =1, otherwise it is considered as non-adjacent and the cell is assigned the value A ij =0, and the adjacency matrix of each rectangular area is obtained, as shown in Table 1;

[0073] The adjacency relationship between the rectangular areas is obtained in the following way:

[0074] Each rectangle can be represented by two coordinates. For example, the coordinates of the lower left corner of rect1 are (x11, y11), and the coordinates of the upper right corner are (x12, y12). The coordinates of the lower left corner of rect2 are (x21, y21), and the coordinates of the upper right corner are (x22, y22).

[0075] When the following adjacency constraints are met, it means that two rectangles are adjacent;

[0076] Condition 1: The two rectangles are adjacent in the horizontal or vertical direction:

[0077] Horizontal adjacency: If the distance between the left border of the first rectangle and the right border of the second rectangle or the distance between the right border of the first rectangle and the left border of the second rectangle is not greater than d, and the distance between the upper border of the first rectangle and the upper border of the second rectangle and the distance between the lower border of the first rectangle and the lower border of the second rectangle are not greater than d, then the first rectangle and the second rectangle are adjacent in the horizontal direction;

[0078]

[0079] or

[0080] Vertical adjacency: If the distance between the upper boundary of the first rectangle and the lower boundary of the second rectangle or the distance between the lower boundary of the first rectangle and the upper boundary of the second rectangle is not greater than d, and the distance between the left boundary of the first rectangle and the left boundary of the second rectangle and the distance between the right boundary of the first rectangle and the right boundary of the second rectangle are not greater than d, then the first rectangle and the second rectangle are adjacent in the vertical direction;

[0081]

[0082] d is the tolerable error in the distance between two rectangles, which is a manually adjusted parameter;

[0083] Condition 2: The common edges of adjacent rectangles cannot have obstacles exceeding the obstacle_percentage threshold. Obstacle_percentage is the ratio parameter of obstacles on the common edges, which can be manually adjusted. Figure 1 For example, the length of the common edge L is y22--y21. According to the obstacle information in the grid data, it can be known that the length of the obstacle in the common edge y22--y21 is assumed to be k. If (1-k)L exceeds obstacle_percentage, the two rectangles are also considered non-adjacent. Because in the process of pouring cement, the concrete spreader pours according to the arc-shaped path trajectory. The concrete spreader will pour one piece first and then the next piece according to the divided sub-areas. The cement will spread around along the pouring path, so there is a certain distance between the paths and between the paths and the obstacles. The setting of the obstacle_percentage threshold avoids too many obstacles connecting the two rectangular areas, which makes it impossible to pass through when planning the path.

[0084] According to the above description, we can get an adjacency matrix similar to Table 1 (the adjacency matrix in Table 1 corresponds to Figure 3 distribution rectangle).

[0085] Table 1 Adjacency matrix A

[0086] 1 2 3 4 5 6 7 8 9 10 11 1 0 1 0 0 0 0 0 0 0 0 0 2 1 0 1 0 0 0 0 0 0 0 0 3 0 1 0 1 0 0 0 0 0 0 0 4 0 0 1 0 0 1 0 0 0 0 0 5 0 0 0 0 0 1 0 0 1 0 0 6 0 0 0 1 1 0 0 0 0 1 0 7 0 0 0 0 0 0 0 1 0 0 0 8 0 0 0 0 0 0 1 0 1 0 0 9 0 0 0 0 1 0 0 1 0 0 0 10 0 0 0 0 0 1 0 0 0 0 1 11 0 0 0 0 0 0 0 0 0 1 0

[0087] Step 3. Set the maximum number of iterations T, the optimal population P size N, the elite population Q size M, the individual sequence length m, the mutation rate Pc, and the crossover rate Pm for initialization.

[0088] T is the maximum number of generations that the genetic algorithm will execute before stopping. Each generation includes the evaluation and selection process of the current population, as well as the process of generating a new population through crossover and mutation; N is the number of individuals (solutions) in each generation; M is the number of direct copies of a certain number of the best individuals in each generation to the next generation; m is the number of rectangular areas in each individual (solution). If the casting map is divided into 11 rectangular areas, each individual is a sequence of 11 rectangular areas. All rectangular areas in each sequence cover the casting area map, and each rectangular area can represent a gene;

[0089] N and m are related to the rectangular merging solution that needs to be solved. If the pouring map is divided into 11 rectangular areas, the individual sequence merging solution is m = 11, N = 100. T is set to 50. Depending on the difference between m and M, the algorithm parameters can also be slightly adjusted.

[0090] Step 4. In the first stage, focus on finding a solution with the least number of merged blocks. This includes the following steps:

[0091] Step 41. In each iteration, according to the method of obtaining the adjacency relationship between each rectangular area in step 2, obtain the adjacency matrix A generated by the sequence of each individual in the previous generation of the optimization population. According to the adjacency relationship in the adjacency matrix A, the rectangular areas with adjacent relationships are assigned the same candidate merge label. Multiple rectangular areas with the same candidate merge label form a candidate merge area. It is judged whether each rectangular area in the candidate merge area meets the merge condition. If so, the rectangular areas that meet the merge condition in each individual are assigned the same merge label to form a merge area, and the current generation of the optimization population is obtained. If not, the candidate merge area is deleted, and the fitness value f1 of each individual in each generation of the population Pt is calculated according to the designed fitness function Fitness1.

[0092] Where t represents the number of iterations, the initial value is 0, and 0≤t≤T1;

[0093] The adjacency matrix A is an m×m matrix. The cell A in the adjacency matrix A is ij Represents the adjacency relationship between the rectangular area xi and the rectangular area xj in the individual. If the two rectangular areas meet the adjacency constraint conditions, let A ij =1, otherwise let A ij =0, when A ij = 1, it means that the rectangular area xi and the rectangular area xj can be placed in the same merged area bk, that is, they are adjacent to each other. ij When =0, it means that the rectangular area xi and the rectangular area xj cannot be placed in the same merged area.

[0094] The merge condition consists of two constraints that must be satisfied simultaneously:

[0095] Constraint 1: The candidate merge area is a rectangle;

[0096] Constraint 2: The candidate merge region cannot contain a group of elements in the forbidden merge group at the same time. The forbidden merge group includes multiple groups of elements (xi, xj), each group of elements (xi, xj) indicates that the rectangular area xi and the rectangular area xj cannot be in the same merge region. If the candidate merge region contains a forbidden merge rectangular area pair, the candidate merge region does not meet the merge condition.

[0097] The fitness function Fitness1(g) is designed to reward individuals with fewer merged blocks. The fitness function Fitness1(g) is defined as the number of merged regions divided into by individual g, that is, Fitness1(g) = num(blocks).

[0098] Step 42. After each iteration, sort the individuals in the current optimization population from small to large according to the fitness value, and take the individuals in the top 10% of the fitness value as excellent individuals and put them into the elite population Q.

[0099] Step 43. Randomly select a good individual from the elite population Q as the parent to perform a crossover operation with the current individual of the current population Pt.

[0100] Specifically, the excellent individual is used as the parent P1, and all current individuals of the current population Pt are used as the parent P2. Perform a crossover operation, swap the rectangular area ranked as i in the parent P1 with the rectangular area ranked as u in the parent P2, and swap the rectangular area ranked as u in the parent P1 with the rectangular area ranked as i in the parent P2; swap the original merged labels of each rectangular area at the same time; repeat the crossover operation at least once; generate two new sequences of variant individuals;

[0101] After the mutation, the merged labels of each rectangular area in the mutant individual are rearranged relative to their parent generation, and the newly replaced rectangular areas in the mutant individual and the rectangular areas that have not been replaced but have the same merged labels in the mutant individual are checked to see whether the merge conditions are met. If so, the merged labels of the newly replaced rectangular areas and the rectangular areas that have not been replaced but have the same merged labels are retained to form a merged area. If not, the merged labels of the newly replaced rectangular areas that do not meet the merge conditions are changed to not be repeated with the existing merged labels to form an independent merged area.

[0102] If the acceptance probability calculated according to the fitness of the mutant individual is greater than the reference probability, the mutant individual is retained, otherwise the mutant individual is deleted.

[0103] A specific example is as follows: Assume P1 = ([5, 6], [10, 11], [9, 8, 7], [3, 4], [1, 2]);

[0104] P2=([5, 6], [4, 3], [2, 1], [9, 8, 7], [11, 10]);

[0105] [] indicates the same merge tag;

[0106] Select two rectangular areas i=7 and j=3 in the parent generation P1, select two rectangular areas u=9 and v=8 in the parent generation P2, replace the rectangular areas i=7 and j=3 in the parent generation P1 with the rectangular areas u=9 and v=8 in the parent generation P2, and get:

[0107] d1=([5, 6], [10, 11], [9, 8, 9, 8], [4], [1, 2]);

[0108] d2=([5, 6], [4, 3], [2, 1], [7], [3], [7], [11, 10]);

[0109] At the same time, after replacing the rectangular area, the repeated rectangular area u=9, v=8 in individual d1 is replaced with i=7, j=3, and the repeated rectangular area i=3, i=7 in d2 is replaced with v=8, u=9, and the sequence of mutant individuals is obtained:

[0110] d1=([5, 6], [10, 11], [7], [3], [9, 8], [4], [1, 2]);

[0111] d2=([5, 6], [4], [8], [2, 1], [7], [3], [9], [11, 10]);

[0112] Acceptance probability = exp(-(Fitness1(mutated individual)-Fitness1(P2)) / (t / T1));

[0113] The reference probability is a value between 0 and 1;

[0114] Step 44. Merge the excellent population and the mutant population, delete duplicate individuals, and generate the next generation of optimal population P t+1 .

[0115] Step 45. Determine whether the evolutionary generation has reached the maximum value T1 of the first stage generation set. If so, proceed to the next step; otherwise, proceed to step 41 to merge the merged regions in the individuals.

[0116] After the first stage, individuals in the current population have converged to the minimum number of blocks to be merged. In order to find more merging solutions to facilitate path planning, the second stage of iteration is performed.

[0117] Step 5. In the second stage, in order to find more multi-modal merging solutions, the individuals that have converged to the minimum fitness in the first stage (i.e., population P T1 For each individual in the population), use the mutation operator second_stage_mutate to obtain a population with better diversity. For example, Figure 4 An individual is x1, x2, ..., x m , m = 11, divided into merging regions (or blocks) {b1, b2, ..., b k}, b1 has x1, x2, b2 has x3, x4, x6, b3 has x7, x8, b4 has x5, x9, b k There are x m-1 , x m The second_stage_mutate mutation operator is mainly used to perform mutation operations on blocks to obtain more possible solutions. It includes the following mutation operations:

[0118] Generate a random number z in [0, 1];

[0119] If z is less than 1 / 3, perform the first mutation operation: randomly find two blocks bi and bj in the current individual, and randomly select k genes in the blocks (k is less than the number of rectangular areas (number of genes) selected in the two blocks) for exchange.

[0120] If z is in [1 / 3, 2 / 3), perform the second mutation operation: randomly find two blocks bi and bj in the current individual, randomly select k genes from bi (k is less than the number of rectangular areas (number of genes) selected from the two blocks) and directly merge them into bj.

[0121] If z is in (2 / 3, 1], perform the third mutation operation: randomly find two non-adjacent blocks bi and bj in the current individual, and merge bi and bj.

[0122] After the mutation operator is processed, the blocks in each individual g must meet the following constraints, and the processed individuals that do not meet the constraints are deleted:

[0123] Constraint 1, rectangular constraint: All rectangular areas within the block must form a valid rectangle.

[0124] Constraint 2, forbidden merge constraint: The block cannot contain the rectangular area pairs defined in the forbidden_merge set.

[0125] Step 6. Calculate the fitness value f1 of the individuals in the population obtained in step 5 according to the fitness function Fitness1, and calculate the fitness value f2 of the population obtained in step 5 according to the fitness function Fitness2.

[0126] For the individual g1 before the processing in step 5 and the individual g2 after the processing, their respective fitness values f1 are f11 and f12 respectively. For the fitness values f2 of the population before the processing in step 5 and the population after the processing, they are f21 and f22 respectively.

[0127] If f11 < f12, then the individual g1 dominates the individual g2. If the f1 value f12 of the individual g2 is less than the individual with the maximum fitness value f1 in the population before the mutation operator processing, then select the individual g2 with a smaller f1 value to replace the individual with the maximum fitness value f1 in the population before the mutation operator processing as the individual after iteration; thereafter, the f2 value of the population becomes smaller, indicating that more individuals converge to near the minimum fitness; if the f1 value f12 of the individual g2 is greater than or equal to the individual with the maximum fitness value f1 in the population before the mutation operator processing, then retain all individuals in the population before the mutation operator processing, and thereafter the f2 value of the population remains unchanged, indicating that the number of individuals converging to near the minimum fitness remains unchanged;

[0128] If f12 < f11, then the individual g2 dominates the individual g1, and select the individual g2 with a smaller f1 value to replace the individual with the maximum fitness value f1 in the population before the mutation operator processing as the individual after iteration; thereafter, the f2 value of the population becomes smaller, indicating that more individuals converge to near the minimum fitness;

[0129] If f11 = f12, then select to use g2 to replace the individual with the maximum fitness f1 in the population before the mutation operator processing. Thereafter, the f2 value of the population becomes smaller or remains unchanged, indicating that the number of individuals converging to near the minimum fitness becomes more or remains unchanged;

[0130] Among them, where N2 is the population size after each iteration in the second stage, g k is the kth individual, and the population size after each iteration in the second stage is the same.

[0131] Step 7. Determine whether the number of generations of evolution has reached the set number of generations T2 in the second stage. If it reaches the maximum value, proceed to the next step; otherwise, go to step 5;

[0132] Step 8. Output all individuals that converge to the minimum fitness value f1 as the final multiple rectangle merging schemes, as Figures 5 to 10 shown.

[0133] A partition system based on multi-modal multi-objective optimization, including a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that when the processor executes the computer program, the steps of the method are implemented.

[0134] If there are 50 multimodal solutions corresponding to an optimal solution, that is, the minimum number of merged regions, and if Example 1 does not adopt steps 5 to 7, within a certain number of iterations, only 10 multimodal solutions can be found due to the influence of the elite individuals in the first stage. After adopting steps 5 to 7, as many multimodal solutions as possible can be found.

[0135] Comparative Example 1

[0136] Using the greedy algorithm in the traditional algorithm Figure 2 There are m rectangular areas in the image, including the following steps:

[0137] (1) Steps of the greedy algorithm:

[0138] ① Select a starting rectangle R from the unprocessed rectangle set.

[0139] ② Try to gradually expand the rectangular block through adjacency relationships and add adjacent rectangles to the current block.

[0140] ③ Determine whether the current rectangular block can form a complete rectangle (geometric constraint).

[0141] ④ If the geometric constraints are met, the current block is added to the final solution; otherwise, return to the previous step and try other expansion methods.

[0142] ⑤ If the geometric constraints are met, remove the merged rectangle from the unprocessed rectangle set. Repeat the above process until all rectangles are processed.

[0143] Disadvantages: The greedy strategy may cause the algorithm to fall into a local optimum, and it is impossible to ensure the minimum number of blocks in the end. And it is impossible to give a multi-modal solution within a limited time.

[0144] Comparative Example 2

[0145] Using dynamic programming in traditional algorithms Figure 2 There are m rectangular areas in the image, including the following steps:

[0146] ①Define the state variable: dp[S] represents the minimum number of blocks in the current state S (rectangular subset S). State transition equation: For any non-empty state S, enumerate all possible subsets Where P represents a subset that can be merged into a valid rectangle.

[0147] Let S\P be the set of remaining rectangles after removing P, then:

[0148]

[0149] isValid(P) is used to determine whether subset P can be merged into a valid rectangle;

[0150] ②Update status transfer

[0151] initialization That is, the minimum number of partitions of the empty set is 0.

[0152] Update dp[S] in increasing order of the size of the subsets S. For each state S, consider all possible subsets P and update dp[S] according to the state transition equation.

[0153] ③Get the final result

[0154] According to the traditional algorithm, it may be impossible to calculate the multi-modal merging solution in a limited time. For Example 1, the time complexity O is G*N*m 2 , number of iterations G, population size N, number of rectangles m. The time complexity O of dynamic programming is m 3 B(m). When m is small (m<=10), the value of B(m) is still small, and the time complexity O of dynamic programming is m 3 B(m) may be lower than G*N*m of the iterative algorithm 2 When m increases, the time complexity of dynamic programming increases close to exponential level, and dynamic programming becomes ineffective.

[0155] The above partitioning method can not only be applied to concrete pouring by placing machines, but also can be used in a variety of application scenarios that require full coverage path planning algorithms, such as agricultural drone sowing path planning, airport pavement detection path planning, etc.

Claims

1. A method for intelligent partitioning of material placing machines based on multi-modal and multi-objective optimization, characterized in that: The following steps are involved: Divide the map to be divided into multiple rectangular areas without obstacles, repeat the division process to generate multiple individuals, each individual is a sequence of m rectangular areas without obstacles, each rectangular area represents a gene, and each individual is the same; An m×m matrix is ​​generated based on the m rectangular regions of each individual. Each cell in the matrix represents the adjacency relationship between two rectangular regions. The adjacency relationship between the rectangular regions is obtained to obtain the adjacency matrix. If the two rectangular regions are in a horizontal or vertical adjacency relationship, and the length of the common side of the adjacent rectangles excluding the overlapping part with the obstacle exceeds the threshold, the two rectangular regions are considered to be adjacent, and the cell is assigned a value of 1. Otherwise, they are considered to be non-adjacent, and the cell is assigned a value of 0, and the adjacency matrix of each rectangular region is obtained. The rectangular areas in the adjacency matrix are merged, and each merged area after merging is a rectangle and does not contain a rectangular area pair that is prohibited from merging. The individuals composed of the merged areas are used as parents, and the merging and iterative process is repeated according to the first genetic algorithm to obtain the maximum partitioning scheme between multiple rectangular areas; The individuals in the maximum partition scheme are used as parents to perform mutation operations, and the maximum partition scheme is expanded according to the second genetic algorithm; wherein each merged area in the mutated individuals is a rectangle and does not contain a pair of rectangular areas that are prohibited from being merged; The individual with the smallest fitness value f1 is output as the partition scheme of the map to be divided.

2. The method according to claim 1, characterized in that The method of dividing the map to be divided into a plurality of rectangular areas without obstacles comprises: generating a map to be divided consisting of a plurality of rectangular areas according to the map boundary and the position coordinates of the obstacles in the grid map, wherein there is no obstacle inside each rectangular area, the rectangular areas do not overlap with each other, and the union of all the rectangular areas and the obstacles is equal to the figure surrounded by the map boundary.

3. The method according to claim 1, characterized in that The horizontal adjacency relationship represents that: the distance between the left border of the first rectangle and the right border of the second rectangle or the distance between the right border of the first rectangle and the left border of the second rectangle is not greater than d, and the distance between the upper border of the first rectangle and the upper border of the second rectangle and the distance between the lower border of the first rectangle and the lower border of the second rectangle are not greater than d, that is: The vertical adjacency relationship represents that: the distance between the upper boundary of the first rectangle and the lower boundary of the second rectangle or the distance between the lower boundary of the first rectangle and the upper boundary of the second rectangle is not greater than d, and the distance between the left boundary of the first rectangle and the left boundary of the second rectangle and the distance between the right boundary of the first rectangle and the right boundary of the second rectangle are not greater than d, that is: Among them, (x11, y11) and (x12, y12), or (x21, y21) and (x22, y22) are the coordinates of the same diagonal points of the two rectangular areas; d is the tolerable distance error between the two rectangles, which is a manually adjusted parameter.

4. The method according to claim 1, characterized in that The merging of the rectangular areas in the adjacency matrix includes: assigning the same candidate merging label to the mutually adjacent rectangular areas according to the adjacency relationship, and forming a candidate merging area with multiple rectangular areas having the same candidate merging label; if each rectangular area in the candidate merging area satisfies the merging condition, assigning the same merging label to the rectangular areas to form a merging area; if not, deleting the candidate merging area; The merge condition consists of two constraints that must be satisfied simultaneously: Constraint 1: The candidate merge area is a rectangle; Constraint 2: The candidate merge region cannot contain a set of elements in the prohibited merge group at the same time. The prohibited merge group includes multiple sets of elements (xi, xj). Each set of elements (xi, xj) indicates that the rectangular area xi and the rectangular area xj cannot be in the same merge region. If the candidate merge region contains a pair of prohibited rectangular areas, the candidate merge region does not meet the merge condition.

5. The method according to claim 1, characterized in that The process of taking the individuals formed by the merged regions as parents and repeating the merging and iterating process according to the first genetic algorithm comprises: The fitness value f1 of each individual is calculated according to the fitness function Fitness1, where t represents the number of iterations through merging, the initial value is 0, and 0≤t≤T1, and the fitness function Fitness1(g) is defined as the number of merged regions into which the individual g is divided; After each iteration, the individuals in the current optimization population are sorted from small to large according to the fitness value, and the individuals in the top 10% of the fitness value ranking are taken as excellent individuals and put into the elite population Q; A good individual is randomly selected from the elite population Q as a parent to perform a crossover operation with the current individual of the current population Pt; the crossover operation includes: the good individual is used as the parent P1, the current individual of the current population Pt is used as the parent P2, and the crossover operation is performed to swap the rectangular area ranked as i in the parent P1 with the rectangular area ranked as u in the parent P2, and the rectangular area ranked as u in the parent P1 with the rectangular area ranked as i in the parent P2, i≠u; when swapping, the original merged labels of each rectangular area are swapped at the same time; the crossover operation is repeated at least once; and two new sequences of variant individuals are generated; Check whether the newly replaced rectangular areas in the mutant individual and the rectangular areas that have not been replaced but have the same merged label in the mutant individual meet the merging conditions. If they do, keep the merged labels of the newly replaced rectangular areas and the rectangular areas that have not been replaced but have the same merged labels, and form a merged area. If they do not meet the conditions, change the merged labels of the newly replaced rectangular areas that do not meet the merging conditions so that they do not overlap with the existing merged labels, and form an independent merged area. If the acceptance probability calculated based on the fitness of the mutant individual is greater than the reference probability, the mutant individual is retained, otherwise the mutant individual is deleted; Merge the excellent population and the mutant population to generate the next generation of optimal population P t+1 ; If the evolutionary generation reaches the set maximum value T1, the iteration ends, otherwise the merging is repeated to merge the merging regions in the individuals, and the first genetic algorithm is repeated for iteration; Acceptance probability = exp(-(Fitness1(mutated individual)-Fitness1(P2)) / (t / T1)); The reference probability is a value between 0 and 1.

6. The method according to claim 1, characterized in that The mutation operation includes the following steps: Randomly generate a number z in [0, 1]; If z is less than 1 / 3, randomly find two merging regions bi and bj in the current individual, and randomly select k rectangular regions within the merging regions for exchange; If z is in [1 / 3, 2 / 3), randomly find two merging regions bi and bj in the current individual, and randomly select k rectangular regions from bi and directly merge them into bj; If z is in (2 / 3, 1], randomly find two non-adjacent merging regions bi and bj in the current individual, and merge bi and bj; Wherein, k is less than the number of rectangular regions in the two selected merging regions.

7. The method according to claim 1, characterized in that The amplification of the maximum partitioning scheme according to the second genetic algorithm includes: Calculate the fitness values f1 of the individuals before and after mutation according to the fitness function Fitness1. The fitness value f1 of the individual before mutation is f11, and the fitness value f1 of the individual after mutation is f12; If f11 < f12, then individual g1 dominates individual g2. If the f1 value f12 of individual g2 is less than the individual with the maximum fitness value f1 in the population before the mutation operator is processed, then select the individual g2 with a smaller fitness value f1 to replace the individual with the maximum fitness value f1 in the population before the mutation operator is processed; if the f1 value f12 of individual g2 is greater than or equal to the individual with the maximum fitness value f1 in the population before the mutation operator is processed, then retain all individuals in the population before the mutation operator is processed; If f12 < f11, then individual g2 dominates individual g1, and then select the individual g2 with a smaller fitness value f1 to replace the individual with the maximum fitness value f1 in the population before the mutation operator is processed; If f11 = f12, then select to use g2 to replace the individual with the maximum fitness f1 in the population before the mutation operator is processed; Judge whether the number of generations of evolution has reached the set number of generations T2. If it reaches T2, end the iteration; otherwise, repeat the mutation operation and repeat the second genetic algorithm for iteration.

8. A partitioning system based on multi-modal multi-objective optimization, characterized in that: It includes a memory, a processor, and a computer program stored on the memory and executable on the processor. The feature is that when the processor executes the computer program, it implements the steps of any one of the methods described in claims 1 to 7.

Citation Information

Patent Citations

  • Intelligent loading method of wedge-shaped cargo compartments under multi-dimensional constraint

    CN109081126A

  • Pseudoknot-carrying nucleic acid structure prediction method based on multi-target genetic algorithm

    CN109599146A

  • Concrete spreader and concrete pouring path planning method thereof

    CN114036611A

  • Intelligent partitioning method and device for cleaning robot

    CN117474934A

  • Building plane area segmentation method

    CN117495877A