Sonar buoy array layout optimization method based on multi-objective evolution and electronic equipment
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- DALIAN UNIV OF TECH
- Filing Date
- 2026-04-30
- Publication Date
- 2026-05-29
Smart Images

Figure CN122113329A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of underwater sensor technology, and in particular to a sonar buoy array layout optimization method, electronic equipment, and computer program product based on multi-objective evolution. Background Technology
[0002] In missions such as water quality monitoring and maritime emergency search, the layout of the sonar buoy array directly determines the detection effectiveness of the entire system. To achieve comprehensive coverage of a specific sea area, it is usually necessary to scientifically deploy multiple acoustic sonar buoys within a designated large deployment area according to mission requirements.
[0003] Currently, existing technologies for the deployment of sonar buoy arrays mainly include: First, static deployment methods based on regular geometric configurations, such as equally spaced rectangular arrays or circular arrays. These methods are simple to design and have low computational cost, but when faced with irregular requirements or variable spacing constraints, their space utilization is low, making it difficult to achieve optimal coverage. At the same time, to meet the requirement of uniform deployment, there may be a large waste of sonar buoys and difficulties in array allocation. Second, heuristic search algorithms based on individual sonar buoys, which globally optimize the coordinates of individual sonar buoys through simulated annealing, genetic algorithms, etc. Although this can improve coverage performance, in large-scale deployment areas, the search dimension will explode with the increase in the number of sonar buoys, resulting in slow algorithm convergence and difficulty in meeting the requirements of real-time modular deployment in engineering. Third, simple modular assembly deployment, which involves stacking subarrays of fixed specifications. However, this method often lacks the flexibility to design the internal structure of the subarrays and makes it difficult to balance detection accuracy and deployment cost.
[0004] Therefore, existing technologies still face the following significant challenges in practical applications: First, the lack of a flexible subarray modularization mechanism makes it impossible to automatically generate diverse candidate modules according to different detection point requirements, resulting in poor adaptability of the deployment scheme to the task; second, existing layout optimization often only focuses on maximizing coverage, ignoring the impact of the number of deployment modules on engineering complexity and hardware costs, making it difficult to achieve a balance between high performance and low cost; finally, for subarrays with complex spacing patterns, there is a lack of efficient and effective means of quantitatively evaluating the detection area, making the fitness evaluation in the optimization process inaccurate.
[0005] Therefore, how to provide a sonar buoy array layout optimization method that can achieve multi-objective balanced optimization while taking into account the diversity of subarrays and the efficiency of container deployment is a technical problem that urgently needs to be solved in the field of underwater acoustic engineering. Summary of the Invention
[0006] Therefore, it is necessary to address the lack of flexible subarray modularization mechanisms and the single-objective optimization problem in existing technologies by providing a sonar buoy array layout optimization method, electronic equipment, and computer program products based on multi-objective evolution.
[0007] This invention provides a sonar buoy array layout optimization method based on multi-objective evolution, comprising: Construct a sonar buoy subarray module library that includes multiple subarray modules; Initialize a multi-objective evolutionary population, the population comprising multiple individuals, each individual being a set of gene sequences, and each gene being a module index of a subarray module in the sonar buoy subarray module library; The optimal solution set for the multi-objective evolutionary population is solved iteratively. In each iteration, the following operations are performed: Generate the layout scheme of each individual in the population for this iteration within the deployment area; Based on the layout scheme, calculate the multi-objective fitness value of each individual; Based on the multi-objective fitness values, an evolutionary operation is performed to obtain the individuals of the next iteration population; If the termination condition is not met, proceed to the next iteration; otherwise, output the layout scheme of the optimal solution set of the population in this iteration.
[0008] Furthermore, the construction of the sonar buoy subarray module library, comprising multiple subarray modules, includes: Based on the number of target detection points, determine multiple valid row and column arrangements; For each row and column arrangement, generate all spacing combinations, each spacing being greater than or equal to 2r, where r is the detection radius of a single sonar buoy, and the spacing is the center-to-center distance between sonar buoys; A subarray module is defined by a row and column arrangement and a corresponding spacing pattern. Calculate the module information for each subarray module, which includes at least: the size of the envelope rectangle of the subarray module, the relative coordinates of the center of each sonar buoy in the subarray module, and the effective detection coverage area of the subarray module; Multiple subarray modules are combined into a sonar buoy subarray module library, and the sonar buoy subarray module library records the module index of each subarray module in the sonar buoy subarray module library, as well as the module information of each subarray module.
[0009] Furthermore, the layout scheme of each individual in the deployment area for generating this iteration population includes: For each individual in this iteration of the population, perform the following operations: Select an individual as the current individual; A two-dimensional state matrix is constructed for the deployment area, which is divided into multiple grids. The state matrix elements of the two-dimensional state matrix correspond one-to-one with the grids. The state matrix elements are used to represent whether the corresponding grid has deployed or not deployed subarray modules. Genes are selected sequentially from the current individual, and all grids in the deployment area are traversed. The grids for deployment of the subarray modules corresponding to the genes are determined until all genes are processed or the two-dimensional state matrix is traversed. The grid schemes deployed by all subarray modules of the current individual are used as the layout schemes of the current individual in the deployment area.
[0010] Furthermore, the step of sequentially selecting genes from the current individual, traversing all grids in the deployment area, determining the grid for deployment of the subarray module corresponding to the gene, until all genes have been processed or the two-dimensional state matrix has been traversed, and using the grid scheme deployed by all subarray modules of the current individual as the layout scheme of the current individual within the deployment area, includes: Read each gene in the current individual sequentially, take the currently read gene as the current gene, and perform the following operations on the current gene: Extract the subarray module corresponding to the current gene from the sonar buoy subarray module library as the current subarray module, and obtain the envelope rectangle size of the current subarray module; Select one grid at a time as the current scan grid, if the current subarray module satisfies: And satisfy If the starting coordinates of the current subarray module are not found, the starting coordinates of the current subarray module are recorded as the coordinates of the current scan grid. The state matrix elements corresponding to the grids covered by the current subarray module are set as deployed subarray modules. Otherwise, the next grid is selected as the current scan grid. This process continues until the two-dimensional state matrix has been traversed. Here, x0 is the horizontal coordinate of the current scan grid, and y0 is the vertical coordinate of the current scan grid. The width of the envelope rectangle of the current subarray module. The height of the envelope rectangle of the current subarray module. The width of the envelope rectangle of the deployment area. The height of the envelope rectangle of the deployment area. These are the state matrix elements corresponding to the grid with coordinates (i,j).
[0011] Furthermore, the calculation of the multi-objective fitness value for each individual based on the layout scheme includes: Calculate the total effective coverage for each individual: Where C is the total effective coverage rate. The sum of the effective detection coverage areas of all deployed subarray modules for an individual. The width of the envelope rectangle of the deployment area. The height of the envelope rectangle of the deployment area; Count the number of deployed subarray modules for each individual; Determine the multi-objective fitness value for each individual. ,in, For multi-objective fitness values, This represents the number of subarray modules that have been deployed. Furthermore, the evolutionary operation based on multi-objective fitness values to obtain individuals for the next iteration of the population includes: The current iteration population is used as the parent population. Crossover and mutation operations are performed on the parent population to obtain the offspring population. The parent and offspring populations are merged to form a mixed population; Obtain the multi-objective fitness value of each individual in the mixed population; Perform one or more stratification operations until all individuals in the mixed population have completed stratification. Each stratification operation yields an independent non-dominated frontier. The level of the non-dominated frontier in the previous stratification operation is higher than that in the subsequent stratification operation. In each stratification operation, select all individuals that are not dominated by other individuals to form a non-dominated frontier. Remove the individuals with the non-dominated frontier from the mixed population. Perform the stratification operation again on the remaining individuals in the mixed population. For each non-dominated frontier, the crowding distance for each individual is calculated based on the individual's multi-objective fitness value; Individuals within the non-dominated frontier are sequentially incorporated into the new generation population in descending order of non-dominated frontier hierarchy. If the preset population size is still not reached after all non-dominated frontier individuals are incorporated, individuals from the next level are incorporated. If the number of current frontier individuals exceeds the remaining population capacity, individuals are selected from the remaining capacity individuals in descending order of crowding distance and incorporated into the new generation population. The size of the new generation population is consistent with the size of the initial multi-objective evolution population, and the individuals in the new generation population are used as the individuals in the next iteration population.
[0012] Furthermore, the filtering of all individuals not controlled by other individuals includes: All individuals in the mixed population are compared pairwise. The two individuals compared pairwise are designated as the first individual and the second individual. If the total effective coverage of the first individual is greater than or equal to the total effective coverage of the second individual, and the number of deployed subarray modules of the first individual is less than or equal to the number of deployed subarray modules of the second individual, then the first individual is determined to dominate the second individual. After comparing all individuals pairwise, all individuals that are not dominated by other individuals are selected.
[0013] Furthermore, for each non-dominated front, calculating the crowding distance for each individual includes: For each non-dominated frontier, perform the following operation: Sort by multiple objectives in each individual's multi-objective fitness value; The crowding distance between the first and last individuals after sorting is set to infinity. Based on the multi-objective fitness value of an individual, the crowding distance of the intermediate individual is calculated.
[0014] This invention provides an electronic device, comprising: At least one processor; and, A memory communicatively connected to at least one of the processors; wherein, The memory stores instructions that are executed by at least one of the processors to enable the at least one of the processors to perform the sonar buoy array layout optimization method based on multi-objective evolution as described above.
[0015] This invention provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the sonar buoy array layout optimization method based on multi-objective evolution as described above.
[0016] This invention constructs a sonar buoy subarray module library comprising multiple subarray modules. By iteratively solving for a multi-target evolving population, the optimal solution set for the multi-target evolving population is obtained. By generating a diverse sonar buoy subarray module library, this invention overcomes the limitations of fixed module structures, achieving flexible adaptation to the needs of different detection missions and solving the technical problem of poor adaptability in existing technologies. Simultaneously, by constructing a multi-target evolving population, dynamic balance among multiple targets is achieved in the sonar buoy array layout. Attached Figure Description
[0017] Figure 1 This is a flowchart illustrating a sonar buoy array layout optimization method based on multi-objective evolution, according to an embodiment of the present invention. Figure 2 This is a flowchart illustrating a sonar buoy array layout optimization method based on multi-objective evolution, according to another embodiment of the present invention. Figure 3 This is a Pareto Front diagram of a sonar buoy array layout optimization method based on multi-objective evolution in one example of the present invention. Figure 4 This is a schematic diagram illustrating the layout effect corresponding to different numbers of subarray modules in a specific implementation scenario in an example of the present invention; Figure 5This is a schematic diagram of the hardware structure of an electronic device according to the present invention. Detailed Implementation
[0018] The specific embodiments of the present invention will be further described below with reference to the accompanying drawings. Identical components are indicated by the same reference numerals. It should be noted that the terms "front," "rear," "left," "right," "upper," and "lower" used in the following description refer to directions in the drawings, while the terms "inner" and "outer" refer to directions toward or away from the geometric center of a specific component. These terms are used only for the convenience of describing this application and simplifying the description, and are not intended to indicate or imply that the device or element referred to has a specific orientation, or is constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this application.
[0019] Unless the context otherwise requires, throughout the specification and claims, the term "comprising" is interpreted as open-ended and encompassing, meaning "including, but not limited to." In the description of the specification, terms such as "one embodiment," "some embodiments," "exemplary embodiment," "exemplary," or "some examples," etc., are intended to indicate that a particular feature, structure, material, or characteristic associated with that embodiment or example is included in at least one embodiment or example of this application. The illustrative representations of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics mentioned may be included in any suitable manner in any one or more embodiments or examples.
[0020] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of this application, unless otherwise stated, "a plurality of" means two or more.
[0021] In describing some embodiments, the term "connection" and its derivative expressions may be used. For example, the term "connection" may be used in describing some embodiments to indicate that two or more components have direct physical or electrical contact with each other. The embodiments claimed herein are not necessarily limited to the content of this document.
[0022] Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following related objects are in an "or" relationship.
[0023] This document describes exemplary embodiments in conjunction with the accompanying drawings, all of which are idealized schematic diagrams. For clarity, the thickness proportions of various structural layers and regions may be enlarged in the drawings. Those skilled in the art should understand that due to objective factors such as manufacturing processes and measurement tolerances, the shape of the actual product may reasonably differ from that shown in the drawings. Therefore, the understanding of the exemplary embodiments should not be limited to the schematic shapes shown in the drawings. Any reasonable variations caused by the manufacturing process that are not substantially different from the shape shown in these drawings should be considered to fall within the scope of the embodiments disclosed in this specification. The drawings themselves are not intended to limit the precise geometry of the actual product, nor do they constitute a limitation on the scope of patent protection.
[0024] This invention relates to a sonar buoy array layout optimization method based on multi-objective evolution, which has wide applications in scenarios such as maritime rescue and underwater monitoring. This invention provides a sonar buoy array layout optimization method that can achieve multi-objective balanced optimization while also considering subarray diversity and container deployment efficiency. like Figure 1 The diagram shown is a flowchart of a sonar buoy array layout optimization method based on multi-objective evolution according to an embodiment of the present invention, including: Step S101: Construct a sonar buoy subarray module library including multiple subarray modules; Step S102: Initialize a multi-objective evolutionary population, the population comprising multiple individuals, each individual being a set of gene sequences, and each gene being a module index of a subarray module in the sonar buoy subarray module library; Step S103: Iteratively solve for the optimal solution set for the multi-objective evolutionary population. In each iteration, perform the following operations: Generate the layout scheme of each individual in the population for this iteration within the deployment area; Based on the layout scheme, calculate the multi-objective fitness value of each individual; Based on the multi-objective fitness values, an evolutionary operation is performed to obtain the individuals of the next iteration population; If the termination condition is not met, proceed to the next iteration; otherwise, output the layout scheme of the optimal solution set of the population in this iteration.
[0025] Specifically, the present invention can be applied to electronic devices with processing capabilities, such as computers.
[0026] First, step S101 is executed to construct a sonar buoy subarray module library that includes multiple subarray modules.
[0027] Specifically, the number of target detection points is factored to obtain all possible row and column arrangements that satisfy the target detection point requirement. The spacing of each row and column arrangement is adjusted to obtain multiple spacing combinations. Each spacing combination within each row and column arrangement is considered a subarray module. Each subarray module identifies the arrangement of sonar buoys. The sonar buoys are deployed using the row and column arrangements of the subarray modules, and the arrangement of the center-to-center distances of the sonar buoys is defined by the spacing combination of that subarray module. All subarray modules are combined into a sonar buoy subarray module library.
[0028] Then, step S102 is executed to initialize a multi-objective evolutionary population, which includes multiple individuals, each individual being a set of gene sequences, and each gene being a module index of a subarray module in the sonar buoy subarray module library.
[0029] Specifically, a population is initialized, consisting of multiple individuals. Each individual is represented by a chromosome, which is a set of gene sequences. Each gene is a module index of a subarray module in the sonar buoy subarray module library; therefore, each gene represents a subarray module. During initialization, a set of gene sequences is randomly generated as an individual.
[0030] This population employs multi-objective evolution. Preferably, the objectives include total effective coverage and the number of deployed subarray modules.
[0031] Then, step S103 is executed to iteratively solve for the optimal solution set for the multi-objective evolutionary population. In each iteration, the following operations are performed: Generate the layout scheme of each individual in the population for this iteration within the deployment area; Based on the layout scheme, calculate the multi-objective fitness value of each individual; Based on the multi-objective fitness values, an evolutionary operation is performed to obtain the individuals of the next iteration population; If the termination condition is not met, proceed to the next iteration; otherwise, output the layout scheme of the optimal solution set of the population in this iteration.
[0032] Specifically, for each individual, some or all of the subarray modules corresponding to the genes included in the individual are selected and placed in a preset layout area to obtain the layout scheme for that individual. The layout scheme includes at least which subarray modules are selected to be placed in the layout area, and at what position in the layout area the selected subarray modules are placed.
[0033] Based on the parameters of the layout scheme, multiple targets for an individual can be obtained, resulting in a multi-target fitness value. For example, the total effective coverage of an individual can be calculated based on the effective coverage of the selected subarray modules. Furthermore, the number of selected subarray modules is taken as the number of deployed subarray modules.
[0034] Then, based on the multi-objective fitness value, evolutionary operations are performed, including but not limited to: crossover operations, mutation operations, etc., and individuals for the next iteration population are selected based on the multi-objective fitness value.
[0035] Finally, determine whether the termination condition is met. If the termination condition is not met, iterate again; otherwise, output the layout scheme of the optimal solution set of the population in this iteration.
[0036] Preferably, the termination condition is that the current iteration number reaches the preset number of evolution generations.
[0037] This invention constructs a sonar buoy subarray module library comprising multiple subarray modules. By iteratively solving for a multi-target evolving population, the optimal solution set for the multi-target evolving population is obtained. By generating a diverse sonar buoy subarray module library, this invention overcomes the limitations of fixed module structures, achieving flexible adaptation to the needs of different detection missions and solving the technical problem of poor adaptability in existing technologies. Simultaneously, by constructing a multi-target evolving population, dynamic balance among multiple targets is achieved in the sonar buoy array layout.
[0038] like Figure 2 The diagram shown is a flowchart of a sonar buoy array layout optimization method based on multi-objective evolution according to another embodiment of the present invention, including: Step S210: Determine multiple valid row and column arrangements based on the number of target detection points; For each row and column arrangement, generate all spacing combinations, each spacing being greater than or equal to 2r, where r is the detection radius of a single sonar buoy, and the spacing is the center-to-center distance between sonar buoys; A subarray module is defined by a row and column arrangement and a corresponding spacing pattern. Calculate the module information for each subarray module, which includes at least: the size of the envelope rectangle of the subarray module, the relative coordinates of the center of each sonar buoy in the subarray module, and the effective detection coverage area of the subarray module; Multiple subarray modules are combined into a sonar buoy subarray module library, and the sonar buoy subarray module library records the module index of each subarray module in the sonar buoy subarray module library, as well as the module information of each subarray module.
[0039] Step S220: Initialize a multi-objective evolutionary population, the population comprising multiple individuals, each individual being a set of gene sequences, and each gene being a module index of a subarray module in the sonar buoy subarray module library.
[0040] Step S230: Iteratively solve for the optimal solution set for the multi-objective evolutionary population. In each iteration, perform the following operations: Step S231: For each individual in the population of this iteration, perform the following operation: Select an individual as the current individual; A two-dimensional state matrix is constructed for the deployment area, which is divided into multiple grids. The state matrix elements of the two-dimensional state matrix correspond one-to-one with the grids. The state matrix elements are used to represent whether the corresponding grid has deployed or not deployed subarray modules. Genes are selected sequentially from the current individual, and all grids in the deployment area are traversed. The grids for deployment of the subarray modules corresponding to the genes are determined until all genes are processed or the two-dimensional state matrix is traversed. The grid schemes deployed by all subarray modules of the current individual are used as the layout schemes of the current individual in the deployment area.
[0041] Step S232, calculate the total effective coverage for each individual: Where C is the total effective coverage rate. The sum of the effective detection coverage areas of all deployed subarray modules for an individual. The width of the envelope rectangle of the deployment area. The height of the envelope rectangle of the deployment area; Count the number of deployed subarray modules for each individual; Determine the multi-objective fitness value for each individual. ,in, For multi-objective fitness values, This represents the number of subarray modules that have been deployed.
[0042] Step S233: Take the current iteration population as the parent population, and perform crossover and mutation operations on the parent population to obtain the offspring population. The parent and offspring populations are merged to form a mixed population; Obtain the multi-objective fitness value of each individual in the mixed population; Perform one or more stratification operations until all individuals in the mixed population have completed stratification. Each stratification operation yields an independent non-dominated frontier. The level of the non-dominated frontier in the previous stratification operation is higher than that in the subsequent stratification operation. In each stratification operation, select all individuals that are not dominated by other individuals to form a non-dominated frontier. Remove the individuals with the non-dominated frontier from the mixed population. Perform the stratification operation again on the remaining individuals in the mixed population. For each non-dominated frontier, the crowding distance for each individual is calculated based on the individual's multi-objective fitness value; Individuals within the non-dominated frontier are sequentially incorporated into the new generation population in descending order of non-dominated frontier hierarchy. If the preset population size is still not reached after all non-dominated frontier individuals are incorporated, individuals from the next level are incorporated. If the number of current frontier individuals exceeds the remaining population capacity, individuals are selected from the remaining capacity individuals in descending order of crowding distance and incorporated into the new generation population. The size of the new generation population is consistent with the size of the initial multi-objective evolution population, and the individuals in the new generation population are used as the individuals in the next iteration population.
[0043] Step S234: If the termination condition is not met, execute the next iteration; otherwise, output the layout scheme of the optimal solution set of the population in this iteration.
[0044] Specifically, step S210 is executed first to determine multiple valid row and column arrangements based on the number of target detection points; For each row and column arrangement, generate all spacing combinations, each spacing being greater than or equal to 2r, where r is the detection radius of a single sonar buoy, and the spacing is the center-to-center distance between sonar buoys; A subarray module is defined by a row and column arrangement and a corresponding spacing pattern. Calculate the module information for each subarray module, which includes at least: the size of the envelope rectangle of the subarray module, the relative coordinates of the center of each sonar buoy in the subarray module, and the effective detection coverage area of the subarray module; Multiple subarray modules are combined into a sonar buoy subarray module library, and the sonar buoy subarray module library records the module index of each subarray module in the sonar buoy subarray module library, as well as the module information of each subarray module.
[0045] Specifically, step S210 involves constructing the sonar buoy subarray module library: 1.1) Target detection point factor decomposition a) Input the preset number of target detection points for a single module ; b) Traversal to Filter out all integers that are divisible by 1. integers that form all row and column permutations. ,satisfy ; c) Record all valid row and column arrangements as the basic layout of the subarray module.
[0046] 1.2) Generate the center-to-center spacing within the template. This is done for each row and column arrangement. ,initialization: Line spacing set
[0047] Column spacing set
[0048]
[0049]
[0050] All possible spacing combinations are generated using a binary combination method, and each spacing satisfies... ,in The detection radius of a single sonar buoy.
[0051] Since b is either 0 or 1, the spacing at some positions is r, and the spacing at other positions is 2r. Assuming there are 3 floats in a row, there are 2 spacings. The binary combinations include 00, 01, 10, and 11, and the corresponding spacing combinations could be [r,r], [r,2r], [2r,r], and [2r,2r].
[0052] 1.3) Calculate the size of the envelope rectangle. For each row and column arrangement and its corresponding spacing pattern, calculate the width of the outer envelope rectangle of the subarray module. and height : ; .
[0053] Record the size of the envelope rectangle of the current subarray module. .
[0054] 1.4 Calculate the relative coordinates of the center of the internal sonar buoy a) Initialize the relative coordinate reference point: take the lower left corner vertex of the subarray module's envelope rectangle as the relative coordinate origin; b) Calculate the relative coordinates of the centers of the first row and first column of sonar buoys: The relative coordinates of the centers of the first row and first column of sonar buoys are... ; c) Calculate the values of each sonar buoy in the same row Relative coordinates of the center of the circle in the direction:
[0055] in, Indicates the first Sonar buoys The relative coordinates of the center of the circle in the direction; d) Calculate the values of each sonar buoy in the same column Relative coordinates of the center of the circle in the direction:
[0056] in, Indicates the first Sonar buoys The relative coordinates of the center of the circle in the direction; e) Combine the relative coordinates of each row and column of sonar buoys to form the set of relative coordinates of the center of each sonar buoy. And associate it with the current subarray module.
[0057] 1.5) Calculate the effective detection coverage area Introducing the Monte Carlo sampling method to calculate the effective detection coverage area:
[0058] In the formula, , This indicates the number of random sampling points within the envelope rectangle of the current subarray module. This represents the number of sampling points within the detection circle of any sonar buoy.
[0059] 1.6) Integrating the sonar buoy subarray module library Collect key information for each subarray module: module index, envelope rectangle size. Effective detection coverage area Number of sonar buoys Relative coordinates of the center of the internal sonar buoy .
[0060] Information from all subarray modules is compiled to form a sonar buoy subarray module library. The final number of subarray modules collected is denoted as . The module index is the serial number of the subarray module in the sonar buoy subarray module library.
[0061] Then, step S220 is executed to initialize a multi-objective evolutionary population, which includes multiple individuals, each individual being a set of gene sequences, and each gene being a module index of a subarray module in the sonar buoy subarray module library.
[0062] Specifically, step S220 initializes the multi-objective evolutionary population: 2.1) NSGA-II Algorithm Parameter Initialization: Population size The number of layout schemes included in each generation; Evolutionary algebra That is, the total number of algorithm iterations; The number of candidate modules in the module library is ; Set cross rate Controlling the probability of gene recombination in an individual; Set the mutation rate Controlling the probability of random mutations in an individual's genes.
[0063] 2.2) Population Coding Each individual in the population is represented by a chromosome, which is a set of integer gene sequences:
[0064] Each gene Module index of a subarray module in the sonar buoy subarray module library ; The order of the gene sequences represents the order in which the corresponding subarray modules enter the large rectangular layout area.
[0065] 2.3) Initial Population Generation According to the encoding rules, random integer gene sequences of a preset population size are generated; All randomly generated gene sequences are treated as individuals, forming the initial population.
[0066] Then, step S230 is executed to iteratively solve for the optimal solution set for the multi-objective evolutionary population. In each iteration, steps S231 to S234 are executed: Step S231: For each individual in the population of this iteration, perform the following operation: Select an individual as the current individual; A two-dimensional state matrix is constructed for the deployment area, which is divided into multiple grids. The state matrix elements of the two-dimensional state matrix correspond one-to-one with the grids. The state matrix elements are used to represent whether the corresponding grid has deployed or not deployed subarray modules. Genes are selected sequentially from the current individual, and all grids in the deployment area are traversed. The grids for deployment of the subarray modules corresponding to the genes are determined until all genes are processed or the two-dimensional state matrix is traversed. The grid schemes deployed by all subarray modules of the current individual are used as the layout schemes of the current individual in the deployment area.
[0067] Specifically, step S231 involves decoding and generating a layout scheme: First, initialize the state matrix of the deployment area, including: Construct a two-dimensional state matrix with the same size as the large rectangular layout area. The matrix dimension is ,in, These represent the width and height of the large rectangular deployment area, respectively, with the initial value of the state matrix set to 0. It should be noted that while the actual deployment area has units, in the simulation, the unitless value of the deployment area's width is used as the row, and the unitless value of the area's height as the column. For example, for a deployment area of 90km × 30km, its matrix dimension is 90 × 30, and... The distribution is 90 and 30.
[0068] The entire deployment area is divided into multiple grids. Subarray modules can be deployed in one or more of these grids. The number of grids is consistent with the number of state matrix elements in the two-dimensional state matrix. Each grid corresponds to one state matrix element. The state matrix element corresponding to the grid in the i-th row and j-th column is... By setting The value is used to represent whether the corresponding subarray module is deployed or not in the i-th row and j-th column. Here, the row where the grid is located is used as the horizontal coordinate and the column where the grid is located is used as the vertical coordinate. The coordinates of the grid in the i-th row and j-th column are (i,j), which is represented as grid (i,j).
[0069] Preferably, it is specified that: This indicates that the corresponding grid (i,j) is not deployed (not occupied). This indicates that the corresponding grid (i,j) has been deployed (occupied).
[0070] Then, a coordinate scanning mechanism is established, and scanning rules are set within the large rectangular layout area: traversing all possible grids in a left-to-right, bottom-to-top order. Scanning the grid. index for:
[0071] Then, a double-loop layout scheme is determined for each individual. The outer loop is the individual's genes, that is, genes are selected sequentially from the current individual. The inner loop is each grid in the layout area. That is, for each gene, all grids in the layout area are traversed using the aforementioned scanning rules to determine the grid for the subarray module corresponding to the gene. This process continues until all genes have been processed or the two-dimensional state matrix has been traversed. The grid scheme of all subarray modules of the current individual is then used as the layout scheme of the current individual in the layout area.
[0072] Each individual uses a double-loop layout scheme determination. Therefore, each individual's two-dimensional state matrix is independent. Before executing the double-loop layout scheme determination for each individual, its independent two-dimensional state matrix is initialized to indicate that no subarray modules are placed in any of the meshes. For example, all state matrix elements of the two-dimensional state matrix corresponding to each individual are initialized to 0.
[0073] In one embodiment, the step of sequentially selecting genes from the current individual, traversing all grids in the deployment area, determining the grid for deployment of the subarray module corresponding to the gene, until all genes have been processed or the two-dimensional state matrix has been traversed, and using the grid scheme deployed by all subarray modules of the current individual as the layout scheme of the current individual within the deployment area, includes: Read each gene in the current individual sequentially, take the currently read gene as the current gene, and perform the following operations on the current gene: Extract the subarray module corresponding to the current gene from the sonar buoy subarray module library as the current subarray module, and obtain the envelope rectangle size of the current subarray module; Select one grid at a time as the current scan grid, if the current subarray module satisfies: And satisfy If the starting coordinates of the current subarray module are not found, the starting coordinates of the current subarray module are recorded as the coordinates of the current scan grid. The state matrix elements corresponding to the grids covered by the current subarray module are set as deployed subarray modules. Otherwise, the next grid is selected as the current scan grid. This process continues until the two-dimensional state matrix has been traversed. Here, x0 is the horizontal coordinate of the current scan grid, and y0 is the vertical coordinate of the current scan grid. The width of the envelope rectangle of the current subarray module. The height of the envelope rectangle of the current subarray module. The width of the envelope rectangle of the deployment area. The height of the envelope rectangle of the deployment area. These are the state matrix elements corresponding to the grid with coordinates (i,j).
[0074] Specifically, the module placement conditions are determined: a) Read each gene in the current individual (i.e., chromosome) sequentially, extract the corresponding subarray module from the module library, and obtain its envelope rectangle size. ; b) Then, using the scanning rules established within the large rectangular layout area, each grid is scanned sequentially, with the grid currently being scanned serving as the current scan grid. Determine whether the following two conditions are met: (1) Boundary crossing conditions: Where x0 is the x-coordinate of the current scanned grid and y0 is the y-coordinate of the current scanned grid. The width of the envelope rectangle of the current subarray module. The height of the envelope rectangle of the current subarray module. The width of the envelope rectangle of the deployment area. The height of the envelope rectangle of the deployment area is given. It should be noted that, for comparison purposes, and Using the same units, such as km, similarly, and They are also the same unit; (2) Overlap condition: All elements of the state matrix corresponding to the module coverage area are 0: .
[0075] 3.4) Module Deployment and State Matrix Update a) If both the boundary crossing condition and the overlap interference condition are met, then starting from the current scan grid, deploy the current subarray module, that is, record the lower left corner coordinates of the subarray module. for ; b) Update the elements of the area covered by the module in the state matrix to 1, mark them as occupied, indicating that the corresponding grid has been deployed with subarray modules; c) If the placement conditions are not met, skip the current scanned grid and continue traversing the next grid; d) Repeat the above steps until all genes have been processed or the large rectangular layout area can no longer accommodate more modules.
[0076] Specifically, it traverses within the large rectangular layout area. All grid cells within this range. This range can be considered as the area covered by the rectangle of the subarray module corresponding to the current gene, with the lower left corner of the subarray module coinciding with the current scan grid. If all grid cells within this range are in state 0, i.e. If the overlap condition is satisfied, and the boundary condition is also satisfied, that is, after adding the size of the envelope rectangle of the subarray module corresponding to the current gene to the current scan grid, the size of the envelope rectangle of the layout area does not exceed the size of the envelope rectangle of the layout area, then the rectangle of the current subarray module is placed in the current scan grid, the state matrix elements corresponding to the grid are set to 1, and the inner loop is exited; otherwise, the inner loop enters the next grid.
[0077] The grid scheme deployed (i.e. covered) by all subarray modules of an individual is used as the layout scheme of that individual.
[0078] After all individuals have determined their layout schemes, proceed to step S232 to calculate the total effective coverage for each individual: Where C is the total effective coverage rate. The sum of the effective detection coverage areas of all deployed subarray modules for an individual. The width of the envelope rectangle of the deployment area. The height of the envelope rectangle of the deployment area; Count the number of deployed subarray modules for each individual; Determine the multi-objective fitness value for each individual. ,in, For multi-objective fitness values, This represents the number of subarray modules that have been deployed.
[0079] Specifically, step S232 calculates the multi-objective fitness value: Calculate multi-objective fitness value 4.1) Calculation of Total Effective Coverage a) Calculate the sum of the effective detection coverage areas of all deployed subarray modules in each individual's layout scheme. ; b) Calculate the total effective coverage: Where C is the total effective coverage rate. This is the sum of the effective detection coverage areas of all deployed subarray modules for an individual.
[0080] 4.2) Total number of modules statistics Count the number of subarray modules that were actually successfully deployed in each individual layout scheme. .
[0081] 4.3) Fitness value vector output The fitness value of each individual in the population is output as a two-dimensional vector: ,in, This represents the multi-objective fitness value of an individual.
[0082] Preferably, the multi-objective includes: total effective coverage and the number of deployed subarray modules, and the multi-objective fitness value is a two-dimensional fitness value.
[0083] Then, step S233 is executed, taking the current iteration population as the parent population, and performing crossover and mutation operations on the parent population to obtain the offspring population. The parent and offspring populations are merged to form a mixed population; Obtain the multi-objective fitness value of each individual in the mixed population; Perform one or more stratification operations until all individuals in the mixed population have completed stratification. Each stratification operation yields an independent non-dominated frontier. The level of the non-dominated frontier in the previous stratification operation is higher than that in the subsequent stratification operation. In each stratification operation, select all individuals that are not dominated by other individuals to form a non-dominated frontier. Remove the individuals with the non-dominated frontier from the mixed population. Perform the stratification operation again on the remaining individuals in the mixed population. For each non-dominated frontier, the crowding distance for each individual is calculated based on the individual's multi-objective fitness value; Individuals within the non-dominated frontier are sequentially incorporated into the new generation population in descending order of non-dominated frontier hierarchy. If the preset population size is still not reached after all non-dominated frontier individuals are incorporated, individuals from the next level are incorporated. If the number of current frontier individuals exceeds the remaining population capacity, individuals are selected from the remaining capacity individuals in descending order of crowding distance and incorporated into the new generation population. The size of the new generation population is consistent with the size of the initial multi-objective evolution population, and the individuals in the new generation population are used as the individuals in the next iteration population.
[0084] Specifically, iterative evolution and non-dominated sorting of the non-dominated sorting genetic algorithm with an elitist strategy (NSGA-II) are performed. In each iteration, the following is executed: 5.1) Cross-operation execution a) Randomly select pairs of individuals (denoted as parent 1 and parent 2) from the parent population; b) Randomly generate intersection points ; c) Exchange the gene sequences after the crossover point of the two parent individuals to generate two offspring individuals; d) The crossover operation probability is controlled by a preset crossover rate. If crossover is not performed, the parent individual is directly retained as the offspring.
[0085] 5.2) Execution of mutation operation a) Traverse all gene loci for each offspring individual; b) If the random number is less than the preset mutation rate, the module index of the gene locus will be randomly replaced with any valid module index in the sonar buoy subarray module library; 5.3) Merging of parent and offspring populations The parent population is merged with the treated offspring population to form a mixed population.
[0086] 5.4) Fitness assessment of mixed populations For each individual in the mixed population, repeat steps S231 and S232 to calculate its multi-objective fitness value. .
[0087] 5.5) Perform non-dominated ordination on all individuals in the mixed population. Select all individuals that are not dominated by other individuals to form the first non-dominated frontier; Remove the first non-dominated frontier individual, and repeat the above operation on the remaining individuals to form the next non-dominated frontier in sequence, thus completing the stratification of all individuals.
[0088] In one embodiment, the filtering of all individuals not dominated by other individuals includes: All individuals in the mixed population are compared pairwise. The two individuals compared pairwise are designated as the first individual and the second individual. If the total effective coverage of the first individual is greater than or equal to the total effective coverage of the second individual, and the number of deployed subarray modules of the first individual is less than or equal to the number of deployed subarray modules of the second individual, then the first individual is determined to dominate the second individual. After comparing all individuals pairwise, all individuals that are not dominated by other individuals are selected.
[0089] Specifically, domination refers to: Pairwise comparisons: total effective coverage (the higher the better) and total number of modules (the lower the better).
[0090] Determine the dominance relationship: If the coverage of individual A is greater than or equal to that of individual B, and the number of modules of individual A is less than or equal to that of individual B, then individual A dominates individual B.
[0091] Stratification based on dominance relationships.
[0092] Pareto Front 1: Identify all individuals in the population that are not dominated by any other individual. These are the optimal group.
[0093] Subsequent layers: Remove the individuals from the first layer, and then find non-dominant individuals among the remaining individuals to form the second layer. Continue in this manner.
[0094] 5.6) Crowding Distance Calculation For each non-dominated frontier, the crowding distance for each individual is calculated based on the individual's multi-objective fitness value.
[0095] In one embodiment, calculating the crowding distance for each individual for each non-dominated frontier includes: For each non-dominated frontier, perform the following operation: Sort by multiple objectives in each individual's multi-objective fitness value; The crowding distance between the first and last individuals after sorting is set to infinity. Based on the multi-objective fitness value of an individual, the crowding distance of the intermediate individual is calculated.
[0096] Specifically, for each non-dominated frontier, the multiple objectives are ranked according to the multi-objective fitness values of each individual. Specifically, when there are multiple objectives, one objective is first used as the baseline objective for ranking. For multiple individuals with the same baseline objective value, the next objective is selected as the new baseline objective for re-ranking.
[0097] For example, when there are two objectives, individuals are first sorted according to the first objective. For individuals with the same objective value, they are then sorted according to the second objective. The same sorting method is used for cases with more objectives.
[0098] For example, when the two objectives are total effective coverage and the number of deployed subarray modules, for each non-dominated front, individuals within the non-dominated front can be sorted in ascending order of total effective coverage. For individuals with the same total effective coverage, they can then be sorted in ascending order of the number of deployed subarray modules. Alternatively, individuals within the non-dominated front can be sorted in ascending order of the number of deployed subarray modules, and for individuals with the same total effective coverage, they can then be sorted in ascending order of total effective coverage.
[0099] For individuals with the same total effective coverage and the same number of deployed subarray modules, they can be randomly sorted.
[0100] Then, the crowding distance between the first and last individuals after sorting is set to infinity, and the crowding distance of other individuals is calculated. Since the multi-objective fitness value can include multiple objectives, for the i-th intermediate individual, the crowding distance is calculated for each objective and then summed to obtain the crowding distance of that intermediate individual.
[0101] Preferably, the multi-objective fitness value has two objectives, and for each non-dominated frontier, the following operation is performed: Based on the multi-objective fitness value of an individual, the crowding distance of the intermediate individual is calculated.
[0102] For each individual within the non-dominated frontier, sort them according to the two objectives respectively; After sorting, the crowding distance between the first and last individuals is set to infinity; Crowding distance of intermediate individuals:
[0103] in, For the position located at the Crowding distance of individuals For the sorted position at the th The 1st individual in the multi-objective fitness value Fitness values on each objective The first of the multi-objective fitness values The maximum fitness value on each objective. The first of the multi-objective fitness values The minimum fitness value across all objectives, where L is the number of objectives in a multi-objective fitness value set. For example, for a multi-objective fitness value set... ,but For the first Total effective coverage of individuals For the first The number of deployed subarray modules for each individual.
[0104] 5.7) New Generation Population Screening Individuals within the non-dominated frontier hierarchy are incorporated into the next generation of the population in descending order of their non-dominated frontier level. If the target population size is still not reached after all current frontier individuals have been included, then the next level of individuals will be included. If the number of individuals at the forefront exceeds the remaining population capacity, sort them by crowding distance from largest to smallest, and select the top remaining capacity individuals; This eventually forms a new generation of population with the same size as the initial population.
[0105] Then, proceed to step S234. If the termination condition is not met, proceed to the next iteration; otherwise, output the layout scheme of the optimal solution set of the population in this iteration.
[0106] Specifically, an iteration termination judgment is made, preferably based on the current iteration count reaching a preset number of generations. Therefore, if the current iteration count reaches the preset number of generations, the iteration stops; otherwise, steps 5.1 to 5.7 are repeated with the new generation as the parent generation.
[0107] After stopping the iteration, output the Pareto optimal solution set and the selected solution. 6.1 Pareto Front Solution Set Extraction After the iteration terminates, all non-dominated individuals in the final population are extracted to form the Pareto front solution set.
[0108] 6.2 Deduplication of the solution set Traverse the Pareto front solution set and remove redundant individuals (redundant schemes) with the same number of deployed subarray modules and a total effective coverage difference of less than a set threshold.
[0109] 6.3 Solution set selection For individuals (schemes) with the same number of deployed subarray modules, only the individual (scheme) with the highest total effective coverage is retained to form a simplified Pareto optimal solution set.
[0110] 6.4 Quantization Result Output The key parameters for the optimal placement scheme of each individual in the output optimal solution set are: the coordinates of the lower left corner of each subarray module. Module type and envelope rectangle size The absolute coordinates of the center of each sonar buoy inside. Total effective coverage Total number of modules The absolute coordinates of the center of each sonar buoy are:
[0111] This embodiment automatically generates a diverse subarray module library through target detection point factor decomposition and binary spacing combination design, breaking through the limitations of fixed module structure and achieving flexible adaptation to different detection mission requirements, thus solving the core pain point of poor adaptability in existing technologies. Based on the NSGA-II algorithm, this embodiment constructs a dual-objective optimization model for effective coverage and module quantity, achieving a dynamic balance between high-performance detection and low-cost deployment in sonar buoy array layout, filling the technical gap in multi-objective balance optimization. This embodiment employs a greedy strategy combining state matrix and coordinate scanning to verify module boundary crossing and overlap issues in real time, significantly improving the efficiency and reliability of large-scale area deployment and avoiding engineering unavailability problems caused by physical conflicts in traditional solutions. This embodiment introduces the Monte Carlo sampling method to calculate the effective detection coverage area of the subarray, and combines non-dominated sorting and crowding calculation to optimize the fitness evaluation system, significantly improving the evaluation accuracy of the optimization process and ensuring the performance credibility of the optimal solution. This invention uses the subarray as the optimization unit, reducing the search dimensionality through modular integration, avoiding explosive growth of the search space, solving the problems of slow convergence and difficulty in meeting the real-time requirements of traditional algorithms, and significantly improving the engineering practicality of layout optimization.
[0112] The following is a detailed description of a simulation experiment of the present invention. This simulation experiment is for underwater acoustic detection tasks in fixed areas, aiming to achieve a balance between maximizing the total effective coverage and optimizing the number of deployed modules within a designated large rectangular deployment area. The application scenario of this embodiment is an underwater acoustic detection task within a large rectangular deployment area of 90 km × 30 km, where target detection is accomplished through the combined layout of subarray modules. The detection radius of a single sonar buoy is... The system has a km capacity and a preset target detection point count of 9 per module. Multi-target evolutionary optimization is performed using the NSGA-II algorithm, ultimately outputting an array layout scheme with no overlap, no boundary violations, and optimal performance. The effectiveness of this invention can be further illustrated by the following simulation experiments: Experimental conditions and methods Hardware platform: Intel Core i9-13900 processor, CPU frequency 2.0GHz, 64GB memory; Software platform: The computer uses 64-bit Windows 11 Professional and Matlab R2024b. The detailed implementation method and specific operation steps are as follows: Step 1: Construct a sonar buoy subarray module library Based on a single module with a preset target detection point count of 9, candidate subarray modules are generated and integrated into a module library through factor decomposition, spacing design, coordinate calculation, and effective area evaluation. The specific process is as follows: 1.1 Target Detection Point Number Factor Decomposition Input the preset number of target detection points for a single module, N=9, and iterate through... We select all integers that are divisible by 9, and finally obtain three valid row and column combinations: (1, 9), (3, 3), and (9, 1), which serve as the basic arrangement of the subarray module.
[0113] 1.2 Design of Center Spacing Pattern For each row-column combination, initialize the row spacing set and column spacing set. Generate all possible spacing combinations using a binary combination method: for a combination with k spacings, the value of each spacing is: Line spacing set
[0114] Column spacing set
[0115] By generating all effective spacing combinations through full permutations, we ensure that the detection range of adjacent sonar buoys is not missed and there is no excessive overlap.
[0116] 1.3 Calculation of Envelope Rectangle Dimensions For each row and column combination and its corresponding spacing pattern, calculate the width and height of the enclosing rectangle using the following formula:
[0117]
[0118] Record the size of the envelope rectangle corresponding to each pattern group as the core geometric parameter of the subarray module.
[0119] 1.4 Calculation of Relative Coordinates of the Center of the Internal Sonar Buoy The lower left corner of the rectangle enclosing the subarray module is taken as the relative origin of the coordinate system. Calculate the relative coordinates of the centers of each sonar buoy according to the following rules: The relative coordinates of the center of the first row and first column of sonar buoys are ; Sonar buoys Direction relative coordinates: ; Sonar buoys Direction relative coordinates
[0120] Combine the coordinates of each row and column of sonar buoys to form a set of relative coordinates of the center of each sonar buoy, and store them in association with the current subarray module.
[0121] 1.5 Calculation of Effective Detection Coverage Area The Monte Carlo method is used to calculate the effective detection coverage area of each subarray module. Specifically, random sampling points are generated within the envelope rectangle of the subarray module, and the number of sampling points falling into the detection circle of any sonar buoy is counted. The effective detection coverage area is then calculated using the following formula:
[0122] In the formula, , This indicates the number of random sampling points within the envelope rectangle of the current subarray module. This represents the number of sampling points within the detection circle of any sonar buoy.
[0123] 1.6 Subarray Subarray Module Library Integration Collect key information for each candidate subarray module: subarray module index, envelope rectangle size, effective detection coverage area, number of sonar buoys, and relative coordinates of the centers of the internal sonar buoys. Compile all candidate subarray modules to form a sonar buoy subarray module library. The total number of candidate subarray modules contained in the final sonar buoy subarray module library is denoted as . .
[0124] Step 2: Initialize the multi-objective evolutionary population 2.1 NSGA-II Algorithm Parameter Initialization Population size Evolutionary algebra Number of candidate subarray modules in the subarray module library Cross rate Variation rate The population size is the number of layout schemes included in each generation, the number of generations is the maximum number of times the algorithm terminates its iterations, and the crossover rate and mutation rate control the execution probability of gene recombination and random replacement, respectively.
[0125] 2.2 Population Coding Each individual in the population corresponds to one chromosome, and the chromosome is of length... The integer gene sequence. Each gene corresponds to an index of a candidate subarray module in the sonar buoy subarray module library, with values ranging from... The order of the gene sequences represents the order in which the corresponding subarray modules enter the large rectangular layout area.
[0126] 2.3 Initial Population Generation Randomly generated according to encoding rules A length of An integer gene sequence is generated, and all sequences form the initial population. During generation, it is ensured that the value of each gene is within a certain range. Within the specified range, invalid subarray module indexes are avoided. Additionally, one individual consisting of the smallest envelope area subarray module from the sonar buoy subarray module library is added to the initial population to enrich its diversity.
[0127] Step 3: Chromosome Decoding 3.1 Initialization of the State Matrix of the Deployment Area Construction and layout of large rectangular areas Two-dimensional state matrix of equal size The matrix dimension is The initial value of the state matrix is set to 0. It is defined that 0 indicates that the corresponding position is not occupied, that is, no subarray module is deployed, and 1 indicates that it is occupied, that is, the subarray module is deployed. It is used to record the deployment status of the subarray modules in the area.
[0128] 3.2 Coordinate Scan Traverse all possible grids within the layout area of the large rectangle.
[0129] Scan grid index The calculation formula is: ,in, The x-coordinate of the scanned grid. To scan the grid's vertical coordinates, traverse each position sequentially according to its index.
[0130] 3.3 Determining the Placement Conditions of Subarray Modules Read each gene of the current chromosome sequentially, extract the envelope rectangle of the corresponding subarray module from the sonar buoy subarray module library, and then perform the scan on the current grid. Simultaneously determine the following two conditions:
[0131] 3.4 Subarray Module Deployment and State Matrix Update If the above conditions are met simultaneously, deploy the current subarray module at that location, record the lower left corner coordinates of the subarray module as (x0, y0), and add the state matrix... The element is updated to 1 and marked as occupied, meaning it has been deployed. If the placement conditions are not met, the current scan grid is skipped, and the process continues to the next location. This operation is repeated until all genes have been processed or the large rectangular deployment area can no longer accommodate more subarray modules.
[0132] Step 4: Calculate the multi-objective fitness value 4.1 Calculation of Total Effective Coverage The sum of the effective detection coverage areas of all deployed subarray modules in the current layout scheme is calculated.
[0133] 4.2 Total Number of Subarray Modules Count the number of subarray modules that were actually successfully deployed in the current layout scheme.
[0134] 4.3 Fitness Value Vector Output The fitness value of each individual in the population is output as a two-dimensional vector: ,in For total effective coverage, This represents the total number of subarray modules.
[0135] Step 5: Iterative Evolution and Non-Dominated Sort 5.1 Cross-operation execution A pair of individuals (parent 1 and parent 2) is selected from the parent population through a tournament. Crossover points are randomly generated, and the gene sequences of the two parent individuals are exchanged after the crossover point to generate two offspring individuals. The probability of performing the crossover operation is... When crossover is not performed, the parent individual is directly retained as the child.
[0136] 5.2 Execution of Mutation Operations Iterate through all gene loci of each offspring individual; if the random number is less than the mutation rate... The module index of the gene locus is randomly replaced with any valid module index from the sonar buoy subarray module library. Mutation processing is performed on all offspring individuals to ensure that the mutated gene still contains a valid module index.
[0137] 5.3 Merging of parent and offspring populations The parent population (100 individuals) and the offspring population (100 individuals) are merged to form a mixed population of 200 individuals.
[0138] 5.4 Fitness assessment of mixed populations For the 200 individuals in the mixed population, repeat steps 3-4 to calculate the fitness value vector for each individual. .
[0139] 5.5 Non-dominated sorting execution Select all individuals that are not dominated by other individuals to form the first non-dominated frontier; Remove individuals from the first non-dominated frontier and repeat the screening process for the remaining individuals to form the second non-dominated frontier. Repeat the above process until all individuals have been stratified.
[0140] 5.6 Crowding Distance Calculation For each individual within the non-dominated frontier, sort them according to two target values (ascending order of coverage and ascending order of number of subarray modules). After sorting, the crowding distance between the first and last individuals is set to infinity; The crowding distance for intermediate individuals is calculated using the following formula:
[0141] in, For individuals In the Fitness values on each objective These are the maximum and minimum values of the m-th target, respectively.
[0142] 5.7 Next-Generation Population Screening Individuals are incorporated into the new generation population in descending order of the non-dominant frontier hierarchy; If the number of individuals at the current level is still less than 100 after all current frontier individuals have been included, continue to include individuals at the next level. If the number of individuals at the forefront exceeds the remaining population capacity, sort them by crowding distance from largest to smallest, and select the top 100 individuals within the remaining capacity. This will ultimately form a new generation population of 100 individuals.
[0143] 5.8 Iteration Termination Judgment If the current iteration count reaches 100 generations, stop the iteration; otherwise, use the new generation as the parent generation and repeat steps 5.1-5.7.
[0144] Step 6: Output Pareto optimal solution set and scheme selection 6.1 Pareto Front Solution Set Extraction After the iteration terminates, all non-dominated individuals in the final population are extracted to form the Pareto front solution set.
[0145] 6.2 Deduplication of the unset data Traverse the Pareto front solution set and remove redundant schemes with the same number of subarray modules and a total effective coverage difference of less than 1%.
[0146] 6.3 Solution set selection For schemes with the same number of subarray modules, only the scheme with the highest total effective coverage is retained to form a simplified Pareto optimal solution set.
[0147] 6.4 Quantization Result Output Output the key parameters for each optimal solution: the coordinates of the lower left corner of each subarray module, the type of subarray module and the size of the envelope rectangle, and the absolute coordinates of the center of each sonar buoy inside.
[0148] like Figure 3The image shows a Pareto Front plot of a sonar buoy array layout optimization method based on multi-objective evolution, as illustrated in an example of this invention. It demonstrates the dual-objective optimization trade-off between total effective coverage and the number of deployment modules. The horizontal axis represents the number of subarray modules (rectangles) used in the layout, representing cost / complexity. The vertical axis represents the coverage percentage, indicating the percentage of the large rectangular deployment area (90x30 km) covered by sonar detection, representing detection effectiveness. Figure 3 As can be seen from curve 31, the coverage rate increases significantly (from about 26% to 84%) as the number of modules increases from 1 to 4.
[0149] Each point in the graph represents an "optimal solution." For example, with only two modules, the curve indicates a maximum coverage of approximately 52%. When the number of modules reaches four, the curve slope becomes gentler, indicating that the coverage gain from adding modules decreases (because overlap or boundary constraints begin to appear between modules). This provides decision-makers with a quantitative basis for cost-effectiveness.
[0150] Figure 4 This is a schematic diagram of the layout effect corresponding to different numbers of subarray modules in a specific implementation scenario in an example of the present invention, which intuitively presents the effective coverage and module arrangement of different layout schemes. Figure 4 yes Figure 3 Intuitive visualization of the four Pareto optimal points: Basic parameters: The large rectangular deployment area is 90km × 30km, the detection radius is r = 5km, and a single module contains 9 detection points.
[0151] Explanation of the sub-image: Top left figure 401: Only one subarray module 405 is placed. This subarray module consists of nine circles (sonar buoys) 406, arranged compactly, located in the lower left corner of the area (this is the result of placing them starting from (1,1) using the aforementioned "coordinate scanning mechanism"). The coverage is approximately 26.18%.
[0152] Figure 402 (top right): Two subarray modules 405 are placed. The algorithm uses a greedy strategy to place the second subarray module 405 close to each other without overlap, doubling the coverage to approximately 52.37%.
[0153] Figure 403 (bottom left): Three sub-array modules 405 are placed. The sub-array modules are stacked vertically, achieving a coverage of 78.55%.
[0154] Figure 404 (bottom right): Four subarray modules were placed. Note that the shape of the subarray module in the bottom right corner may differ from the other subarray modules (or its position may have shifted). This is because the algorithm, while attempting to maximize coverage, needs to check for "boundary conditions" and "overlapping interference conditions." At this point, the coverage reaches 84.26%.
[0155] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0156] like Figure 5 The diagram shown is a hardware structure schematic of an electronic device according to the present invention, comprising: At least one processor 501; and, A memory 502 is communicatively connected to at least one of the processors 501; wherein, The memory 502 stores instructions that are executed by at least one of the processors to enable the at least one of the processors to perform the sonar buoy array layout optimization method based on multi-objective evolution as described above.
[0157] Figure 5 Take a processor 501 as an example.
[0158] The electronic device may also include an input device 503 and a display device 504.
[0159] The processor 501, memory 502, input device 503 and display device 504 can be connected by a bus or other means. The figure shows an example of connection by bus.
[0160] Memory 502, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions / modules corresponding to the sonar buoy array layout optimization method based on multi-objective evolution in the embodiments of this application, for example, Figure 1 , Figure 2 The method flow is shown. The processor 501 executes various functional applications and data processing by running non-volatile software programs, instructions, and modules stored in the memory 502, thereby realizing the sonar buoy array layout optimization method based on multi-objective evolution in the above embodiments.
[0161] Memory 502 may include a program storage area and a data storage area. The program storage area may store an operating system and an application program required for at least one function. The data storage area may store data created using the multi-objective evolution-based sonar buoy array layout optimization method. Furthermore, memory 502 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 502 may optionally include memory remotely located relative to processor 501, which can be connected via a network to means of performing the multi-objective evolution-based sonar buoy array layout optimization method. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0162] Input device 503 can receive user clicks and generate signal inputs related to user settings and function control of the sonar buoy array layout optimization method based on multi-objective evolution. Display device 504 may include display devices such as a display screen.
[0163] When one or more modules are stored in the memory 502 and are run by one or more processors 501, the sonar buoy array layout optimization method based on multi-objective evolution in any of the above method embodiments is executed.
[0164] This invention constructs a sonar buoy subarray module library comprising multiple subarray modules. By iteratively solving for a multi-target evolving population, the optimal solution set for the multi-target evolving population is obtained. By generating a diverse sonar buoy subarray module library, this invention overcomes the limitations of fixed module structures, achieving flexible adaptation to the needs of different detection missions and solving the technical problem of poor adaptability in existing technologies. Simultaneously, by constructing a multi-target evolving population, dynamic balance among multiple targets is achieved in the sonar buoy array layout.
[0165] One embodiment of the present invention provides a storage medium that stores computer instructions, which, when executed by a computer, are used to perform all the steps of the sonar buoy array layout optimization method based on multi-objective evolution as described above.
[0166] In the context of this disclosure, a storage medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. The storage medium can be a machine-readable signal medium or a machine-readable storage medium. Optionally, the storage medium can be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), compact disc ROM (CD-ROM), magnetic tape, floppy disk, and optical data storage device.
[0167] One embodiment of the present invention provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the sonar buoy array layout optimization method based on multi-objective evolution as described above.
[0168] The embodiments described above are merely illustrative of several implementations of the present invention, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these modifications and improvements all fall within the scope of protection of the present invention. Therefore, the scope of protection of this patent should be determined by the appended claims.
Claims
1. A sonar buoy array layout optimization method based on multi-objective evolution, characterized in that, include: Construct a sonar buoy subarray module library that includes multiple subarray modules; Initialize a multi-objective evolutionary population, the population comprising multiple individuals, each individual being a string of gene sequences, and each gene being a module index of a subarray module in the sonar buoy subarray module library; The optimal solution set for the multi-objective evolutionary population is solved iteratively. In each iteration, the following operations are performed: Generate the layout scheme of each individual in the population for this iteration within the deployment area; Based on the layout scheme, calculate the multi-objective fitness value of each individual; Based on the multi-objective fitness values, an evolutionary operation is performed to obtain the individuals of the next iteration population; If the termination condition is not met, proceed to the next iteration; otherwise, output the layout scheme of the optimal solution set of the population in this iteration.
2. The sonar buoy array layout optimization method based on multi-objective evolution according to claim 1, characterized in that, The construction of the sonar buoy subarray module library, comprising multiple subarray modules, includes: Based on the number of target detection points, determine multiple valid row and column arrangements; For each row and column arrangement, generate all spacing combinations, each spacing being greater than or equal to 2r, where r is the detection radius of a single sonar buoy, and the spacing is the center-to-center distance between sonar buoys; A subarray module is defined by a row and column arrangement and a corresponding spacing pattern. Calculate the module information for each subarray module, which includes at least: the size of the envelope rectangle of the subarray module, the relative coordinates of the center of each sonar buoy in the subarray module, and the effective detection coverage area of the subarray module; Multiple subarray modules are combined into a sonar buoy subarray module library, and the sonar buoy subarray module library records the module index of each subarray module in the sonar buoy subarray module library, as well as the module information of each subarray module.
3. The sonar buoy array layout optimization method based on multi-objective evolution according to claim 1, characterized in that, The layout scheme of each individual in the deployment area for generating this iteration population includes: For each individual in this iteration of the population, perform the following operations: Select an individual as the current individual; A two-dimensional state matrix is constructed for the deployment area, which is divided into multiple grids. The state matrix elements of the two-dimensional state matrix correspond one-to-one with the grids. The state matrix elements are used to represent whether the corresponding grid has deployed or not deployed subarray modules. Genes are selected sequentially from the current individual, and all grids in the deployment area are traversed. The grids for deployment of the subarray modules corresponding to the genes are determined until all genes are processed or the two-dimensional state matrix is traversed. The grid schemes deployed by all subarray modules of the current individual are used as the layout schemes of the current individual in the deployment area.
4. The sonar buoy array layout optimization method based on multi-objective evolution according to claim 3, characterized in that, The process of sequentially selecting genes from the current individual, traversing all grids in the deployment area, determining the grid for deployment of the subarray module corresponding to the gene, and continuing until all genes have been processed or the two-dimensional state matrix has been traversed, and then using the grid scheme deployed by all subarray modules of the current individual as the layout scheme of the current individual within the deployment area, includes: Read each gene in the current individual sequentially, take the currently read gene as the current gene, and perform the following operations on the current gene: Extract the subarray module corresponding to the current gene from the sonar buoy subarray module library as the current subarray module, and obtain the envelope rectangle size of the current subarray module; Select one grid at a time as the current scan grid, if the current subarray module satisfies: And satisfy If the starting coordinates of the current subarray module are not found, the starting coordinates of the current subarray module are recorded as the coordinates of the current scan grid. The state matrix elements corresponding to the grids covered by the current subarray module are set as deployed subarray modules. Otherwise, the next grid is selected as the current scan grid. This process continues until the two-dimensional state matrix has been traversed. Here, x0 is the horizontal coordinate of the current scan grid, and y0 is the vertical coordinate of the current scan grid. The width of the envelope rectangle of the current subarray module. The height of the envelope rectangle of the current subarray module. The width of the envelope rectangle of the deployment area. The height of the envelope rectangle of the deployment area. These are the state matrix elements corresponding to the grid with coordinates (i,j).
5. The sonar buoy array layout optimization method based on multi-objective evolution according to claim 1, characterized in that, The calculation of the multi-objective fitness value for each individual based on the layout scheme includes: Calculate the total effective coverage for each individual: Where C is the total effective coverage rate. The sum of the effective detection coverage areas of all deployed subarray modules for an individual. The width of the envelope rectangle of the deployment area. The height of the envelope rectangle of the deployment area; Count the number of deployed subarray modules for each individual; Determine the multi-objective fitness value for each individual. ,in, For multi-objective fitness values, This represents the number of subarray modules that have been deployed.
6. The sonar buoy array layout optimization method based on multi-objective evolution according to claim 1, characterized in that, The evolutionary operation based on multi-objective fitness values to obtain individuals for the next iteration of the population includes: The current iteration population is used as the parent population. Crossover and mutation operations are performed on the parent population to obtain the offspring population. The parent and offspring populations are merged to form a mixed population; Obtain the multi-objective fitness value of each individual in the mixed population; Perform one or more stratification operations until all individuals in the mixed population have completed stratification. Each stratification operation yields an independent non-dominated frontier. The level of the non-dominated frontier in the previous stratification operation is higher than that in the subsequent stratification operation. In each stratification operation, select all individuals that are not dominated by other individuals to form a non-dominated frontier. Remove the individuals with the non-dominated frontier from the mixed population. Perform the stratification operation again on the remaining individuals in the mixed population. For each non-dominated frontier, the crowding distance for each individual is calculated based on the individual's multi-objective fitness value; Individuals within the non-dominated frontier are sequentially incorporated into the new generation population in descending order of non-dominated frontier hierarchy. If the preset population size is still not reached after all non-dominated frontier individuals are incorporated, individuals from the next level are incorporated. If the number of current frontier individuals exceeds the remaining population capacity, individuals are selected from the remaining capacity individuals in descending order of crowding distance and incorporated into the new generation population. The size of the new generation population is consistent with the size of the initial multi-objective evolution population, and the individuals in the new generation population are used as the individuals in the next iteration population.
7. The sonar buoy array layout optimization method based on multi-objective evolution according to claim 6, characterized in that, The screening of all individuals not controlled by other individuals includes: All individuals in the mixed population are compared pairwise. The two individuals compared pairwise are designated as the first individual and the second individual. If the total effective coverage of the first individual is greater than or equal to the total effective coverage of the second individual, and the number of deployed subarray modules of the first individual is less than or equal to the number of deployed subarray modules of the second individual, then the first individual is determined to dominate the second individual. After comparing all individuals pairwise, all individuals that are not dominated by other individuals are selected.
8. The sonar buoy array layout optimization method based on multi-objective evolution according to claim 6, characterized in that, For each non-dominated frontier, the crowding distance for each individual is calculated, including: For each non-dominated frontier, perform the following operation: Sort by multiple objectives in each individual's multi-objective fitness value; The crowding distance between the first and last individuals after sorting is set to infinity. Based on the multi-objective fitness value of an individual, the crowding distance of the intermediate individual is calculated.
9. An electronic device, characterized in that, include: At least one processor; as well as, A memory communicatively connected to at least one of the processors; wherein, The memory stores instructions that are executed by at least one of the processors to enable the at least one of the processors to perform the sonar buoy array layout optimization method based on multi-objective evolution as described in any one of claims 1 to 8.
10. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the sonar buoy array layout optimization method based on multi-objective evolution as described in any one of claims 1 to 8.