An intelligent partitioning method for concrete placing machines based on multi-modal and multi-objective optimization
Through a multi-modal and multi-objective optimization method for intelligent zoning of concrete placing booms, using genetic algorithms and mutation operations, the problems of inaccurate regional measurement and uneven pouring caused by the path planning algorithm in the existing technology when the concrete placing boom is pouring concrete are solved. This achieves fast and effective regional division and dynamic adjustment, and improves the pouring quality.
Patent Information
- Application Number
- CN202411761846.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2044-12-03
AI Technical Summary
Existing path planning algorithms cannot effectively dynamically adjust pouring spacing and avoid obstacles when placing concrete using a concrete placing boom, resulting in inaccurate regional measurement and uneven pouring. Traditional algorithms also have long calculation times and high memory consumption for large-scale problems, making it difficult to find multiple optimal solutions.
An intelligent partitioning method for fabric placing machines with multi-modal and multi-objective optimization is adopted. Through genetic algorithms and mutation operations, multiple optimal rectangular area partitioning schemes are quickly found, so that any two small rectangular areas in each subgraph can be connected to each other through edges, and the area partitioning is optimized using the adjacency matrix and merging conditions.
It can quickly find multiple optimal area division schemes in large-scale pouring maps, improve the accuracy and uniformity of pouring, reduce calculation time and memory consumption, and adapt to the dynamic adjustment of complex maps.
Smart Images

Figure CN119849287B_ABST
Abstract
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 boom based on multimodal and multi-objective optimization, which is applied to path planning for concrete placing booms, path planning for sowing by agricultural drones, and path planning for airport pavement inspections. Background Art
[0002] Currently, the production of precast concrete components both domestically and internationally typically relies on manually operated spiral concrete placing machines for concrete distribution. The placement path is completely independently planned by the workers. At the final stage of the pouring process, the construction workers use handheld hoses to move the concrete pumped into the formwork at different locations within the area to be poured. However, concrete pouring is primarily determined by on-site construction workers, who predict the pouring volume based on experience. During construction, they visually inspect the pouring volume and provide feedback to the placing machine operator on the pouring status and the next area to be poured. The placing machine operator then controls the placing machine's outlet to the corresponding area. This manual feedback system is inconsistent, and the placing machine's timing may lead to advances or lags. This operating method results in inaccurate metering and uneven pouring in different areas, as well as duplicate placing paths, which can cause concrete to overflow the formwork and lead to concrete waste.
[0003] With the continuous development of artificial intelligence and computational intelligence, automated concrete pouring will eventually replace manual pouring. Automated concrete placing machines require path planning when performing pouring tasks. However, when the pouring map has complex adjacency relationships and may contain constraints such as obstacles and unmergeable areas, existing full-coverage path planning algorithms cannot effectively adjust pour spacing and avoid irregular obstacle areas. Therefore, the quality of area division directly affects the quality of path planning. Therefore, before planning a path, it is very necessary to divide the pouring map into multiple regular areas without a large number of obstacles.
[0004] After dividing the pouring map into m rectangles, the adjacency relationships between the rectangles form an adjacency list. This adjacency list can be converted into a corresponding undirected graph. Merging the m rectangles into subregions with the minimum number of blocks is equivalent to a variant of the graph partitioning problem and the clique cover problem: the minimum connected subgraph cover 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. It is the set of all nodes in the i-th subgraph Gi;
[0007] Goal: Divide the graph into several connected subgraphs G1, G2, ..., Gk such that:
[0008] Coverage: The union of the sets of all nodes in the i-th subgraph Gi is exactly contained in V, that is;
[0009] Connectivity: In each subgraph, 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 possible ways to partition the m rectangles (nodes) into k connected subgraphs is the Bell number B(m), which is approximately: ;
[0013] The number of ways to partition m rectangles into connected subgraphs grows exponentially as m increases. Brute force is impossible. See "Garey, MR, & Johnson, DS (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness ”, “ Balanced graph partitioning "Graph partitioning and clique covering problems have been considered NP-hard problems.
[0014] Algorithms that use greedy algorithms to select the local optimal solution at each step are generally faster than brute-force searching of all possible solutions, but the quality of the solution may not be globally optimal. Dynamic programming, a method for solving a problem by breaking it down into smaller subproblems, avoids repeated computation by storing the optimal solution to each subproblem. In the minimum connected subgraph cover problem, dynamic programming can store the optimal partitioning of each subproblem. However, if the problem requires multiple optimal solutions (i.e., multimodal solutions), traditional dynamic programming must be extended to record all possible optimal paths. This typically involves adding additional storage space to record the different solutions. As the problem size increases, such as with the number of rectangles, the solution space that dynamic programming must handle also increases dramatically. This can lead to increased memory consumption and computational time, making it difficult to use dynamic programming directly. In the worst case, dynamic programming may need to store all possible partitionings, which is impractical for large-scale problems. Therefore, traditional algorithms such as dynamic programming can only produce a relatively simple map partitioning solution, which is not sufficient for human reference. Summary of the Invention
[0015] The present invention aims to design a multi-modal and multi-objective optimal partitioning method for concrete placing machines, which solves the current minimum connected subgraph coverage problem. After the map to be divided is initially divided into large-scale small rectangular areas, how to quickly find multiple optimal solutions, minimize the number of subgraphs after division, and any two small rectangular areas in each subgraph can be connected to each other through edges.
[0016] A method for intelligent partitioning of a material placing machine based on multi-modal and multi-objective optimization includes the following steps:
[0017] 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.
[0018] 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 each rectangular region is obtained to obtain the adjacency matrix. If two rectangular regions are horizontally or vertically adjacent, and the length of the common edge of the adjacent rectangles excluding the overlap with the obstacle exceeds the threshold, the two rectangular regions are considered adjacent and the cell is assigned a value of 1. Otherwise, they are considered non-adjacent and the cell is assigned a value of 0. The adjacency matrix of each rectangular region is obtained.
[0019] Merge the adjacent rectangular areas in the adjacency matrix. After merging, all merged areas are rectangular and do not contain any rectangular area pairs that are prohibited from merging. Use the individuals composed of the merged areas as parents. Repeat the merging and iterative process according to the first genetic algorithm to obtain the maximum partitioning solution between multiple rectangular areas.
[0020] The individuals in the maximum partition scheme are used as parents, and mutation operations are performed to expand the maximum partition scheme according to the second genetic algorithm; wherein each merged region in the mutated individuals is a rectangle and does not contain pairs of rectangular regions that are prohibited from being merged;
[0021] The individual with the smallest fitness value f1 is output as the partition scheme of the map to be divided.
[0022] 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 the obstacles is equal to the figure enclosed by the map boundary.
[0023] Furthermore, 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:
[0024] ;
[0025] The vertical adjacency relationship means 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:
[0026] ;
[0027] 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.
[0028] Furthermore, merging the adjacent rectangular regions in the adjacency matrix includes: assigning the same candidate merging label to the mutually adjacent rectangular regions according to the adjacency relationship, wherein multiple rectangular regions with the same candidate merging label form a candidate merging region; if each rectangular region in the candidate merging region satisfies a merging condition, assigning the same merging label to the rectangular regions to form a merging region; if not, deleting the candidate merging region;
[0029] The merge condition consists of two constraints that must be satisfied simultaneously:
[0030] Constraint 1: The candidate merge region is a rectangle;
[0031] Constraint 2: A candidate merge region cannot contain any elements from the prohibited merge group. The prohibited merge group consists of multiple groups of elements (xi, xj). Each group of elements (xi, xj) indicates that rectangular regions xi and xj cannot be in the same merge region. If a candidate merge region contains a pair of prohibited rectangular regions, the candidate merge region does not meet the merge condition.
[0032] Furthermore, the process of using the individuals formed by the merged regions as parents and repeating the merging and iterating process according to the first genetic algorithm includes:
[0033] 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. The fitness function Fitness1(g) is defined as the number of merged regions into which individual g is divided.
[0034] 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 selected as excellent individuals and placed in the elite population Q;
[0035] 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 i in the parent P1 with the rectangular area ranked u in the parent P2, and the rectangular area ranked u in the parent P1 with the rectangular area ranked i in the parent P2, where 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 to generate a sequence of two new mutant individuals;
[0036] Check whether the newly replaced rectangular areas in the mutant individual and the rectangular areas that have not been replaced but have the same merge label in the mutant individual meet the merging conditions. If they do, retain the merge labels of the newly replaced rectangular areas and the rectangular areas that have not been replaced but have the same merge label, and form a merged area. If not, change the merge label of the newly replaced rectangular area that does not meet the merging conditions so that it does not overlap with the existing merge label, forming an independent merged area.
[0037] 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;
[0038] Merge the excellent population and the mutant population to generate the next generation optimal population P t+1 ;
[0039] 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;
[0040] Acceptance probability = exp(-(Fitness1(mutated individual) - Fitness1(P2)) / (t / T1));
[0041] The reference probability is a value between 0 and 1.
[0042] Furthermore, the mutation operation includes the following steps:
[0043] Generate a random number z in [0, 1];
[0044] 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;
[0045] 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;
[0046] 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;
[0047] Where k is less than the number of rectangular regions in the two selected merging regions.
[0048] Furthermore, the amplification of the maximum partition scheme according to the second genetic algorithm includes:
[0049] 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;
[0050] If f11 < f12, then individual g1 dominates individual g2. If the f1 value f of individual g2 is less than the maximum fitness value f1 in the population before the mutation operator is processed, then select the individual g2 with a smaller f1 value to replace the individual with the largest f1 value in the population before the mutation operator is processed; if the f1 value f12 of individual g2 is greater than or equal to 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;
[0051] If f12 < f11, then individual g2 dominates individual g1, and select the individual g2 with a smaller f1 value to replace the individual with the largest f1 value in the population before the mutation operator is processed;
[0052] If f11 = f12, then select g2 to replace the individual with the largest f1 fitness in the population before the mutation operator is processed;
[0053] Judge whether the number of generations of evolution reaches the set number T2. If it reaches T2, end the iteration; otherwise, repeat the mutation operation and repeat the second genetic algorithm for iteration.
[0054] 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. The processor implements the steps of the method when executing the computer program. Description of the Drawings
[0055] Figure 1 A schematic diagram of the common edges of adjacent rectangular areas;
[0056] Figure 2 is the original map data;
[0057] Figure 3 A schematic diagram showing the dividing lines of the original map data based on the obstacle information and boundary information of the grid data;
[0058] Figure 4 A schematic diagram of dividing the original map data into rectangular areas based on the obstacle information and boundary information of the grid data;
[0059] Figure 5 This is the merging scheme 1 in the watering map partitioning scheme;
[0060] Figure 6 This is the merging scheme 2 in the watering map partitioning scheme;
[0061] Figure 7 Merge scheme 3 in the watering map partitioning scheme;
[0062] Figure 8 Merge scheme 4 in the watering map partitioning scheme;
[0063] Figure 9 It is the merging scheme 5 in the watering map partitioning scheme;
[0064] Figure 10 This is the merging scheme 6 in the watering map partitioning scheme. DETAILED DESCRIPTION
[0065] 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 should not be understood as a limitation on the scope of protection of the present invention.
[0066] In the description of the present invention, "several" means one or more, "many" means more than two, "greater than," "less than," and "exceed" are understood to exclude the number itself, while "above," "below," and "within" are understood to include the number itself. The use of "first" and "second" in the description is solely for the purpose of distinguishing technical features and should not be construed as indicating or implying relative importance, implicitly specifying the number of the indicated technical features, or implicitly specifying the order of the indicated technical features.
[0067] Example 1
[0068] A multi-modal and multi-objective optimization-based intelligent partitioning method for concrete placing booms is applied to path planning for concrete placing booms, including:
[0069] Step 1. According to the grid data Figure 2 Given the obstacle information and 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.
[0070] Step 2. Generate an m×m matrix based on the m rectangular regions of each individual, where 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 two rectangular areas are in a horizontal or vertical adjacency relationship, and there is no common obstacle exceeding the obstacle_percentage threshold between the adjacent rectangles, then the two rectangular areas are considered adjacent and the cell is assigned A. ij =1, otherwise it is considered 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;
[0071] The adjacency relationship between the rectangular areas is obtained in the following way:
[0072] 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).
[0073] When the following adjacency constraints are met, the two rectangles are said to be adjacent;
[0074] Condition 1: The two rectangles are adjacent in the horizontal or vertical direction:
[0075] Horizontal adjacency: If the distance between the left edge of the first rectangle and the right edge of the second rectangle, or the distance between the right edge of the first rectangle and the left edge of the second rectangle, is not greater than d, and the distance between the upper edge of the first rectangle and the upper edge of the second rectangle, and the distance between the lower edge of the first rectangle and the lower edge of the second rectangle, is not greater than d, then the first rectangle and the second rectangle are horizontally adjacent.
[0076]
[0077] or
[0078] 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 vertically adjacent.
[0079]
[0080] d is the tolerable error in the distance between the two rectangles, which is a parameter adjusted manually;
[0081] Condition 2: The common edges of adjacent rectangles cannot have obstacles exceeding the obstacle_percentage threshold. The obstacle_percentage is the ratio parameter of obstacles on the common edge, which can be manually adjusted. Figure 1 For example, let's say the common edge length L is y22--y21. Based on the obstacle information in the grid data, we know that the obstacle length percentage of the common edge y22--y21 is k. If (1-k)L exceeds obstacle_percentage, the two rectangles are considered adjacent. During the cement pouring process, the concrete placing machine follows an arc-shaped path trajectory. The concrete placing machine pours one block before the next, based on the divided sub-areas. The cement spreads out along the pouring path, so there is a certain distance between paths and between paths and obstacles. Setting the obstacle_percentage threshold prevents excessive obstacles connecting two rectangular areas, making it impossible to traverse the planned path.
[0082] 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).
[0083] 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.
[0084] 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 times a certain number of the best individuals in each generation are directly copied 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 the rectangular areas in each sequence cover the casting area map, and each rectangular area can represent a gene.
[0085] N and m are related to the rectangular merging solution to be solved. If the pouring map is divided into 11 individual rectangular areas, the merging solution is m=11 and N=100. T is set to 50. Depending on the difference in m and M, the algorithm parameters can also be slightly adjusted.
[0086] Step 4. In the first stage, focus on finding a solution with the least number of merged blocks. This includes the following steps:
[0087] Step 41. During each iteration, the adjacency matrix A generated by the sequence of each individual in the previous generation of the optimization population is obtained according to the method for obtaining the adjacency relationship between the rectangular areas in step 2. According to the adjacency relationship in the adjacency matrix A, the mutually adjacent rectangular areas are assigned the same candidate merging label. Multiple rectangular areas with the same candidate merging label form a candidate merging area. It is determined whether each rectangular area in the candidate merging area meets the merging condition. If so, the rectangular areas in each individual that meet the merging condition are assigned the same merging label to form a merging area, and the current generation of the optimization population is obtained. If not, the candidate merging 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.
[0088] Where t represents the number of iterations, the initial value is 0, and 0≤t≤T1;
[0089] The adjacency matrix A is an m×m matrix. The unit 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, then 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 =0, it means that the rectangular area xi and the rectangular area xj cannot be placed in the same merged area.
[0090] The merge condition consists of two constraints that must be satisfied simultaneously:
[0091] Constraint 1: The candidate merge region is a rectangle;
[0092] Constraint 2: A candidate merge region cannot simultaneously contain elements from the forbidden merge set. The forbidden merge set consists of multiple sets of elements (xi, xj), where each set (xi, xj) indicates that rectangular regions xi and xj cannot be in the same merge region. If a candidate merge region contains a forbidden merge pair of rectangular regions, the candidate merge region does not meet the merge condition.
[0093] 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).
[0094] Step 42. After each iteration, sort the individuals in the current optimization population from small to large according to their fitness values, and take the individuals in the top 10% of the fitness values as excellent individuals and put them into the elite population Q.
[0095] Step 43. Randomly select an excellent individual from the elite population Q as the parent to perform a crossover operation with the current individual of the current population Pt.
[0096] Specifically, the excellent individual is used as the parent P1, and all current individuals in the current population Pt are used as the parent P2. A crossover operation is performed to swap the rectangular area ranked i in the parent P1 with the rectangular area ranked u in the parent P2, and the rectangular area ranked u in the parent P1 with the rectangular area ranked i in the parent P2; when swapping, the original merged labels of each rectangular area are swapped at the same time; the crossover operation is repeated at least once to generate two new sequences of mutant individuals;
[0097] After mutation, the merge labels of each rectangular area in the mutant individual are rearranged relative to their parent generation. The newly replaced rectangular areas in the mutant individual and the rectangular areas that have not been replaced but have the same merge labels in the mutant individual are checked to see whether they meet the merging conditions. If they do, the merge labels of the newly replaced rectangular areas and the rectangular areas that have not been replaced but have the same merge labels are retained and form a merged area. If they do not meet the conditions, the merge labels of the newly replaced rectangular areas that do not meet the merging conditions are changed so that they do not overlap with the existing merge labels, forming an independent merged area.
[0098] 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.
[0099] A specific example is as follows: Assume P1=([5, 6], [10, 11], [9, 8, 7], [3, 4], [1, 2]);
[0100] P2=([5, 6], [4, 3], [2, 1], [9, 8, 7], [11, 10]);
[0101] [] indicates the same merge tag;
[0102] 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:
[0103] d1=([5, 6], [10, 11], [9, 8, 9, 8], [4], [1, 2]);
[0104] d2=([5, 6], [4, 3], [2, 1], [7], [3], [7], [11, 10]);
[0105] 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:
[0106] d1=([5, 6], [10, 11], [7], [3], [9, 8], [4], [1, 2]);
[0107] d2=([5, 6], [4], [8], [2, 1], [7], [3], [9], [11, 10]);
[0108] Acceptance probability = exp(-(Fitness1(mutated individual) - Fitness1(P2)) / (t / T1));
[0109] The reference probability is a value between 0 and 1;
[0110] Step 44. Merge the excellent population and the mutant population, delete duplicate individuals, and generate the next generation of optimal population P t+1 .
[0111] Step 45. Determine whether the evolutionary generation has reached the set maximum value T1 of the first stage generation. If so, proceed to the next step; otherwise, proceed to step 41 to merge the merged regions in the individuals.
[0112] After the first phase, individuals in the current population have converged to the minimum number of blocks required for merging. In order to find more merging solutions to facilitate path planning, the second phase of iteration is performed.
[0113] Step 5. In the second stage, in order to find more multimodal 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 more diverse population. For example, Figure 4 An individual is x1, x2, ..., x m , m=11, is 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 is 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:
[0114] Generate a random number z in [0, 1];
[0115] 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) in the two blocks) for exchange.
[0116] 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) in the two blocks) and directly merge them into bj.
[0117] 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.
[0118] 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:
[0119] Constraint 1, rectangular constraint: All rectangular areas within the block must form a valid rectangle.
[0120] Constraint 2, no merge constraint: The block cannot contain the rectangular area pairs defined in the forbid_merge set.
[0121] Step 6. Calculate the fitness value f1 for each individual 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.
[0122] 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 and after the processing in Step 5, they are f21 and f22 respectively.
[0123] 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 f1 value 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 f1 value 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 f1 value 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;
[0124] 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 f1 value 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;
[0125] If f11 = f12, then select to replace the individual with the maximum f1 fitness in the population before the mutation operator processing with g2. 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;
[0126] 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.
[0127] Step 7. Judge 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, go to the next step; otherwise, go to Step 5;
[0128] 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.
[0129] A partitioning system based on multimodal multi-objective optimization includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method when executing the computer program. If there are 50 multimodal solutions corresponding to an optimal solution, i.e., the minimum number of merged regions, and if Example 1 does not employ steps 5-7, only 10 multimodal solutions can be found within a certain number of iterations due to the influence of the elite individuals in the first stage, employing these steps can maximize the number of multimodal solutions.
[0130] Comparative Example 1
[0131] Using the greedy algorithm in the traditional algorithm Figure 4 The m rectangular areas in the figure include the following steps:
[0132] (1) Steps of the greedy algorithm:
[0133] ① Select a starting rectangle R from the set of unprocessed rectangles.
[0134] ② Try to gradually expand the rectangular block through adjacency relationships and add adjacent rectangles to the current block.
[0135] ③ Determine whether the current rectangular block can form a complete rectangle (geometric constraint).
[0136] ④ If the geometric constraints are met, the current block is added to the final solution; otherwise, it goes back to the previous step and tries other expansion methods.
[0137] ⑤ If the geometric constraints are met, remove the merged rectangle from the set of unprocessed rectangles. Repeat the above process until all rectangles are processed.
[0138] Disadvantages: Greedy strategies may cause the algorithm to fall into a local optimum, and cannot guarantee the minimum number of blocks in the end. It also cannot provide a multi-modal solution within a limited time.
[0139] Comparative Example 2
[0140] Using dynamic programming in traditional algorithms Figure 4 The m rectangular areas in the figure include the following steps:
[0141] ①Define status
[0142] State variable: dp[S] represents the minimum number of blocks in the current state S (rectangular subset S).
[0143] State transition equation: For any non-empty state S, enumerate all possible subsets P⊆S, where P represents a subset that can be merged into a valid rectangle. Let S∖P be the set of remaining rectangles after removing P, then: ;
[0144] isValid(P) is used to determine whether the subset P can be merged into a valid rectangle;
[0145] ②Update status transfer
[0146] Initialize dp[∅] = 0, that is, the minimum number of partitions of the empty set is 0.
[0147] Update dp[S] in increasing order of the size of the subset S. For each state S, consider all possible subsets P and update dp[S] according to the state transition equation.
[0148] ③Get the final result
[0149] 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 of dynamic programming is O for m 3 ⋅B(m) may be lower than G* N * m of the iterative algorithm 2 As m increases, the time complexity of dynamic programming approaches exponential growth, and dynamic programming becomes ineffective. The above partitioning method can be applied not only to concrete pouring by a concrete placing machine, but also to a variety of application scenarios that require a comprehensive path planning algorithm, such as agricultural drone seeding path planning and airport pavement inspection path planning.
Claims
1. A method for intelligent partitioning of material distribution 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 each rectangular region is obtained to obtain the adjacency matrix. If two rectangular regions are horizontally or vertically adjacent, and the length of the common edge of the adjacent rectangles excluding the overlap with the obstacle exceeds the threshold, the two rectangular regions are considered adjacent and the cell is assigned a value of 1. Otherwise, they are considered non-adjacent and the cell is assigned a value of 0. The adjacency matrix of each rectangular region is obtained. Merge the adjacent rectangular areas in the adjacency matrix. After merging, all merged areas are rectangular and do not contain any rectangular area pairs that are prohibited from merging. Use the individuals composed of the merged areas as parents. Repeat the merging and iterative process according to the first genetic algorithm to obtain the maximum partitioning solution between multiple rectangular areas. The individuals in the maximum partition scheme are used as parents, and mutation operations are performed to expand the maximum partition scheme according to the second genetic algorithm; wherein each merged region in the mutated individuals is a rectangle and does not contain pairs of rectangular regions 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 dividing of the map to be divided into a plurality of 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, 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 a figure enclosed by the map boundary.
3. The method according to claim 1, characterized in that The horizontal adjacency relationship means 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: ; The vertical adjacency relationship means 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, wherein Merging the adjacent rectangular regions in the adjacency matrix includes: assigning the same candidate merging label to the mutually adjacent rectangular regions according to the adjacency relationship, forming a candidate merging region with multiple rectangular regions having the same candidate merging label; if each rectangular region in the candidate merging region satisfies a merging condition, assigning the same merging label to the rectangular regions to form a merging region; if not, deleting the candidate merging region; The merge condition consists of two constraints that must be satisfied simultaneously: Constraint 1: The candidate merge region is a rectangle; Constraint 2: A candidate merge region cannot contain any elements from the prohibited merge group. The prohibited merge group consists of multiple groups of elements (xi, xj). Each group of elements (xi, xj) indicates that rectangular regions xi and xj cannot be in the same merge region. If a candidate merge region contains a pair of prohibited rectangular regions, the candidate merge region does not meet the merge condition.
5. The method according to claim 1, wherein The process of using individuals formed by merging regions as parents and repeating the merging and iterating process according to the first genetic algorithm includes: 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. The fitness function Fitness1(g) is defined as the number of merged regions into which 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 selected as excellent individuals and placed in 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 i in the parent P1 with the rectangular area ranked u in the parent P2, and the rectangular area ranked u in the parent P1 with the rectangular area ranked i in the parent P2, where 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 to generate a sequence of two new mutant individuals; Check whether the newly replaced rectangular areas in the mutant individual and the rectangular areas that have not been replaced but have the same merge label in the mutant individual meet the merging conditions. If they do, retain the merge labels of the newly replaced rectangular areas and the rectangular areas that have not been replaced but have the same merge label, and form a merged area. If not, change the merge label of the newly replaced rectangular area that does not meet the merging conditions so that it does not overlap with the existing merge label, forming 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 optimal population Pt+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, wherein 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 swapping; 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 to directly merge 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; where 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 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; If f11 < f12, then individual g1 dominates individual g2. If the f1 value f12 of individual g2 is less than the maximum fitness value f1 in the population before the mutation operator is processed, then select the individual g2 with a smaller f1 value to replace the individual with the maximum f1 value in the population before the mutation operator is processed; if the f1 value f12 of individual g2 is greater than or equal to 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 select the individual g2 with a smaller f1 value to replace the individual with the maximum f1 value in the population before the mutation operator is processed; If f11 = f12, then select to replace the individual with the maximum f1 fitness in the population before the mutation operator with g2; 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 multimodal 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