Building component collision adjustment multi-objective optimization method, system, equipment and medium

By constructing a spatial relationship network and multi-objective optimization model of building components, and using the NSGA-II algorithm to generate optimization and adjustment strategies, the problem of low efficiency of existing BIM software in collision detection and adjustment of building components is solved, and more efficient design coordination and engineering cost control are achieved.

CN119989476APending Publication Date: 2025-05-13STATE GRID BEIJING ELECTRIC POWER CO +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510070330.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-16
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

Existing Building Information Modeling (BIM) software is inefficient in collision detection and adjustment of building components, and it is difficult to comprehensively consider the moving distance, cost and other multi-target factors of the changed components, resulting in low design coordination efficiency and high engineering time cost.

Method used

The multi-objective optimization method of building components collision adjustment is adopted. By obtaining the influence, connection and collision relationship of components, a spatial relationship network is built, a multi-objective optimization model is established, and an optimized collision adjustment strategy is generated using the NSGA-II algorithm.

Benefits of technology

It improves the efficiency of collision adjustment of building components, can more effectively balance the number of components, moving distance and cost, reduce the frequency of iterative changes, and saves project time and costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119989476A_ABST
    Figure CN119989476A_ABST
Patent Text Reader

Abstract

The invention discloses a building component collision adjustment multi-objective optimization method, system and device and a medium, and belongs to the technical field of building design, and the method comprises the steps: obtaining a component influence relation list, a component connection relation list and a collision relation list in a building, building a component space relation network based on the component influence relation list, the component connection relation list and the collision relation list; building a building component collision adjustment multi-objective optimization model based on the building component space relation network; and solving the building component collision adjustment multi-objective optimization model to obtain a building component collision adjustment strategy. Compared with the prior art, the building component collision adjustment multi-objective optimization method not only considers the number of the minimized change components, but also introduces the movement distance of the change components as the optimization objective, so that the collision adjustment strategy better meets the actual engineering requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of building design, and in particular relates to a multi-objective optimization method, system, equipment and medium for collision adjustment of building components. Background Art

[0002] As buildings become increasingly versatile, the complexity of architectural design continues to grow, involving multidisciplinary collaboration across architecture, structure, mechanical, electrical, and plumbing (MEP) systems. The integration of models from various disciplines and the adjustment of collisions between them become crucial during the design process. Traditional Building Information Modeling (BIM) software provides automatic collision detection capabilities, capable of identifying design conflicts between different disciplines. However, existing BIM collision detection technologies are mostly single-objective optimization technologies, typically focusing only on changes in the number of components. They struggle to comprehensively consider the movement distance, cost, and other multi-objective factors associated with the changed components, leading to limitations in their practical engineering applications.

[0003] Currently, common collision detection and adjustment methods mainly rely on manual experience and have the following problems: 1. Low adjustment efficiency: Although existing BIM software collision detection algorithms can identify collision points, they lack support for collision adjustment strategies. Manual resolution of collisions based on experience is often required, which is inefficient and prone to secondary collisions after adjustments.

[0004] 2. Limited to single-objective optimization: Existing research mostly focuses on single-objective optimization, i.e., minimizing the number of components to be changed, while ignoring factors such as the moving distance and cost of the changed components, and cannot effectively balance the trade-offs between different optimization objectives.

[0005] 3. Frequent iterative changes: Because the spatial relationships and constraints of building components are not considered during the collision adjustment process, adjustments between components may cause new collisions, leading to multiple design iterations, increasing project time and costs. Summary of the Invention

[0006] The purpose of the present invention is to provide a multi-objective optimization method, system, equipment and medium for building component collision adjustment, so as to solve the technical problem of low efficiency of building component collision adjustment.

[0007] In order to achieve the above object, the present invention adopts the following technical solutions: In a first aspect, the present invention provides a multi-objective optimization method for building component collision adjustment, comprising: Obtaining a component impact relationship list, a component connection relationship list, and a collision relationship list in the building, and building a component spatial relationship network based on the component impact relationship list, the component connection relationship list, and the collision relationship list; Constructing a multi-objective optimization model for building component collision adjustment based on the spatial relationship network of building components; Solve the multi-objective optimization model of building component collision adjustment and obtain the building component collision adjustment strategy.

[0008] Furthermore, the multi-objective optimization model for building component collision adjustment based on the building component spatial relationship network includes: Import the component impact relationship list, component connection relationship list and collision relationship list into the Neo4j graph database to generate the building component spatial relationship network.

[0009] Furthermore, the objective function of the multi-objective optimization model for building component collision adjustment is:

[0010] Among them, Ni is whether component i is moved, 1 means moved, 0 means not moved, n is the number of collision components; Di is the moving distance of component i.

[0011] Furthermore, the collision adjustment strategy of the multi-objective optimization model for building component collision adjustment is obtained through the following steps: Generate collision adjustment strategy according to the following formula;

[0012] Where, i = 0, 1, … … , n; j = 0, 1; k = 0, 1, … … , 6; l = 0, 1,……,6; S i : The i-th collision movement strategy; D jk : The movement strategy of the jth component in the kth direction; D jl :jth component l A strategy for moving in opposite directions; When multiple collisions occur on the same component and the strategies have the same moving direction, the moving distances required to resolve the collisions in that direction are compared, and the strategy with the largest moving distance is selected as the movement strategy for the component. When multiple collisions occur with the same component and the strategies move in different directions, the movement distances used to resolve the two collisions in the direction selected by the earlier strategy are compared. If the earlier strategy distance is larger, only the earlier strategy is retained; if the earlier strategy distance is smaller, the earlier strategy remains unchanged and the new strategy is retained.

[0013] Furthermore, solving the multi-objective optimization model for building component collision adjustment includes the following steps: S1, initialize the population; S2. Determine whether it is the first generation subgroup: If yes: assign a value of 2 to the number; and execute step S3; If not, calculate the value of the fitness function of each individual, perform non-dominated stratification on all individuals according to the value of the fitness function, and then generate a subpopulation through selection, crossover, and mutation; re-determine whether it is the first-generation subpopulation; S3, merge the parent and offspring populations into a new population; S4. Determine whether to generate a new parent population: If yes: go to step S5; otherwise, go to step S7; S5. Select, cross over, and mutate to generate offspring population; S6. Determine whether the algebra is less than the maximum algebra: If yes, the process ends; otherwise, the algebraic value is increased by 1 and the process jumps to step S3; S7. Calculate the objective function, perform fast non-dominated sorting, calculate the congestion degree, generate a new parent population, and jump to step S4.

[0014] Furthermore, in step S2, the number of components to be changed and the moving distance of the components to be changed are set as the fitness function of the population.

[0015] Furthermore, all individuals are non-dominated and stratified according to the value of the fitness function, including: SA1. Calculate n(i) and s(i) for each individual; the number of individuals in the population that can dominate solution i is recorded as n(i); s(i) represents the set of solutions dominated by solution i; SA2, compare individual p with all individuals in population P. If individual p is better than all other individuals q in the population, remove individual p from population P. SA3. If individual p is dominated by an individual in P, it means that p is a non-dominated solution and is placed in the first non-dominated layer. All individual layer numbers are marked as irank = 1. After clearing all individuals in the first layer, repeat the above operation to obtain the second non-dominated layer. SA4. Repeat steps SA1-SA3 to ensure that all individuals in the entire population have their own levels.

[0016] In a second aspect, the present invention provides a multi-objective optimization system for building component collision adjustment, comprising: An acquisition module is used to acquire a component influence relationship list, a component connection relationship list, and a collision relationship list in the building, and to build a component spatial relationship network based on the component influence relationship list, the component connection relationship list, and the collision relationship list; An optimization model construction module is used to construct a multi-objective optimization model for building component collision adjustment based on the spatial relationship network of building components; The solution module is used to solve the multi-objective optimization model of building component collision adjustment and obtain the building component collision adjustment strategy.

[0017] In a third aspect, the present invention provides an electronic device, comprising: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor. The instructions are executed by the at least one processor to enable the at least one processor to perform the multi-objective optimization method for collision adjustment of building components as described in any one of the first aspects of the present invention.

[0018] In a fourth aspect, the present invention provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the multi-objective optimization method for collision adjustment of building components according to any one of the first aspects of the present invention.

[0019] Compared with the prior art, the present invention has at least the following beneficial technical effects: 1) Multi-objective optimization: Compared with existing technologies, the multi-objective optimization method for building component collision adjustment proposed in this paper not only considers minimizing the number of changed components, but also introduces the movement distance of the changed components as an optimization objective, making the collision adjustment strategy more in line with actual engineering needs.

[0020] 2) Automated adjustment strategy generation: Based on the mutual influence of the movement of building components during collision resolution, we designed three types of spatial relationship query algorithms and constructed a building component spatial relationship network. By constructing this spatial relationship network, we used the NSGA-II algorithm to automatically generate optimized collision adjustment strategies, reducing the workload of designers and improving design coordination efficiency.

[0021] 3) Reduce iterative changes: This invention avoids new collision problems caused by a single adjustment in the traditional collision adjustment process by analyzing the spatial relationship and constraints between components, thereby reducing the frequency of iterative changes and saving engineering time and costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 To generate a network flow chart of the spatial relationship between building components; Figure 2 It is a schematic diagram of components moving in the same direction; Figure 3 Schematic diagram of component movement in different directions; Figure 4 Optimize the flow chart for collision adjustment strategy; Figure 5 A schematic diagram of chromosome coding; Figure 6 It is a schematic diagram of the non-dominated layer; Figure 7Schematic diagram of individual crowding distance; Figure 8 Schematic diagram of genetic operations; Figure 9 A structural block diagram of a multi-objective optimization system for building component collision adjustment provided by an embodiment of the present invention; Figure 10 A block diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0023] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.

[0024] It should be noted that the terms "first," "second," and the like in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or precedence. It should be understood that the numbers used in this manner are interchangeable where appropriate so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to these processes, methods, products, or apparatus.

[0025] The present invention provides a multi-objective optimization method for building component collision adjustment. First, based on the mutual influence of building component movement during collision resolution, a query algorithm for three types of spatial relationships (collision relationships, connection relationships, and influence relationships) is designed. This algorithm then constructs a building component spatial relationship network, which can rapidly query component information and the surrounding spatial environment. Secondly, two optimization objectives are identified: minimizing the number of altered components and minimizing the distances moved by altered components. The constraints of the movement rules and priority rules followed in collision resolution are analyzed, and a dual-objective building component collision adjustment optimization model is established. A collision adjustment optimization algorithm is designed, and the NSGA-II algorithm is used to generate a collision adjustment strategy. Finally, the optimization algorithm is used for programming, data input, and calculations to obtain an optimized collision adjustment strategy.

[0026] The present invention is described in further detail below with reference to the accompanying drawings: Example 1 Reference Figure 1This embodiment provides a multi-objective optimization method for building component collision adjustment, comprising the following steps: 1. Data Preparation (1) Use Revit 2018 to build a project model and export IFC files and NWC files.

[0027] (2) Obtain a list of building component impact relationships: Extract component geometric information from IFC files, such as triangular meshes, bounding box vertices, and dimensions. Generate an axisymmetric hierarchical bounding box structure for each component and store this information in the tree nodes. Traverse the structure tree for any two components and calculate the maximum and minimum distances between the bounding boxes. Based on this, use the GJK algorithm to calculate the distances between triangular faces in space, improving the accuracy of the maximum and minimum distance calculations. Finally, obtain a list of building component impact relationships.

[0028] The impact relationship is a combination of a directional relationship and a distance relationship. This means that moving one component a certain distance in a certain direction will cause it to collide with another component. This invention uses a geometric approach to query impact relationships, calculating the relationships between their faces, edges, and vertices to query the spatial relationship between two objects. The most commonly used geometric representation method is the boundary representation (B-rep).

[0029] (3) Obtain a list of connection relationships According to the predefined relationship attributes in the IFC file, the Glolab ID information of the connected components is exported to generate a list of building component connection relationships. Use the predefined relationships in IFC to find logical connections. By analyzing the "relatingelement" and "relatedelement" properties of the related element, you can obtain related component information.

[0030] In IFC files, IfcRelConnectsElements is typically used to describe the connection relationship between elements. This is a one-to-one relationship consisting of a RelatingElement and a RelatedElement. In building MEP systems, flow segments are typically not directly connected but rather through ports. Therefore, the present invention also uses IfcRelConnectsPortToElement, IfcPort, and IfcRelConnectsPorts to query connection relationships.

[0031] IfcRelConnectsPortToElement, IfcPort, and IfcRelConnectsPorts are standardized data structures used to define the connectivity relationships of building components for complex mechanical, electrical, and plumbing (MEP) systems in buildings.

[0032] **IfcRelConnectsPortToElement** defines the connection relationship between a component and a port.

[0033] **IfcPort** is used to represent the connection point of building components.

[0034] **IfcRelConnectsPorts** directly defines the connection between ports.

[0035] The advantage of using IfcRelConnectsPortToElement, IfcPort, and IfcRelConnectsPorts to query connection relationships is that they provide accurate and efficient connection representations, which can clearly and systematically display the actual connection status of components.

[0036] (4) Collision relationship information list Obtain a clash report using Naviswork 2018's clash detection feature. (Supplemental: To query clash relationships, use Navisworks 2018's automatic clash detection feature, exporting element IDs to an HTML table. Element ID information corresponds to tag information in the IFC file. This correspondence is used to find each component's geometric information and calculate distance information for clash relationships. The method for calculating distance information for clash relationships is the same as the method for calculating the maximum distance for impact relationships. The algorithm determines the distances that colliding components must move in six directions to resolve the clash.) 2. Spatial Relationship Network Analysis of Building Components Based on the three types of spatial relationships between components, a building component spatial relationship network is constructed. The exported three types of building component spatial relationship lists are imported into the Neo4j graph database, and the building component spatial relationship network is generated using the Cypher language.

[0037] Supplementary information: Neo4j is a graph database designed for relational data. Both nodes and relationships can have attributes, making it suitable for building spatial relationship network diagrams. A Neo4j database consists of three elements: nodes, relationships, and attributes. Building components serve as nodes, while relationships include collision, connection, and impact relationships. Component attributes are associated with corresponding nodes. The component's Global ID, the name of the component's IFC entity, the component's system, the component's size information, and dimension information are all saved as node attributes, and calculated distance information is saved as relationship attributes. Table 1 summarizes the attributes of the nodes and edges in the building component spatial relationship network. This study used Neo4j 4.2.4 Community Edition, using Cypher as the query language. The spatial relationship list was imported into the Neo4j database to obtain the building component spatial relationship network.

[0038] Table 1 Attributes of nodes and edges in the spatial relationship network of building components

[0039] 3. Establish a multi-objective optimization model for collision adjustment of building components. The multi-objective optimization model for collision adjustment includes objective function and collision adjustment strategy.

[0040] (1) Basic assumptions Because the design process of a construction project involves multiple disciplines and is extremely complex, there are many constraints when generating collision adjustment strategies. To ensure the rationality of model construction, this paper clarifies the common spatial movement rules that have a significant impact on the model. The following statements and assumptions are made regarding these rules: 1) Each of the n collisions resolved has Si movement strategies, where i = 0…6, i.e., a movement strategy in six directions in the world coordinate system and a movement strategy that does not make any changes; 2) A collision component can have multiple movement schemes, but it cannot have two movement schemes in opposite directions; 3) When resolving collisions between MEP systems and structures or buildings, if there is no special statement in the construction project, MEP system components should be moved first; 4) When resolving conflicts between MEP systems, unless otherwise stated in the construction project, the principle of allowing pressurized pipes to give way to unpressurized pipes and small pipes to give way to large pipes should be followed; 5) If a component has multiple collisions, all collisions will not be resolved at the same time. Instead, they will be split into individual collisions and resolution strategies will be generated for each one. 6) If the same component is moved multiple times, each time it is necessary to determine whether the previous movement strategy resolves the current collision. If not, a new movement strategy is generated.

[0041] (2) Optimization target analysis (a) Minimize the number of components that need to be changed During design coordination, the time spent resolving clashes is a concern for all parties, and this time often increases with the number and complexity of the colliding components. While the use of BIM software has greatly improved the efficiency of clash detection, the large number of clashes in complex construction projects still causes the design coordination process to take a significant amount of time. Therefore, to further accelerate the design coordination process, it is necessary to minimize the number of clashes that require modification, reduce the complexity of clashes, or improve modeling accuracy. However, the complexity and modeling accuracy of clashes are determined by the project itself, so clash optimization by minimizing the number of changes to the build can maximize efficiency, as specifically expressed by formula (3-1): (3-1) Ni: Whether component i is moved, 1 means moved, 0 means not moved, and n is the number of colliding components.

[0042] (b) Minimize the moving distance of the changed component Resolving collisions requires selecting a component as the moving component. For the same component, moving a shorter distance corresponds to lower change costs. When resolving collisions, project engineers try to avoid moving components with long moving distances. This strategy carries unnecessary risk, and if a collision occurs during movement, the gains are not worth the losses. Therefore, engineers typically abandon this movement strategy. Therefore, the present invention constructs an objective function based on minimizing the total moving distance of the collision components in the relationship network diagram, as shown in Formula (3-2).

[0043] (3-2) Di: Moving distance of component i.

[0044] (3) Objective function establishment The objective function of this model is shown in formula (3-3): N≤n(3-3-1) P i =random(0,1) (3-3-3) G i =random(0,6) (3-3-4) 0<λ<2000(3-3-7)

[0045] In formula (3-3), objective function 1 represents the minimum number of changed components, which refers to the minimum number of moving components when resolving all collisions; In formula (3-3), objective function 2 represents the minimum moving distance of the changed component, which refers to the minimum moving distance when all collisions are resolved; Formula (3-3-1) is used to express that the number of moving components N is less than the number of collisions n; In formula (3-3-2), Ci is used to indicate the resolution of the collision. If the collision has been resolved, Ci is 1, otherwise it is 0. Si is the i-th collision movement strategy. In formula (3-3-3), Pi is used to represent the randomly selected collision component that needs to be moved. If the first component is moved, it is 1, otherwise it is 0; In formula (3-3-4), Gi is used to represent the movement strategy of the randomly selected collision component. If it is 0, no movement is required; if it is 1, it moves in the XP direction; if it is 2, it moves in the XN direction; if it is 3, it moves in the YP direction; if it is 4, it moves in the YN direction; if it is 5, it moves in the ZP direction; if it is 6, it moves in the ZN direction; In formula (3-3-5), Ji is used to indicate whether there is a strategy to choose for this collision. If yes, it is recorded as 1, otherwise it is 0; In formula (3-3-6) Used to indicate the priority level of the two colliding components determined by the Type attribute; O0: the priority of the first component in the collision; O1: the priority of the second component in the collision.

[0046] Formula (3-3-7) is used to express the acceptable range of the collision resolution movement strategy. If the component movement distance exceeds 2000, the strategy will not be adopted. λ The distance the component moves.

[0047] (4) Collision adjustment strategy In this study, a corresponding collision adjustment strategy is generated for each collision, and collision resolution requires adherence to certain component movement rules. Furthermore, each time a movement strategy is determined, the distance in the opposite direction of the selected direction must be marked to prevent the component from moving back and generating an invalid strategy. Strategy generation can be obtained using Equation (3-4): (3-4) i = 0, 1, … …, n; j = 0, 1; k = 0, 1, … …, 6; l = 0, 1, … … , 6; S i : The i-th collision movement strategy; D jk : The movement strategy of the jth component in the kth direction; D jl :jth componentl A strategy of moving in opposite directions.

[0048] After obtaining a strategy, it also means that the collision edge is removed from the network graph. When , it means that all collisions have been resolved. Whether the collision is resolved can be obtained by formula (3-5): (3-5) C i : The i-th collision resolution situation, 0 means resolved, 1 means unresolved.

[0049] In addition, since multiple collisions may occur with the same component, when moving a component that has already been moved, the newly generated strategy needs to be compared with the previous strategy.

[0050] If the two strategies move in the same direction, then compare the moving distances required to resolve the two collisions in that direction, e.g. Figure 2 shown.

[0051] The movement strategy for the component with the larger movement distance is selected because in practice, the larger movement distance has already resolved both collisions. The movement strategy can be calculated using formula (3-6).

[0052] (3-6) ND jk : The movement strategy of the current component j in the kth direction; PD jk : The previous movement strategy of component j in the kth direction.

[0053] If the two strategies move in different directions, the distances moved to resolve the two collisions in the direction chosen by the earlier strategy are compared, e.g. Figure 3 shown.

[0054] If the earlier strategy's distance is large, it indicates that the earlier strategy has already resolved both collisions. If the earlier strategy's distance is small, the earlier strategy remains unchanged, and the new strategy is retained. Because the earlier strategy did not resolve the current collision, and the new strategy is a secondary component movement strategy, the two strategies are not in conflict in practice. The movement strategy can be calculated using Formula (3-7).

[0055] (3-7) ND jl : The current component j l Movement strategy in each direction; PD jl : In the past, component j was l Movement strategy in each direction.

[0056] Based on literature research and field research, we analyzed the clash resolution process used by design coordinators and found that the selection of mobile components is determined by the priority of different component types. The order of priority among the various systems is shown in Table 2. In the method proposed in this study, this system priority ranking is used as the default, but users can also change the ranking according to their project characteristics.

[0057] Table 2 System priority order

[0058] After determining the priority order through the Type attribute in the IFC file, the priority levels of the components are compared to determine which component should be moved to resolve the collision. This avoids the occurrence of strategies that violate the priority rules. The strategies in the strategy set are updated using formula (3-8): (3-8) O0: The priority of the first component in the collision; O1: The priority of the second component in the collision.

[0059] 4. Optimization Algorithm Design (1) Algorithm selection Currently, coordinators rely on their own experience to determine each clash adjustment strategy in isolation. This makes it difficult to select the optimal component adjustment strategy from a variety of adjustment strategies at once, and they may easily choose an adjustment strategy based on directional thinking. The NSGA-II algorithm can effectively handle multi-objective optimization problems, gradually improving component adjustment strategies through multiple iterations. It also has high computational efficiency and can effectively optimize clash adjustment strategies. Therefore, the present invention uses the NSGA-II algorithm to solve a BIM-based multi-objective optimization model for building component clash adjustment.

[0060] (2) Algorithm mechanism Calculation process as Figure 4 As shown, the following steps are included: S1. Initialize the population S2. Determine whether it is the first generation subgroup: If yes: assign a value of 2 to the number; and execute step S3; If not, calculate the fitness value of each individual, perform non-dominated sorting on all individuals according to the fitness value, and then generate the offspring population through selection, crossover, and mutation methods; re-determine whether it is the first generation subpopulation; S3, merge the parent and offspring populations into a new population; S4. Determine whether to generate a new parent population: If yes: go to step S5; otherwise, go to step S7; S5. Select, cross over, and mutate to generate offspring population; S6. Determine whether the algebra is less than the maximum algebra: If yes, the process ends; otherwise, the algebraic value is increased by 1 and the process jumps to step S3; S7. Calculate the objective function, perform fast non-dominated sorting, calculate the congestion degree, generate a new parent population, and jump to step S4.

[0061] (3) Design of optimization algorithm for collision adjustment of building components 1) Genetic encoding and decoding steps Encoding The present invention adopts symbolic coding. The coding in the chromosome represents whether the collision is resolved and the movement scheme of the collision component in the collision adjustment strategy. Figure 5 Each of the three codes in the chromosome represents a collision resolution strategy, which respectively represents whether the collision edge in the network graph is deleted (0 means deleted, 1 means not deleted), the component to be moved (0 means moving component 1, 1 means moving component 2), and the direction of movement (0 to 6 means no movement, XP direction, XN direction, YP direction, YN direction, ZP direction, and ZN direction, respectively). Figure 5 As shown in the figure, all three collisions have been resolved. Collision No. 1 moves the first component in the YN direction, and collision No. 2 does not move the component, indicating that it has been resolved when resolving other collisions; collision No. 3 moves the second component in the ZN direction.

[0062] Decoding process The collision resolution strategy is generated based on the character string in the chromosome code. Every three codes form a group. First, it is determined whether the collision has been resolved, then which component to move to resolve the collision is determined, and finally a random movement plan that meets the space constraints is generated; and so on, until all collisions have generated corresponding movement strategies.

[0063] Thanks to the abstract encoding strategy, decoding is relatively simple. Having previously saved the various properties of the component nodes, the code at position 3i+2 on the chromosome can be used to determine the minimum movement distance of the corresponding collision component. The movement distances of each collision component are summed to calculate the change component's movement distance. The number of changes to the component is calculated by counting the number of non-zero codes at position 3i+2 on the chromosome.

[0064] 2) Establishment of the initial population The present invention assumes an initial population size of N. First, a collision is randomly selected. Each three codes on the chromosome sequentially represent N collision adjustment scenarios, moving components, and movement directions. An equal number of chromosomes are generated based on the initially set population size. This population is the parent population Pt. A binary tournament selection operation is then performed on population Pt. Genetic operations are then performed to obtain the offspring population Qt. The two populations of size N are merged to form a new population Rt with a population size of 2N. The population n(i) is then non-dominated and stratified. The crowding distance between individuals within each stratum is calculated, and the best-performing individuals in population Rt are selected to become the new parent population Pt+1.

[0065] 3) Fitness and crowding distance function The number of changed components and the moving distance of the changed components are set as the fitness function of the population. The quality of the solution is determined by the size of the fitness function value. The smaller the fitness value, the better the solution.

[0066] 4) Offspring generation The crossover operation randomly selects two individuals from a population and pairs them. The two individuals' genomes are then interrupted at a common location, retaining a portion of the genome and swapping the remaining portions. Because the movement of a building component may resolve multiple collisions rather than a single one, the present invention modifies the crossover operation to generate a practically feasible solution.

[0067] Mutation operations are generally divided into two types: reverse mutation and swap mutation. Reverse mutation refers to selecting a gene segment in the chromosome, reversing the gene segment and then putting it back to its original position in the chromosome. Swap mutation is to select two gene segments and swap the two genes. Since the present invention adopts an abstract coding method, the coding of each position has a different meaning, and reverse mutation will lead to coding errors and cannot generate an effective offspring strategy. Swap mutation is to exchange the solution strategies of two collisions, but the movement strategies of different collisions in six directions are not necessarily feasible. Therefore, the present invention randomly selects a position as the intersection, interrupts the chromosome, extracts the information of each component when calculating to this position, and restarts the calculation from this position to obtain a new solution, such as Figure 8 As shown in the figure, since the solution strategy for each collision is generated randomly, it does not affect the convergence speed of the genetic operation to the optimal solution and maintains the diversity of the population.

[0068] Compared with the NSGA algorithm, the NSGA-II algorithm is improved in the following three aspects: 1. Non-dominated sorting (1) Non-dominated layer When performing non-dominated sorting, two parameters n(i) and s(i) are set for each individual in the population. The number of individuals in the population that can dominate solution i is recorded as n(i); s(i) represents the set of solutions dominated by solution i.

[0069] Individual p with n(i) = 0 is not dominated by any other individual in the population and can be considered the optimal solution. This solution is stored in set P1, forming the first non-dominated hierarchy. After removing all individuals from the first non-dominated hierarchy, all individuals with n(i) = 0 are in the second non-dominated hierarchy. The same method is used to assign all individuals in the population to the corresponding hierarchy.

[0070] The specific process of non-dominated stratification is as follows: 1) Calculate n(i) and s(i) for each individual; 2) Compare individual p with all individuals in population P. If individual p is better than all other individuals q in the population, remove individual p from population P. 3) If individual p is dominated by an individual in population P, it means that individual p is a non-dominated solution and is placed in the first non-dominated layer. All individual layer numbers are marked as irank = 1. After clearing all individuals in the first layer, repeat the above operation to obtain the second non-dominated layer. 4) Repeat steps 1)-3) so that all individuals in the entire population have their own level. The non-dominated hierarchy diagram is as follows Figure 6 As shown: (2) Fitness function Individuals in each layer of the population also need to be sorted. After sorting all individuals by non-dominance, the virtual fitness values ​​of individuals at each level need to be calculated and sorted. All individuals are divided into different levels based on their fitness values, and individuals at the same level do not have a mutual dominance relationship.

[0071] In the same level of dominance, individuals with smaller virtual fitness are better, and individuals with better performance are more likely to be selected to participate in subsequent genetic operations, which also speeds up the process of finding the optimal solution.

[0072] The fitness function minimizes the number of components changed as the first objective and minimizes the distance moved as the second objective. The fitness function of the population is set as the two objective functions, and the quality of the solution is determined by the size of the solution's fitness value. The smaller the value, the better the solution, and the more likely it is to be selected.

[0073] 2. Crowding distance calculation (1) Crowding distance The crowding distance can be used to compare individuals on the same level frontier. It can be expressed using formula (4-1). Where P[i]distance represents the crowding distance of i, and P[i].fm represents the function value of i on the sub-goal fm.

[0074] P[i]dis tance= (P[i +1]*f1 - P[i -1] *f1 ) + (P[i +1]* f2- P[i -1] .*f2 ) (4-1) Formula (4-2) represents the crowding distance of individual i. When there are more than one individuals on the same frontier, the crowding distance needs to be calculated.

[0075] (4-2) Where r is the number of targets.

[0076] A large crowding distance indicates that the population has good distribution and diversity. A wide distribution and a wide variety of solutions can also enrich the final Pareto solution set. Figure 7 It is a schematic diagram of individual crowding distance. f1 and f2 represent two objective functions respectively. The crowding distance of any individual i on the frontier surface is equal to the sum of the length and width of the rectangular box in the figure, that is, the sum of the corresponding objective function differences.

[0077] Individuals on the same level do not dominate each other. The crowding distance determines the priority of each individual. The density of solutions around an individual is represented by the crowding distance, with individuals with larger crowding distances having higher priorities. The frontier number irank and crowding distance d to which an individual belongs are obtained through non-dominated sorting. This is then used to define a crowding comparison operator to compare the performance of any two individuals.

[0078] (2) Crowding comparison operator The congestion comparison operator is as shown in formula (4-3): (4-3) When two individuals are at different levels, the individual with the smaller level is selected to enter the population; when two individuals are at the same level, their crowding distances need to be compared, and the individual with the larger crowding distance is preferentially selected to enter the offspring population.

[0079] 3. Elite retention strategy After the genetic operation, the population size of both the offspring population Q0 and the parent population P0 is N. The individuals from the two generations are merged to form a new population Rt. A non-dominated sort is then performed on the individuals in population Rt. The result of this first non-dominated sort is the non-dominated set P1, which contains the best-performing individuals in the entire population. Therefore, P1 is first placed in the new parent population Pi+1. At the same time, a determination is made as to whether the number of individuals in the new parent population is less than N. If so, P1 is excluded and the non-dominated sort is performed again, resulting in the non-dominated set P2. Similarly, this set is added to Pi+1 until the number of individuals in Pi+1 is greater than N when added to the i-th level non-dominated set. The crowding distances of the individuals in 1 are calculated and compared. Individuals with larger crowding distances are preferentially placed in Pi, until the number of individuals in Pi+1 reaches N.

[0080] 5. Write an algorithm to find the optimal solution set The algorithm was developed using Visual Studio 2019. Because the population size and number of iterations directly affect the computational performance of the genetic algorithm, and the component data volume involved in the example is relatively large, experimental comparisons and screening ultimately resulted in the following parameters for the proposed method: a population size of 20 and an iteration number of 50. This yielded the optimal solution set, which serves as the optimized collision adjustment strategy.

[0081] Example 2 See also Figure 9 In this embodiment, a multi-objective optimization system for building component collision adjustment is provided, including: An acquisition module is used to acquire a component influence relationship list, a component connection relationship list, and a collision relationship list in the building, and to build a component spatial relationship network based on the component influence relationship list, the component connection relationship list, and the collision relationship list; An optimization model construction module is used to construct a multi-objective optimization model for building component collision adjustment based on the spatial relationship network of building components; The solution module is used to solve the multi-objective optimization model of building component collision adjustment and obtain the building component collision adjustment strategy.

[0082] All relevant contents of each step involved in the embodiment of the aforementioned building component collision adjustment multi-objective optimization method can be referred to the functional description of the functional modules corresponding to the building component collision adjustment multi-objective optimization system in the embodiment of the present invention, and will not be repeated here.

[0083] Example 3 Reference Figure 10This embodiment provides an electronic device comprising a processor and a memory, the processor and memory being connected via a bus. The memory is used to store a computer program, which includes program instructions, and the processor is used to execute the program instructions stored in the computer storage medium. The processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. It is the computing and control core of the terminal and is suitable for implementing one or more instructions, specifically loading and executing one or more instructions from a computer storage medium to implement a corresponding method flow or function. The processor described in this embodiment of the present invention can be used to operate a multi-objective optimization method for building component collision adjustment. The bus may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For the convenience of representation, Figure 10 The fact that only one line is used does not mean that there is only one bus or one type of bus.

[0084] Example 4 This embodiment provides a storage medium, specifically a computer-readable storage medium (Memory), which is a memory device in an electronic device for storing programs and data. It is understandable that the computer-readable storage medium here can include both built-in storage media in the electronic device and, of course, extended storage media supported by the electronic device. The computer-readable storage medium provides a storage space, which stores the operating system of the terminal. In addition, one or more instructions suitable for being loaded and executed by the processor are also stored in the storage space. These instructions can be one or more computer programs (including program codes). It should be noted that the computer-readable storage medium here can be a high-speed RAM memory or a non-volatile memory (non-volatile memory), such as at least one disk memory. The processor can load and execute one or more instructions stored in the computer-readable storage medium to implement the corresponding steps of the multi-objective optimization method for building component collision adjustment in the above embodiment.

[0085] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0086] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0087] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1The function specified in one or more boxes.

[0088] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0089] Example 5 This embodiment provides a computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program product, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.

[0090] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.

[0091] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and features of different embodiments or examples without contradiction.

[0092] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit it. Although the present invention has been described in detail with reference to the above embodiments, ordinary technicians in the field should understand that the specific implementation methods of the present invention can still be modified or replaced by equivalents. Any modification or equivalent replacement that does not depart from the spirit and scope of the present invention should be covered by the scope of protection of the claims of the present invention.

Claims

1. A multi-objective optimization method for collision adjustment of building components, characterized in that: include: Obtaining a component influence relationship list, a component connection relationship list, and a collision relationship list in the building, and building a component spatial relationship network based on the component influence relationship list, the component connection relationship list, and the collision relationship list; Construct a multi-objective optimization model for collision adjustment of building components based on the spatial relationship network of building components; Solve the multi-objective optimization model of building component collision adjustment and obtain the building component collision adjustment strategy.

2. The multi-objective optimization method for building component collision adjustment according to claim 1, characterized in that: The multi-objective optimization model for building component collision adjustment based on the building component spatial relationship network comprises: Import the component impact relationship list, component connection relationship list and collision relationship list into the Neo4j graph database to generate a spatial relationship network of building components.

3. The multi-objective optimization method for collision adjustment of building components according to claim 1, characterized in that: The objective function of the multi-objective optimization model for building component collision adjustment is: Among them, Ni is whether component i is moved, 1 means moved, 0 means not moved, n is the number of collision components; Di is the moving distance of component i.

4. The multi-objective optimization method for collision adjustment of building components according to claim 1, characterized in that: The collision adjustment strategy of the multi-objective optimization model for collision adjustment of building components is obtained by the following steps: Generate collision adjustment strategy according to the following formula; Where, i = 0, 1, … … , n; j = 0, 1; k = 0, 1, … … , 6; l = 0, 1,……,6; S i : The i-th collision movement strategy; D jk : The movement strategy of the jth component in the kth direction; D jl : The jth component l A move strategy in opposite directions; When multiple collisions occur on the same component and the moving directions of multiple strategies are the same, the moving distances to resolve multiple collisions in that direction are compared, and the one with the largest moving distance is selected as the moving strategy for the component. When multiple collisions occur on the same component and the strategies move in different directions, the moving distances to resolve the two collisions in the direction selected by the earlier strategy are compared. If the earlier strategy distance is larger, only the earlier strategy is retained; if the earlier strategy distance is smaller, the earlier strategy remains unchanged and the new strategy is retained.

5. The multi-objective optimization method for collision adjustment of building components according to claim 1, characterized in that: Solving the multi-objective optimization model for building component collision adjustment includes the following steps: S1, initialize the population; S2. Determine whether it is the first-generation subgroup: If yes: assign the value of algebra to 2; and execute step S3; If not, calculate the value of the fitness function of each individual, perform non-dominated stratification on all individuals according to the value of the fitness function, and then generate a sub-population through selection, crossover, and mutation methods; re-determine whether it is the first-generation sub-population; S3, merge the parent and offspring populations into a new population; S4. Determine whether to generate a new parent population: If yes: go to step S5; otherwise, go to step S7; S5, selection, crossover, and mutation to generate offspring population; S6. Determine whether the algebra is less than the maximum algebra: If yes, the process ends; otherwise, the algebraic value is increased by 1 and the process jumps to step S3; S7, calculate the objective function, perform fast non-dominated sorting, calculate the congestion, generate a new parent population, and jump to step S4.

6. The multi-objective optimization method for collision adjustment of building components according to claim 5, characterized in that: In the step S2, the number of components to be changed and the moving distance of the components to be changed are set as the fitness function of the population.

7. The multi-objective optimization method for building component collision adjustment according to claim 5, characterized in that: The non-dominated stratification of all individuals according to the value of the fitness function includes: SA1. Calculate n(i) and s(i) for each individual; the number of individuals in the population that can dominate solution i is recorded as n(i); s(i) represents the set of solutions dominated by solution i; SA2, compare individual p with all individuals in population P. If individual p is better than all other individuals q in the population, then remove individual p from population P; SA3. If individual p is dominated by an individual of P, it means that p is a non-dominated solution and is placed in the first non-dominated layer. The hierarchical numbers of all individuals are marked as irank = 1. After clearing all individuals in the first layer, repeat the above operation to obtain the second non-dominated layer. SA4. Repeat steps SA1-SA3 to ensure that all individuals in the entire population have their own levels.

8. Building component collision adjustment multi-objective optimization system, characterized by: include: An acquisition module is used to acquire a component influence relationship list, a component connection relationship list and a collision relationship list in a building, and a spatial relationship network of building components based on the component influence relationship list, the component connection relationship list and the collision relationship list; An optimization model building module is used to build a multi-objective optimization model for collision adjustment of building components based on the spatial relationship network of building components; The solution module is used to solve the multi-objective optimization model of building component collision adjustment and obtain the building component collision adjustment strategy.

9. An electronic device, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the multi-objective optimization method for collision adjustment of building components according to any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the multi-objective optimization method for collision adjustment of building components according to any one of claims 1 to 7 is implemented.