Submarine topography solving method and device, electronic equipment and storage medium
Through an improved genetic algorithm based on binary encoding, and combined with the Parker-Oldenburg method, the problems of low inversion accuracy and large calculation volume in the existing technology are solved, and more efficient submarine terrain solution is achieved.
Patent Information
- Application Number
- CN202411093658.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-09
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2044-08-09
AI Technical Summary
When the prior art uses the Parker-Oldenburg method to perform subsea terrain inversion, parameters are regarded as constants, resulting in low accuracy of the inversion result, large calculation amount, and lack of an automated execution framework, which affects the accuracy and practicality of terrain inversion.
Using an improved genetic algorithm based on binary encoding, the parameters of density difference and mean depth of the seabed are optimized by initializing population, crossover and mutation operations, and combined with the Parker-Oldenburg inversion method, the seabed topographic data are gradually solved.
It improves the accuracy and efficiency of subsea terrain inversion, realizes more efficient data solution, and improves calculation accuracy and automation.
Smart Images

Figure CN119128346A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing technology, and in particular to a method, device, electronic equipment and storage medium for solving seabed topography. Background Art
[0002] In the current field of geophysical exploration, especially in the process of crustal structure inversion using gravity data, the Parker-Oldenburg method, as a classic and widely used interface inversion technology, is of great importance. However, existing technical solutions generally design the parameters of Parker-Oldenburg inversion as constants, and this approach has shown significant limitations in practical applications. Specifically, due to the complexity and diversity of underground media, the simple linear relationship assumption between density difference and depth is often difficult to accurately reflect the actual geological conditions, resulting in a significant reduction in the accuracy of the inversion results. In addition, the existing solutions are relatively large in terms of overall computational complexity and lack a unified execution framework, which not only increases the difficulty of parameter tuning, but also limits the automated implementation of advanced functions such as terrain inversion, further affecting the accuracy and practicality of the inversion results. Summary of the invention
[0003] The present invention aims to solve the problem of related technical limitations at least to a certain extent. To this end, the present invention provides a method, device, electronic device and storage medium for solving seabed topography, which can accurately solve seabed topography.
[0004] On the one hand, an embodiment of the present invention provides a method for solving seabed topography, comprising:
[0005] Initializing an initial population based on a preset rule; using the initial population as a first population; wherein the first population includes a preset number of individuals, and the genes of the individuals correspond to a first parameter of the target search area; the first parameter includes a density difference and an average depth of the seafloor; and the first parameter is obtained based on binary coding;
[0006] Based on the first parameter corresponding to the individuals in the first population, the seabed topography data of the target search area is obtained by processing through an inversion method;
[0007] Based on the seafloor topography data and the seismic depth matrix of the target search area, the fitness is evaluated to obtain the root mean square value corresponding to each individual in the first population;
[0008] When the RMS value of an individual in the first population is less than or equal to the iterative optimal threshold, the corresponding individual is taken as the target individual; otherwise,
[0009] Based on the priority corresponding to each individual in the first population, a preset number of individuals are selected from the first population through a random threshold, and the second population is obtained by arranging the individuals; the priority is determined based on the root mean square value, and the priority of the same individual is negatively correlated with the root mean square value;
[0010] Perform the first number of crossover operations on random individuals in the second population based on probability to obtain the third population;
[0011] Based on probability, a second number mutation operation is performed on random individuals in the third population to obtain the fourth population;
[0012] The fourth population is taken as the first population, the first loop number is increased by 1, and the step of obtaining the seafloor topography data of the target search area by the inversion method based on the first parameter corresponding to the individuals in the first population is returned until the target individual is obtained, or the first loop number is equal to the preset iteration number;
[0013] When the first cycle number is equal to the preset iteration number, the target individual is output according to the first population obtained from the last cycle;
[0014] The seabed topography data corresponding to the target individual is used as the target data value for solving the seabed topography of the target search area.
[0015] Optionally, initializing the initial population based on a preset rule includes the following steps:
[0016] Based on a preset center point and a first random number, a preset number of initial parameters are randomly generated near the center point; the first random number represents a random number normally distributed within a first interval; the initial parameters include a decimal density difference and an average depth of the seafloor;
[0017] Alternatively, based on the second random number, a preset number of initial parameters are randomly generated within the second interval; the second random number represents a random value within the third interval;
[0018] Alternatively, in response to an input instruction of the target object, a preset number of initial parameters are obtained;
[0019] The decimal initial parameter is encoded into binary to obtain the first binary parameter, and then the corresponding individual is obtained;
[0020] The initial population is obtained by sorting out the preset number of individuals.
[0021] Optionally, based on the first parameter corresponding to the individuals in the first population, obtaining the seafloor topography data of the target search area by an inversion method comprises the following steps:
[0022] Binary decoding is performed on the first parameter corresponding to the genes of all individuals in the first population to obtain a second parameter; wherein the second parameter includes a decimal density difference and an average seafloor depth;
[0023] Based on the second parameter, the seabed topography data of the target search area is obtained by using the Parker-Oldenburg inversion method.
[0024] Optionally, based on the priority level corresponding to each individual in the first population, a preset number of individuals are selected from the first population by a random threshold, and the second population is obtained by arranging the individuals, which includes the following steps:
[0025] Taking the inverse of the RMS value as the exponent of the natural constant, we can get the priority level corresponding to each individual in the first population;
[0026] Normalize the priorities of all individuals in the first population to obtain the normalized priority of each individual;
[0027] Based on the normalized priorities corresponding to all individuals in the first population, a priority array is obtained;
[0028] Among them, the value of the i-th element in the priority array is the cumulative sum of the normalized priorities corresponding to the first individual to the i-th individual in the first population;
[0029] Generate a random number in the fourth interval as a random threshold;
[0030] Based on the random threshold, sequentially traverse the priority array to find the first element greater than the random threshold as the target element;
[0031] According to the element number of the target element, corresponding individuals are selected from the first population and arranged into the second population, and the step of generating a random number as a random threshold within the fourth interval is returned to be executed until a preset number of individuals are selected from the first population and arranged into the second population.
[0032] Optionally, performing a first number of crossover operations on random individuals in the second population based on probability to obtain a third population includes the following steps:
[0033] Obtain the minimum value of the root mean square values corresponding to all individuals in the second population as the minimum root mean square value;
[0034] The ratio of the minimum root mean square value to the iterative optimal threshold is rounded up to obtain a target integer; the result of multiplying the target integer by a preset number is used as the first multiplication;
[0035] Randomly obtain two individuals from the second population as crossover individuals;
[0036] A random number is generated in the fifth interval as a third random number, and when the third random number is less than a preset crossover operator probability, a crossover operation is performed on a gene fragment of a random length of a density difference and / or an average depth of the seabed in a crossover individual; otherwise, a crossover operation is not performed on the gene of the crossover individual;
[0037] Add 1 to the second cycle number, and return to the step of randomly obtaining two individuals from the second population as crossover individuals until the second cycle number is equal to the first cycle number, thus obtaining the third population;
[0038] The second loop number is initialized to 0.
[0039] Optionally, the second number is less than or equal to a preset number; performing a mutation operation of the second number on random individuals in the third population based on probability to obtain a fourth population comprises the following steps:
[0040] Randomly obtain an individual from the third population as a mutant individual;
[0041] A random number is generated in the sixth interval as a fourth random number, and when the fourth random number is less than a preset mutation operator probability, a mutation operation is performed on the gene corresponding to the density difference and / or the average seabed depth in the mutant individual; otherwise, no mutation operation is performed on the gene of the mutant individual;
[0042] Add 1 to the third cycle number, and return to the step of randomly obtaining an individual from the third population as a mutant individual until the third cycle number is equal to the second number, and obtain the fourth population;
[0043] The third loop number is initialized to 0.
[0044] Optionally, outputting a target individual according to the first population obtained in the last cycle includes the following steps:
[0045] Get the minimum value among the RMS values corresponding to all individuals in the first population obtained in the last cycle, and output the individual corresponding to the minimum value as the target individual.
[0046] On the other hand, an embodiment of the present invention provides a device for solving seabed topography, comprising:
[0047] The first module is used to initialize the initial population based on a preset rule; the initial population is used as the first population; wherein the first population includes a preset number of individuals, and the genes of the individuals correspond to the first parameter of the target search area; the first parameter includes the density difference and the average depth of the seabed; the first parameter is obtained based on binary coding;
[0048] The second module is used to obtain the seabed topography data of the target search area through an inversion method based on the first parameter corresponding to the individuals in the first population;
[0049] The third module is used to evaluate the fitness based on the seafloor topography data and the seismic depth matrix of the target search area to obtain the root mean square value corresponding to each individual in the first population;
[0050] The fourth module is used to take the corresponding individual as the target individual when the RMS value of the individual in the first population is less than or equal to the iterative optimal threshold; otherwise,
[0051] The fifth module is used to select a preset number of individuals from the first population through a random threshold based on the priority corresponding to each individual in the first population, and to obtain a second population; the priority is determined based on the root mean square value, and the priority of the same individual is negatively correlated with the root mean square value;
[0052] The sixth module is used for performing a first number of crossover operations on random individuals in the second population based on probability to obtain a third population;
[0053] The seventh module is used to perform a second number mutation operation on random individuals in the third population based on probability to obtain a fourth population;
[0054] The eighth module is used to use the fourth population as the first population, increase the first cycle number by 1, and return to execute the second module until the target individual is obtained, or the first cycle number is equal to the preset iteration number;
[0055] A ninth module is used for outputting a target individual according to the first population obtained from the last cycle when the first cycle number is equal to the preset iteration number;
[0056] The tenth module is used to use the seabed topography data corresponding to the target individual as the target data value for solving the seabed topography of the target search area.
[0057] On the other hand, an embodiment of the present invention provides an electronic device, including: a processor and a memory; the memory is used to store programs; the processor executes the program to implement the above-mentioned seabed topography solution method.
[0058] On the other hand, an embodiment of the present invention provides a computer storage medium, in which a program executable by a processor is stored. When the program executable by the processor is executed by the processor, it is used to implement the above-mentioned seabed topography solution method.
[0059] The embodiment of the present invention initializes an initial population based on a preset rule; uses the initial population as the first population; wherein the first population includes a preset number of individuals, and the genes of the individuals correspond to the first parameter of the target search area; the first parameter includes density difference and average seabed depth; the first parameter is obtained based on binary coding; based on the first parameter corresponding to the individuals in the first population, the seabed topography data of the target search area is obtained by an inversion method; based on the seabed topography data, fitness evaluation is performed in combination with the seismic depth matrix of the target search area to obtain the root mean square value corresponding to each individual in the first population; when there is an individual in the first population whose corresponding root mean square value is less than or equal to the iterative optimal threshold, the corresponding individual is used as the target individual; otherwise, based on the priority corresponding to each individual in the first population, a preset number of individuals are selected from the first population through a random threshold, and sorted The second population is obtained; the priority is determined based on the root mean square value, and the priority of the same individual is negatively correlated with the root mean square value; the random individuals in the second population are subjected to the first number of crossover operations based on probability to obtain the third population; the random individuals in the third population are subjected to the second number of mutation operations based on probability to obtain the fourth population; the fourth population is used as the first population, the first number of cycles is increased by 1, and the step of obtaining the seafloor topography data of the target search area by the inversion method based on the first parameter corresponding to the individuals in the first population is returned to be executed until the target individual is obtained, or the first number of cycles is equal to the preset number of iterations; when the first number of cycles is equal to the preset number of iterations, the target individual is output according to the first population obtained in the last cycle; the seafloor topography data corresponding to the target individual is used as the target data value for solving the seafloor topography of the target search area. The embodiment of the present invention combines relevant genetic operations based on binary coding, specifically, the binary encoding and decoding is simple, and operations such as crossover and mutation are easy to implement, which can ensure that the improved genetic algorithm search process is more efficient and improve the accuracy and efficiency of data solution. In addition, the embodiment of the present invention can efficiently and accurately solve the seafloor topography based on the cyclic iteration of relevant genetic operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] The accompanying drawings are used to provide a further understanding of the technical solution of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the technical solution of the present invention and do not constitute a limitation on the technical solution of the present invention.
[0061] Figure 1 A schematic diagram of an implementation environment for solving seabed topography provided by an embodiment of the present invention;
[0062] Figure 2 A schematic diagram of a flow chart of a method for solving seabed topography provided by an embodiment of the present invention;
[0063] Figure 3 A schematic diagram of the expansion process of initializing an initial population provided by an embodiment of the present invention;
[0064] Figure 4 A schematic diagram of the expansion process of obtaining seabed topography data by inversion provided in an embodiment of the present invention;
[0065] Figure 5 A schematic diagram of a process of expanding a second population by sorting provided in an embodiment of the present invention;
[0066] Figure 6 A schematic diagram of the expansion process of the crossover operation provided by an embodiment of the present invention;
[0067] Figure 7 A schematic diagram of the expansion process of the mutation operation provided by an embodiment of the present invention;
[0068] Figure 8 A schematic diagram of the overall process of the method for solving the seabed topography provided by an embodiment of the present invention;
[0069] Fig. 9 A schematic diagram of the structure of a submarine topography solving device provided by an embodiment of the present invention;
[0070] Fig.10 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0071] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0072] It should be noted that, although the functional modules are divided in the system schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the system or the order in the flowchart. The terms "first / S100", "second / S200", etc. in the specification, claims and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0073] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present invention. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0074] It is understandable that the method for solving the seabed topography provided in the embodiment of the present invention can be applied to any computer device with data processing and computing capabilities, and this computer device can be various types of terminals or servers. When the computer device in the embodiment is a server, the server is an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. Optionally, the terminal is a smart phone, tablet computer, laptop computer, desktop computer, etc., but is not limited to this.
[0075] To facilitate the understanding of the technical solution of the present invention, the technical features that may appear in the embodiments of the present invention and the specific terms of the variable parameters that may be applied are first explained:
[0076] The technical features are described as follows:
[0077] Seabed topography: the solid earth surface under water. Due to the cover of seawater, the ups and downs of the seabed topography are difficult to observe directly. The early plumb-bob sounding method was time-consuming and of low precision. Since the 1920s, ships have used echo sounders during navigation, which can quickly measure the depth of the seabed and reveal the truth of the seabed topography in combination with precise positioning. In the present invention, the seabed topography refers to the depth of seawater at various latitudes and longitudes of the ocean.
[0078] Heuristic search is also called informed search. It uses the heuristic information of the problem to guide the search, so as to reduce the search scope and reduce the complexity of the problem. This search process using heuristic information is called heuristic search. For example, genetic algorithm is a classic heuristic search algorithm.
[0079] Genetic Algorithm (GA) is a computational model that simulates the biological evolution process, using mechanisms such as natural selection and gene recombination to search and optimize complex problems. It is a heuristic search algorithm, and its basic idea is to create a group of artificial individuals for optimization and solution by simulating the mechanisms of natural inheritance and evolution. In a genetic algorithm, each individual represents a potential solution, and each individual has its own fitness evaluation criteria. By selecting, crossing over, and mutating these individuals, the adaptability of the current population is gradually improved and the potential solution space is explored in order to find the optimal solution. Genetic algorithms have the characteristics of a wide range of applications, strong global search, and easy parallel computing. They are suitable for optimizing and solving various types of problems, including combinatorial optimization, continuous optimization, and multi-objective optimization. Compared with other algorithms, genetic algorithms can efficiently search for the global optimal solution and are widely used in various fields, including but not limited to engineering optimization design, artificial intelligence tasks, financial analysis and prediction, etc.
[0080] Binary encoding: Binary numbers are numbers expressed in the binary number system, which is a number system with a base of 2. In this system, numbers are usually represented by two different symbols, 0 (for zero) and 1 (for one). The base 2 representation system is binary. In digital electronic circuits, the implementation of logic gates directly uses binary, so modern computers and computer-dependent devices use binary. Each digit is called a bit (binary digit).
[0081] The Parker-Oldenburg inversion method is a frequency domain density interface iterative inversion method proposed by Oldenburg based on the Parker formula. Since this method has the advantage of fast calculation, its application has been rapidly developed. However, there is a downward extension factor in the formula, which causes the formula to have an oscillation phenomenon of high-frequency signals during the inversion iteration process, and as the inversion depth increases, this phenomenon becomes more obvious, which seriously affects the convergence of the inversion result. To solve this problem, a low-pass filter is usually applied in the inversion process to eliminate the high-frequency oscillation phenomenon. The Parker-Oldenburg inversion method is one of the important methods for calculating the seabed topography, and is also the starting point of the core of the present invention. At present, the input parameters of the method (filter-related parameters, density difference, depth), etc. are designed according to constants based on experience, but in fact, there is still room for tuning and mining these parameters.
[0082] RMS: The abbreviation of Root Mean Square. The result of taking the square root of the sum of the squares of N items divided by N is the root mean square result.
[0083] The description of the variable parameters is as follows:
[0084] There are 2 variables searched by the improved genetic algorithm based on binary coding, namely contrast (physical meaning: density difference, unit: g / cm 3 ) and depth (physical meaning: depth, unit: km). Then, the parameters of the improved genetic algorithm are as follows:
[0085] Maximum density difference maxContrast: The maximum value of contrast, which is determined by the average value of the target search area, generally obtained based on experience, and satisfies minContrast < maxContrast. In most cases, it is sufficient to satisfy maxContrast - minContrast >= 0.4, and it can be set according to the actual situation.
[0086] Minimum density difference minContrast: The minimum value of contrast, which is determined by the average value of the target search area, generally obtained based on experience, and satisfies minContrast < maxContrast. In most cases, it is sufficient to satisfy maxContrast - minContrast >= 0.4, and it can be set according to the actual situation.
[0087] Maximum depth maxDepth: The maximum value of depth, which is determined by the average value of the target search area, generally obtained based on experience, and satisfies maxDepth < minDepth. In most cases, it is sufficient to satisfy maxDepth - minDepth >= 10, and it can be set according to the actual situation.
[0088] Minimum depth minDepth: The minimum value of depth, which is determined by the average value of the target search area, generally obtained based on experience, and satisfies maxDepth < minDepth. In most cases, it is sufficient to satisfy maxDepth - minDepth >= 10, and it can be set according to the actual situation.
[0089] Population individual quantity sizePop, the individual scale of the genetic algorithm, is valued according to requirements, and the default is 100.
[0090] Maximum population iteration count maxGenCnt, the population reproduction times of the genetic algorithm, that is, the iteration times of the genetic algorithm, is valued according to requirements, and the default is 200.
[0091] Binary coding length encodeLen: The number of bits used for binary coding, which directly affects the gene coding accuracy, is valued according to requirements, and the default is 20.
[0092] Crossover operator probability crossoverRate, a parameter used by the crossover operator, has a value range of [0,1] and is determined based on demand. The default value is 0.9.
[0093] Mutation operator probability mutationRate, a parameter used by the mutation operator, has a value range of [0,1] and is determined based on demand. The default value is 0.1.
[0094] Distance determination ratio DistanceRate, a parameter used by the mutation operator, takes a value based on demand, and the default value is 3.
[0095] Search reduction ratio ReduceRate, a parameter used by the mutation operator, with a value range of [0,1], determined according to requirements, and the default value is 0.5.
[0096] Iterate the optimal threshold minIterDelt. If an individual less than or equal to minIterDelt is found, it means that the optimal solution has been found and the entire search process ends directly.
[0097] The main parameters of the Parker-Oldenburg inversion method are as follows:
[0098] Density difference contrast, unit: g / cm 3 , which is one of the variables searched by means of the improved genetic algorithm, that is, the variable is obtained by searching the improved genetic algorithm and is one of the two search directions mentioned in the present invention.
[0099] Depth depth: unit is km, this is one of the variables searched by means of the improved genetic algorithm, that is, the variable is obtained by searching the improved genetic algorithm, and is one of the two search directions mentioned in the present invention.
[0100] Gravity outlier matrix GravityMat: It is a matrix composed of (longitude, latitude, gravity outlier) triplets, generally data observed by seismic measurement, satellite measurement or other means, and is a constant in the present invention.
[0101] Seismic depth matrix SemisMat: It is a matrix composed of (longitude, latitude, depth) triplets, generally data observed by seismic measurement, satellite measurement or other means, and is a constant in the present invention.
[0102] The iteration threshold criterio, i.e., the iteration rms threshold of the Parker-Oldenburg inversion method, is generally a constant, and the default value is 0.1, which is a constant in the present invention.
[0103] Frequency threshold WH: low-pass filter threshold, the initial value is obtained based on experience, the default value is 0.1, and it is a constant in the present invention.
[0104] Frequency threshold SH: high-pass filter threshold, the initial value is obtained based on experience, the default value is 0.12, and it is a constant in the present invention.
[0105] Window function threshold truncation: It is a signal sampling weighting function in signal processing. The initial value is obtained based on experience, and the default value is 0.1. It is a constant in the present invention.
[0106] like Figure 1 FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the invention. Figure 1 The implementation environment includes at least one terminal 102 and a server 101. The terminal 102 and the server 101 can be connected to a network wirelessly or wired to complete data transmission and exchange.
[0107] Server 101 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.
[0108] In addition, the server 101 can also be a node server in the blockchain network. Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm.
[0109] The terminal 102 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal 102 and the server 101 may be directly or indirectly connected via wired or wireless communication, which is not limited in the embodiment of the present invention.
[0110] Based on the example Figure 1 In the implementation environment shown, an embodiment of the present invention provides a method for solving seabed terrain. The following is explained using the application of the seabed terrain solving method in the server 101 as an example. It can be understood that the seabed terrain solving method can also be applied to the terminal 102.
[0111] Reference Figure 2 , Figure 2 A flow chart of a method for solving seabed topography applied to a server provided in an embodiment of the present invention. The executing subject of the method for solving seabed topography may be any of the aforementioned computer devices (including a server or a terminal).
[0112] Reference Figure 2, the method comprises the following steps:
[0113] S100, initializing an initial population based on a preset rule; using the initial population as the first population;
[0114] The first population includes a preset number of individuals, and the genes of the individuals correspond to the first parameter of the target search area; the first parameter includes the density difference and the average depth of the seabed; the first parameter is obtained based on binary coding;
[0115] It should be noted that in some embodiments, Figure 3 As shown, initializing the initial population based on preset rules may include the following steps: S101, randomly generating a preset number of initial parameters near the center point based on a preset center point and a first random number; the first random number represents a normally distributed random number in a first interval; the initial parameters include a decimal density difference and an average depth of the seabed; or, S102, randomly generating a preset number of initial parameters in a second interval based on a second random number; the second random number represents a random value in a third interval; or, S103, obtaining a preset number of initial parameters in response to an input instruction of the target object; S104, binary encoding the decimal initial parameters to obtain binary first parameters, and then arranging them to obtain corresponding individuals; S105, arranging the initial population according to the preset number of individuals.
[0116] The second interval includes a density difference interval (determined based on a preset maximum density difference value and a preset minimum density difference value) and a seafloor average depth interval (determined based on a preset maximum depth value and a preset minimum depth value);
[0117] For example, in some specific implementations, initializing the population based on binary coding can be implemented as follows:
[0118] The population is composed of a large number of individuals, each of which has two genes, representing the density difference contrast and the average depth of the seabed depth. The present invention uses binary to represent gene coding. The initialization gene first generates a decimal value, and then converts it into binary through coding. The core of population initialization is to generate sizePop (i.e., the preset number) individuals and initialize the corresponding gene for each individual. There are three strategies for population generation:
[0119] Case 1: Generated based on the center point. If the center point is given, the generation of contrast and depth is as follows:
[0120] The generation formula of the first individual gene is as follows, which is mainly generated near the center point.
[0121] contrast=initContrast+normal(0,1)*0.01;
[0122] depth=initDepth+normal(0,1)*0.1;
[0123] Other ways of generating individual genes are:
[0124] contrast=initContrast+(maxContrast-minContrast)*normal(0,1);
[0125] depth=initDepth+(maxDepth-minDepth)*normal(0,1);
[0126] Case 2: Random generation. If no center point is given, it is randomly generated within the search interval. The generation methods of contrast and depth are as follows:
[0127] contrast=minContrast+(maxContrast-minContrast)*random();
[0128] depth=minDepth+(maxDepth-minDepth)*random();
[0129] Case 3: Manually specified. In this case, the initialization genes of all individuals need to be specified manually. The values specified here are in decimal form, and then automatically converted to binary values.
[0130] Among them, initContrast and initDepth represent the center point; random() represents the random value generated in [0,1]; normal(0,1) represents a normal distribution with a mean of 0 and a standard deviation of 1. The obtained random numbers satisfy the normal distribution, thereby ensuring the fairness of gene generation.
[0131] Now we have individuals represented by decimal coded real numbers, which need to be converted into individuals represented by binary coded numbers. The core of binary coding is how to use a fixed number of bits to represent the search interval of a single gene. The simplest method is direct coding, that is, enabling the use of the binary representation of the underlying floating point number (because all numbers are binary representations at the bottom of the computer). The advantage of doing so is that encoding and decoding are convenient, but it is easy to have low search accuracy and search efficiency. In order to solve this situation, the present invention uses a relative coding processing method, and the specific binary encoding and decoding process is as follows:
[0132] Decimal to binary encoding process: The genes involved in the present invention are mainly depth Depth and density difference Contrast, and the maximum and minimum thresholds of each gene are determined, so relative encoding can be used. Specifically, for depth Depth, the gene search interval is [minDepth, maxDepth], and the binary encoding length is encodeLen, that is, encodeLen bits are required to represent [minDepth, maxDepth]. The binary encoding accuracy of depth Depth refers to formula (1), and similarly, the binary encoding accuracy of density difference Contrast refers to formula (3); if there is a decimal depth Depth, the binary encoding can be obtained by calculating formula (2), and the ToBinary() function converts a decimal integer into binary. Similarly, if there is a decimal depth Contrast, the binary encoding can be obtained by calculating formula (4).
[0133]
[0134] Here is a specific example, assuming minDepth = 15.0, maxDepth = 25.0, minContrast = 0.5, maxContrast = 0.7, encodeLen = 20,
[0135] Substituting into formula (1), we can get depthAccuracy = 9.536752259018191e-06;
[0136] Assuming Depth = 15.0, substituting into formula (2) the binary number obtained is 0000 0000 0000 0000 0000;
[0137] Assuming Depth = 21.999, substituting into formula (2) the binary number obtained is 1001 0011 0100 1100 1101;
[0138] Assuming Depth = 25.0, substituting into formula (2) the binary number obtained is 1111 1111 1111 1111 1111;
[0139] Substituting into formula (3) we can get contrastAccuracy = 1.9073504518036378e-07;
[0140] Assuming Contrast = 0.5, substituting into formula (4) the binary value obtained is 0000 0000 0000 0000 0000;
[0141] Assuming Contrast = 0.59999, substituting into formula (4) the binary number obtained is 1101 0011 1111 11111110;
[0142] Assuming Contrast = 0.7, substituting into formula (4) the binary number obtained is 1111 1111 1111 1111 1111;
[0143] From this step, we can see that the accuracy that can be expressed by 20 bits is already very high (1e-06), far exceeding the search accuracy requirements for depth and density difference of the seabed topography, and the accuracy can be customized. The price paid is that encoding and decoding are relatively time-consuming in large-scale computing (actual tests have shown that encoding and decoding do not significantly affect performance when solving the seabed topography with 2 million gravity points). The above is the encoding process of decimal to binary.
[0144] Binary to decimal decoding process: With the encoding process, the decoding process is the opposite of the calculation process. If there is a binary depth DepthBinary, the binary decoding can be obtained by calculating formula (5), and the ToDecimal() function converts the binary integer into a decimal system. Similarly, if there is a binary depth ContrastBinary, the binary decoding can be obtained by calculating formula (6). It can be seen that formula (2) and formula (5), formula (4) and formula (6) are equivalent, which is the core formula of encoding and decoding involved in the present invention.
[0145] Depth=minDepth+ToDecimal(DepthBinary)*DepthAccuracy (5)
[0146] Contrast=minContrast+ToDecimal(ContrastBinary)*ContrastAccuracy (6)
[0147] Here is a specific example, assuming minDepth = 15.0, maxDepth = 25.0, minContrast = 0.5, maxContrast = 0.7, encodeLen = 20,
[0148] Substituting into formula (1), we can get depthAccuracy = 9.536752259018191e-06;
[0149] Assuming that the binary number of Depth is 0000 0000 0000 0000 0000, substitute it into formula (5) and we get 15.0;
[0150] Assuming that the binary number of Depth is 1001 0011 0100 1100 1101, substitute it into formula (5) and we get 21.999;
[0151] Assuming that the binary number of Depth is 1111 1111 1111 1111 1111, substitute it into formula (5) and we get 25.0;
[0152] Substituting into formula (3) we can get contrastAccuracy = 1.9073504518036378e-07;
[0153] Assuming that the binary value of Contrast is 0000 0000 0000 0000 0000, substituting it into formula (6) yields 0.5;
[0154] Assuming that the binary value of Contrast is 1101 0011 1111 1111 1110, substituting it into formula (6) yields 0.5999;
[0155] Assuming that the binary value of Contrast is 1111 1111 1111 1111 1111, substituting it into formula (6) yields 0.7;
[0156] S200, obtaining seabed topographic data of the target search area by an inversion method based on the first parameter corresponding to the individuals in the first population;
[0157] It should be noted that in some embodiments, Figure 4 As shown, step S200 may include the following steps: S201, binary decoding of the first parameter corresponding to the genes of all individuals in the first population to obtain a second parameter; wherein the second parameter includes a decimal density difference and an average seabed depth; S202, based on the second parameter, obtaining the seabed topography data of the target search area by processing using the Parker-Oldenburg inversion method.
[0158] Exemplarily, in some specific implementations, first, binary decoding is performed to obtain the current population: Now a new population is obtained, because all genes of each individual in the population are binary encoded, decoding is required before the seafloor topography can be calculated, so this step is to binary decode all genes of each individual one by one (the specific decoding process refers to the aforementioned decoding instructions, which will not be repeated here), and obtain individuals represented in decimal. Then, the seafloor topography is calculated based on the current population: for the current population, the gene contrast and depth of each individual are traversed one by one, and then the corresponding seafloor topography data is calculated based on the Parker-Oldenburg inversion method.
[0159] S300, performing fitness evaluation based on the seafloor topography data and the seismic depth matrix of the target search area to obtain a root mean square value corresponding to each individual in the first population;
[0160] For example, in some specific implementations, the fitness function value of each individual can be evaluated: each individual in the population calculates the corresponding seafloor topography data, and then combines the seismic depth matrix SemisMat to calculate the corresponding RMS. Each individual will calculate its own RMS, and finally obtain an array of sizePop. Specifically, the data used to calculate the RMS is determined based on the square of the data difference between the seafloor topography data and the seismic depth matrix at the same position.
[0161] S400, when there is an individual in the first population whose corresponding RMS value is less than or equal to the iterative optimal threshold, the corresponding individual is taken as the target individual, and the process jumps to step S1000; otherwise, the process executes step S500;
[0162] Exemplarily, in some specific implementations, all population individuals are traversed to determine whether there is an RMS less than the iterative optimal threshold minIterDelt. If so, it means that the optimal individual (optimal solution, i.e., the target individual) has been found, and the final result of the seabed topography solution can be obtained based on this. Otherwise, continue to execute subsequent steps.
[0163] S500, based on the priority corresponding to each individual in the first population, selecting a preset number of individuals from the first population through a random threshold, and arranging them to obtain a second population;
[0164] Among them, the priority is determined based on the root mean square value, and the priority of the same individual is negatively correlated with the root mean square value;
[0165] It should be noted that in some embodiments, Figure 5As shown, step S500 may include the following steps: S501, taking the reciprocal of the root mean square value as the exponent of the natural constant to obtain the priority corresponding to each individual in the first population; S502, normalizing the priorities corresponding to all individuals in the first population to obtain the normalized priority corresponding to each individual; S503, sorting out a priority array based on the normalized priorities corresponding to all individuals in the first population; wherein the value of the i-th element in the priority array is the cumulative sum of the normalized priorities corresponding to the first individual to the i-th individual in the first population; S504, generating a random number as a random threshold in the fourth interval; S505, based on the random threshold, sequentially traversing the priority array to find the first element greater than the random threshold as the target element; S506, selecting the corresponding individual from the first population according to the element number of the target element and arranging it in the second population, returning to execute the step of generating a random number as the random threshold in the fourth interval, until a preset number of individuals are selected from the first population and arranged in the second population.
[0166] For example, in some specific implementations, applying a selection operator to an individual based on probability can be implemented as follows:
[0167] The selection operator is mainly based on probability to select more excellent individuals. The smaller the RMS, the better the individual, and the larger the RMS, the worse the individual. -RMS To express the individual excellence, e -RMS The larger the value, the better the individual. Formula (7) is used to solve the sum of the priorities of all individuals; Formula (8) is used to calculate the normalized individual priority; referring to Formula (9), the sum of all individual priorities is 1; Formula (10) is used to calculate the array of cumulative priority sums. How to select excellent individuals? Calculate a random number R0 in the range of [0,1], traverse the accRMS array to find the first individual greater than R0, and the individual will be selected.
[0168] Through this selection operator, the larger the averRMS, the greater the probability of being selected, while individuals with smaller averRMS still have a chance to be selected. The reason for this design is that the current excellent individuals mean that the gene expression is excellent and worthy of being selected, but considering that the reason for the low averRMS of individuals may be that the gene expression is relatively slow, they still need to be selected with a certain probability.
[0169]
[0170] S600, performing a first number of crossover operations on random individuals in the second population based on probability to obtain a third population;
[0171] It should be noted that in some embodiments, Figure 6As shown, step S600 may include the following steps: S601, obtaining the minimum value of the root mean square values corresponding to all individuals in the second population as the minimum root mean square value; S602, rounding up the ratio of the minimum root mean square value to the iterative optimal threshold to obtain a target integer; taking the result of multiplying the target integer by a preset number as the first number; S603, randomly obtaining two individuals from the second population as crossover individuals; S604, generating a random number in the fifth interval as a third random number, and when the third random number is less than a preset crossover operator probability, performing a crossover operation on a gene fragment of a random length of a density difference and / or an average depth of the seabed in the crossover individual; otherwise, not performing a crossover operation on the gene of the crossover individual; S605, adding 1 to the second loop number, returning to execute the step of randomly obtaining two individuals from the second population as crossover individuals, until the second loop number is equal to the first number, and obtaining the third population; wherein the second loop number is initialized to 0.
[0172] For example, in some specific implementations, applying a crossover operator to an individual based on probability can be implemented as follows:
[0173] The crossover operator selects two individuals and then crosses their genes. Referring to formula (11), minRMS is the minimum RMS of the current population, round() means rounding up, and crossCnt means the number of crossovers. The advantage of this design is that when minRMS is larger, it means the distance from the global optimal solution is farther, and the crossover operator operates more; when minRMS is smaller, it means the distance from the global optimal solution is closer, and the crossover operator can guarantee at least sizePop times.
[0174]
[0175] For a single crossover operation, based on the excellent individuals obtained by the selection operator, two individuals A1 and A2 are randomly selected; then the random number R2 in [0,1] is calculated. If R2 is less than crossoverRate, it is determined that the two individuals A1 and A2 are to be crossovered; then one is randomly selected from Case1, Case2 and Case3 for the crossover operator operation; for each crossover, the length of the crossover required this time is randomly selected, and then the binary of the corresponding length is directly exchanged; this is repeated, and crossCnt crossover operations are performed, and finally the crossover operation of the entire population is completed.
[0176] Case 1: Density difference crossover, only the density difference crossover operation is performed. The crossover formula is as follows:
[0177] if Then swapLen = Random(0, EncodeLen), otherwise swapLen = Random(0, EncodeLen*ReduceRate);
[0178] t1=A1[contrast][0:swapLen];
[0179] t2=A2[contrast][0:swapLen];
[0180] A1[contrast][0:swapLen]={0};
[0181] A2[contrast][0:swapLen]={0};
[0182] A1[contrast]=A1[contrast]|t2;
[0183] A2[contrast]=A2[contrast]|t1;
[0184] Case 2: Depth crossover, only depth crossover operation is performed. The crossover formula is as follows:
[0185] if Then swapLen = Random(0, EncodeLen), otherwise swapLen = Random(0, EncodeLen*ReduceRate);
[0186] t1=A1[depth][0:swapLen];
[0187] t2 = A2[depth][0:swapLen];
[0188] A1[depth][0:swapLen] = {0};
[0189] A2[depth][0:swapLen] = {0};
[0190] A1[depth]=A1[depth]|t2;
[0191] A2[depth]=A2[depth]|t1;
[0192] Case 3: Density difference crossover and depth crossover, all genes are crossovered:
[0193] if Then swapLen = Random(0, EncodeLen), otherwise swapLen = Random(0, EncodeLen*ReduceRate);
[0194] t1=A1[contrast][0:swapLen];
[0195] t2=A2[contrast][0:swapLen];
[0196] A1[contrast][0:swapLen]={0};
[0197] A2[contrast][0:swapLen]={0};
[0198] A1[contrast]=A1[contrast]|t2;
[0199] A2[contrast]=A2[contrast]|t1;
[0200] t3 = A1[depth][0:swapLen];
[0201] t4 = A2[depth][0:swapLen];
[0202] A1[depth][0:swapLen] = {0};
[0203] A2[depth][0:swapLen] = {0};
[0204] A1[depth]=A1[depth]|t3;
[0205] A2[depth]=A2[depth]|t4;
[0206] Among them, swapLen represents the length of the crossover. If it satisfies This means that the current distance to the optimal individual is far away, and when crossover occurs, it is necessary to increase the randomness and do a long-distance rough search to avoid falling into the local optimum, so Random(0,EncodeLen) is used randomly; otherwise, it means that the current distance to the optimal individual is close, and when crossover occurs, it is necessary to do a close-range precise search nearby, so Random(0,EncodeLen*ReduceRate) is used randomly. DistanceRate is set according to the demand, usually 3; ReduceRate is in the range [0,1], and is set according to the demand, usually 0.5. In addition, in the case of binary encoding, crossover is to directly exchange the length.
[0207] In summary, the total number of crossovers is calculated by minRMS, and then individuals are randomly selected to confirm whether to participate in the crossover based on probability; individuals participating in the crossover select which genes to participate in the crossover based on probability. Finally, the crossover is realized through the randomly obtained swapLen, ultimately ensuring a rough search at long distances and a precise search at short distances.
[0208] S700, performing a second number mutation operation on random individuals in the third population based on probability to obtain a fourth population;
[0209] It should be noted that in some embodiments, Figure 7 As shown, step S700 may include the following steps: S701, randomly obtaining an individual from the third population as a mutant individual; S702, generating a random number as a fourth random number within the sixth interval, and when the fourth random number is less than a preset mutation operator probability, performing a mutation operation on the gene corresponding to the density difference and / or the average seabed depth in the mutant individual; otherwise, not performing a mutation operation on the gene of the mutant individual; S703, adding 1 to the third loop number, returning to execute the step of randomly obtaining an individual from the third population as a mutant individual, until the third loop number is equal to the second loop number, and obtaining a fourth population; wherein the third loop number is initialized to 0.
[0210] For example, in some specific implementations, applying a mutation operator to an individual based on probability can be implemented as follows:
[0211] The mutation operator selects a single individual and then selects genes for mutation. The maximum number of mutations is sizePop, and then a random number R3 in [0,1] is calculated. If R3 is less than mutationRate, an individual is selected for mutation; then one is randomly selected from Case1 and Case2 for mutation operator operation.
[0212] Case 1: Density difference mutation, only the density difference mutation operation is performed. The mutation formula is as follows:
[0213] if
[0214] Then mutationPos=Random(EncodeLen*ReduceRate,EncodeLen),
[0215] Otherwise mutationPos = Random(0, EncodeLen*ReduceRate);
[0216] A1[contrast][mutation]=(A1[contrast][mutation]+1)%2;
[0217] Case 2: Deep mutation, only deep mutation operation is performed. The mutation formula is as follows:
[0218] if
[0219] Then mutationPos=Random(EncodeLen*ReduceRate,EncodeLen),
[0220] Otherwise mutationPos = Random(0, EncodeLen*ReduceRate);
[0221] A1[depth][mutation]=(A1[depth][mutation]+1)%2;
[0222] Among them, mutationPos represents the position of the mutation. If it satisfies This means that the current distance to the optimal individual is far, and the gene mutation needs to occur at a high position, so the genes before and after the mutation will be very different. In order to do a rough search over a long distance and avoid falling into the local optimum, so Random(EncodeLen*ReduceRate,EncodeLen) is random; otherwise, it means that the current distance to the optimal individual is close, and the gene mutation needs to occur at a low position, and a close-range precise search is done, so Random(0,EncodeLen*ReduceRate) is random. DistanceRate is determined according to demand, generally 3; ReduceRate is in the range [0,1], determined according to demand, and generally 0.5.
[0223] In general, the maximum number of mutations is sizePop, and then whether mutation is needed is confirmed based on the mutationRate probability; if mutation is clear, individuals are randomly selected, and then which gene is selected for mutation.
[0224] S800, taking the fourth population as the first population, adding 1 to the first loop number, and returning to execute the step of obtaining the seafloor topography data of the target search area by an inversion method based on the first parameter corresponding to the individuals in the first population, until the target individual is obtained, or the first loop number is equal to the preset iteration number;
[0225] For example, in some specific implementations, after the operation of step S500 to step S700, it means that a population reproduction is completed, and a new population is obtained. Through natural selection of survival of the fittest, it can be determined whether the global optimal solution is searched based on the new population. Steps S200 to step S800 are executed in a loop, and each execution indicates that the population reproduction is iterated once until the maximum number of iterations of the population maxGenCnt is exceeded. If it is not exceeded, it returns to step S200, otherwise it executes the subsequent steps.
[0226] S900, when the first cycle number is equal to the preset iteration number, output the target individual according to the first population obtained in the last cycle;
[0227] It should be noted that, in some embodiments, outputting the target individual according to the first population obtained in the last cycle may include the following steps: obtaining the minimum value among the root mean square values corresponding to all individuals in the first population obtained in the last cycle, and outputting the individual corresponding to the minimum value as the target individual.
[0228] S1000, using the seabed topography data corresponding to the target individual as the target data value for solving the seabed topography of the target search area.
[0229] For example, in some specific implementations, there are only two situations to find the optimal solution (i.e., the target individual): the optimal vector that satisfies the iterative optimal threshold minIterDelt, or the optimal vector obtained by searching the entire space (i.e., the individual with the smallest RMS value in the last population). At this point, the entire search process ends, and not only the optimal solution is obtained, but also the corresponding seabed topography data.
[0230] In order to explain the principle of the technical solution of the present invention in detail, the overall process of the present invention is described below in combination with some specific embodiments. It is easy to understand that the following is an explanation of the technical principle of the present invention and cannot be regarded as a limitation of the present invention.
[0231] First of all, it should be noted that the current technical solutions all design the parameters of Parker-Oldenburg inversion as constants, which results in low solution accuracy. In addition, the existing technology has the following disadvantages:
[0232] 1) Existing methods treat density difference and depth as a linear relationship, resulting in the inaccuracy of the seabed topography obtained by Parker-Oldenburg inversion.
[0233] 2) Facing the optimal parameter problem of the Parker-Oldenburg inversion method, through a large number of tests, the crossover operator and mutation operator of the existing genetic algorithm did not perform well, which was reflected in the low solution efficiency and unstable average solution accuracy;
[0234] 3) The overall amount of calculation is large, and there is no unified execution framework, which makes it difficult to automate terrain inversion, and ultimately makes the calculation results rougher than the actual results.
[0235] In view of this, unlike existing practices, the core idea of the present invention is to start from the nonlinear relationship between density difference and depth; the present invention proposes a seabed topography solution method based on an improved genetic algorithm and Parker-Oldenburg inversion based on binary coding, and finds the optimal parameters through the improved genetic algorithm, and with the help of the Parker-Oldenburg inversion method, a more accurate seabed topography is obtained.
[0236] The present invention solves the optimal parameter problem of the Parker-Oldenburg inversion method. It should be emphasized that the present invention mainly improves the existing genetic algorithm, improves the shortcomings of the existing work, and combines with the Parker-Oldenburg inversion method to solve a more accurate seabed topography. Specifically, refer to Figure 8 As shown, the present invention may include the following process steps:
[0237] Step 1: Parameter initialization. The parameters mainly include two parts: the improved genetic algorithm parameters based on binary coding and the Parker-Oldenburg inversion method parameters (for specific parameter details, refer to the aforementioned variable parameter description). Go to step 2;
[0238] Step 2: Initialize the population based on binary coding. The population is composed of a large number of individuals, each of which has two genes, representing the density difference contrast and the average depth of the seabed depth. The present invention uses binary to represent gene coding. The initialization gene first generates a decimal value, and then converts it into binary through coding. The core of population initialization is to generate sizePop (i.e., the preset number) individuals and initialize the corresponding gene for each individual. There are three strategies for generating a population:
[0239] Case 1: Generated based on the center point. If the center point is given, the generation of contrast and depth is as follows:
[0240] The generation formula of the first individual gene is as follows, which is mainly generated near the center point.
[0241] contrast=initContrast+normal(0,1)*0.01;
[0242] depth=initDepth+normal(0,1)*0.1;
[0243] Other ways of generating individual genes are:
[0244] contrast=initContrast+(maxContrast-minContrast)*normal(0,1);
[0245] depth=initDepth+(maxDepth-minDepth)*normal(0,1);
[0246] Case 2: Random generation. If no center point is given, it is randomly generated within the search interval. The generation methods of contrast and depth are as follows:
[0247] contrast=minContrast+(maxContrast-minContrast)*random();
[0248] depth=minDepth+(maxDepth-minDepth)*random();
[0249] Case 3: Manually specified. In this case, the initialization genes of all individuals need to be specified manually. The values specified here are in decimal form, and then automatically converted to binary values.
[0250] Among them, initContrast and initDepth represent the center point; random() represents the random value generated in [0,1]; normal(0,1) represents a normal distribution with a mean of 0 and a standard deviation of 1. The obtained random numbers satisfy the normal distribution, thereby ensuring the fairness of gene generation.
[0251] Now we have obtained the individual represented by the decimal coded real number, and need to convert it into the individual represented by the binary coded. The core of binary coding is how to use the binary representation of fixed digits to represent the search interval of a single gene. The simplest method is direct coding, i.e., enabling the binary representation (because all numbers are binary representations in the computer bottom layer) of the floating point bottom layer. The advantage of doing so is that encoding and decoding are convenient, but it is easy to have the situation that search accuracy and search efficiency are not high. In order to solve this situation, the present invention uses the processing mode of relative coding, and specific binary coding and decoding process refer to the description in the aforementioned specific embodiment, and will not be repeated here.
[0252] Go to step 3.
[0253] Step 3: Binary decoding to get the current population. Now we have a new population. Since all the genes of each individual in the population are binary coded, they need to be decoded before the seafloor topography can be calculated. Therefore, this step is to binary decode all the genes of each individual one by one to get the individuals represented in decimal. Go to step 4.
[0254] Step 4: Calculate the seafloor topography based on the current population. For the current population, traverse the gene contrast and depth of each individual one by one, and then calculate the corresponding seafloor topography data based on the Parker-Oldenburg inversion method. Go to step 5.
[0255] Step 5: Evaluate the fitness function value of each individual. At this point, each individual in the population has calculated the corresponding seafloor topography data, and then combined with the seismic depth matrix SemisMat, the corresponding RMS is calculated. Each individual will calculate its own RMS, and finally get an array of sizePop. Go to step 6.
[0256] Step 6: There are individuals with RMS less than the threshold. Traverse all individuals in the population and determine whether there is an individual with RMS less than the iterative optimal threshold minIterDelt. If so, go to step 12, indicating that the optimal individual (optimal solution) has been found. Otherwise, go to step 7.
[0257] Step 7: Apply the selection operator to individuals based on probability. The selection operator mainly selects more excellent individuals based on probability. The smaller the RMS, the better the individual, and the larger the RMS, the worse the individual. -RMS To express the individual excellence, e -RMS The larger the value, the better the individual. Formula (7) is used to solve the sum of the priorities of all individuals; Formula (8) is used to calculate the normalized individual priority; referring to Formula (9), the sum of all individual priorities is 1; Formula (10) is used to calculate the array of cumulative priority sums. How to select excellent individuals? Calculate a random number R0 in the range of [0,1], traverse the accRMS array to find the first individual greater than R0, and the individual will be selected.
[0258] Through this selection operator, the larger the averRMS, the greater the probability of being selected, while individuals with smaller averRMS still have a chance to be selected. The reason for this design is that the current excellent individuals mean that the gene expression is excellent and worthy of being selected, but considering that the reason for the low averRMS of individuals may be that the gene expression is relatively slow, they still need to be selected with a certain probability.
[0259]
[0260] For example, if the array of the original RMS is [3, 7, 1, 9], that is, there are four individual RMS values which are 3, 7, 1, and 9 respectively.
[0261] Through formula (7), we get sum = e -3 +e -7 +e -1 +e -9 = 0.4187;
[0262] Through formula (8), the averRMS array is Calculated to get averRMS = [0.1189, 0.0022, 0.8786, 0.0003]. It can be verified through formula (9) that the sum of the averRMS array is 1.
[0263] Calculate the accRMS array through formula (10),
[0264] accRMS[0] = 0.1189;
[0265] accRMS[1] = 0.1189 + 0.0022 = 0.1211;
[0266] accRMS[2] = 0.1189 + 0.0022 + 0.8786 = 0.9997;
[0267] accRMS[3] = 0.1189 + 0.0022 + 0.8786 + 0.0003 = 1.0000;
[0268] Then calculate the random value R1. If R1 < accRMS[0], then accRMS[0] is selected; if R1 >= accRMS[0] and R1 < accRMS[1], then accRMS[1] is selected; if R1 >= accRMS[1] and R1 < accRMS[2], then accRMS[2] is selected; if R1 >= accRMS[2] and R1 < accRMS[3], then accRMS[3] is selected; if R1 >= accRMS[3], then accRMS[3] is selected. This is the critical case.
[0269] In this way, through sizePop runs of the selection operator, finally sizePop excellent individuals are obtained. Among them, the same individual may be selected twice or more. Go to step 8.
[0270] Step 8: Apply the crossover operator to individuals based on probability. The crossover operator selects two individuals and then crosses their genes. Referring to formula (11), minRMS is the minimum value of the RMS of the current population, round() means rounding up, and crossCnt means the number of crossovers. The advantage of this design is that when minRMS is larger, it means the distance from the global optimal solution is farther, and the crossover operator operates more; when minRMS is smaller, it means the distance from the global optimal solution is closer, and the crossover operator can guarantee at least sizePop times.
[0271]
[0272] For a single crossover operation, based on the excellent individuals obtained by the selection operator, two individuals A1 and A2 are randomly selected; then the random number R2 in [0,1] is calculated. If R2 is less than crossoverRate, it is determined that the two individuals A1 and A2 are to be crossovered; then one is randomly selected from Case1, Case2 and Case3 for the crossover operator operation; for each crossover, the length of the crossover required this time is randomly selected, and then the binary of the corresponding length is directly exchanged; this is repeated, and crossCnt crossover operations are performed, and finally the crossover operation of the entire population is completed.
[0273] Case 1: Density difference crossover, only the density difference crossover operation is performed. The crossover formula is as follows:
[0274] if Then swapLen = Random(0, EncodeLen), otherwise swapLen = Random(0, EncodeLen*ReduceRate);
[0275] t1=A1[contrast][0:swapLen];
[0276] t2=A2[contrast][0:swapLen];
[0277] A1[contrast][0:swapLen]={0};
[0278] A2[contrast][0:swapLen]={0};
[0279] A1[contrast]=A1[contrast]|t2;
[0280] A2[contrast]=A2[contrast]|t1;
[0281] Case 2: Depth crossover, only depth crossover operation is performed. The crossover formula is as follows:
[0282] if Then swapLen = Random(0, EncodeLen), otherwise swapLen = Random(0, EncodeLen*ReduceRate);
[0283] t1=A1[depth][0:swapLen];
[0284] t2 = A2[depth][0:swapLen];
[0285] A1[depth][0:swapLen] = {0};
[0286] A2[depth][0:swapLen] = {0};
[0287] A1[depth]=A1[depth]|t2;
[0288] A2[depth]=A2[depth]|t1;
[0289] Case 3: Density difference crossover and depth crossover, all genes are crossovered:
[0290] if Then swapLen = Random(0, EncodeLen), otherwise swapLen = Random(0, EncodeLen*ReduceRate);
[0291] t1=A1[contrast][0:swapLen];
[0292] t2=A2[contrast][0:swapLen];
[0293] A1[contrast][0:swapLen]={0};
[0294] A2[contrast][0:swapLen]={0};
[0295] A1[contrast]=A1[contrast]|t2;
[0296] A2[contrast]=A2[contrast]|t1;
[0297] t3 = A1[depth][0:swapLen];
[0298] t4 = A2[depth][0:swapLen];
[0299] A1[depth][0:swapLen] = {0};
[0300] A2[depth][0:swapLen] = {0};
[0301] A1[depth]=A1[depth]|t3;
[0302] A2[depth]=A2[depth]|t4;
[0303] Among them, swapLen represents the length of the crossover. If it satisfies This means that the current distance to the optimal individual is far away, and when crossover occurs, it is necessary to increase the randomness and do a long-distance rough search to avoid falling into the local optimum, so Random(0,EncodeLen) is used randomly; otherwise, it means that the current distance to the optimal individual is close, and when crossover occurs, it is necessary to do a close-range precise search nearby, so Random(0,EncodeLen*ReduceRate) is used randomly. DistanceRate is set according to the demand, usually 3; ReduceRate is in the range [0,1], and is set according to the demand, usually 0.5. In addition, in the case of binary encoding, crossover is to directly exchange the length.
[0304] In summary, the total number of crossovers is calculated by minRMS, and then individuals are randomly selected to confirm whether to participate in the crossover based on probability; individuals participating in the crossover select which genes to participate in the crossover based on probability. Finally, the crossover is realized through the randomly obtained swapLen, ultimately ensuring a rough search at long distances and a precise search at short distances.
[0305] Here is a specific example. If minRMS is 1.2, minIterDelt is 1, sizePop is 4, and crossoverAlpha is 0.8, then corssCnt = round(1.2 / 1)*4 = 8, that is, at most 8 pairs of individuals participate in the crossover operation. Here, take the crossover of a pair of individuals as an example. Assume that the density difference of individual A1 is A1[contrast] = 0000 1111 110000110101, and the depth of individual A1 is A1[depth] = 1111 0011 0011 1010 1101; the density difference of individual A2 is A2[contrast] = 1000 1001 1010 1100 1111, and the depth of individual A2 is A2[depth] = 1111 001111110000 0001. If the random number R2 is less than the crossoverRate, then A1 and A2 are definitely crossed over.
[0306] If only density crossover is performed, then, assume swapLen is 8;
[0307] Before Crossover:
[0308] A1[contrast]=0000 1111 1100 0011 0101;
[0309] A2[contrast]=1000 1001 1010 1100 1111;
[0310] After crossover:
[0311] A1[contrast]=0000 1111 1100 1100 1111;
[0312] A2[contrast]=1000 1001 1010 0011 0101;
[0313] If only depth crossover is done, then, assume swapLen is 11;
[0314] Before Crossover:
[0315] A1[depth]=1111 0011 0011 1010 1101;
[0316] A2[depth]=1111 0011 1111 0000 0001;
[0317] After crossover:
[0318] A1[depth]=1111 0011 0011 0000 0001;
[0319] A2[depth]=1111 0011 1111 1010 1101;
[0320] If you want to cross density difference and depth at the same time, it is similar to the above, so I won’t go into details here. Go to step 9.
[0321] Step 9: Apply the mutation operator to individuals based on probability. The mutation operator selects a single individual and then selects genes for mutation. The maximum number of mutations is sizePop, and then a random number R3 in [0,1] is calculated. If R3 is less than mutationRate, an individual is selected for mutation; then one is randomly selected from Case1 and Case2 for mutation operator operation.
[0322] Case 1: Density difference mutation, only the density difference mutation operation is performed. The mutation formula is as follows:
[0323] if
[0324] Then mutationPos=Random(EncodeLen*ReduceRate,EncodeLen),
[0325] Otherwise mutationPos = Random(0, EncodeLen*ReduceRate);
[0326] A1[contrast][mutation]=(A1[contrast][mutation]+1)%2;
[0327] Case 2: Deep mutation, only deep mutation operation is performed. The mutation formula is as follows:
[0328] if
[0329] Then mutationPos=Random(EncodeLen*ReduceRate,EncodeLen),
[0330] Otherwise mutationPos = Random(0, EncodeLen*ReduceRate);
[0331] A1[depth][mutation]=(A1[depth][mutation]+1)%2;
[0332] Among them, mutationPos represents the position of the mutation. If it satisfies This means that the current distance to the optimal individual is far, and the gene mutation needs to occur at a high position, so the genes before and after the mutation will be very different. In order to do a rough search over a long distance and avoid falling into the local optimum, so Random(EncodeLen*ReduceRate,EncodeLen) is random; otherwise, it means that the current distance to the optimal individual is close, and the gene mutation needs to occur at a low position, and a close-range precise search is done, so Random(0,EncodeLen*ReduceRate) is random. DistanceRate is determined according to demand, generally 3; ReduceRate is in the range [0,1], determined according to demand, and generally 0.5.
[0333] In general, the maximum number of mutations is sizePop, and then the mutationRate probability is used to determine whether a mutation is needed; if a mutation is required, individuals are randomly selected, and then which gene is used for mutation. Go to step 10.
[0334] Step 10: Get the next generation population. After the operations from step 7 to step 9, it means that a population reproduction is completed, and a new population is obtained. Through natural selection of survival of the fittest, determine whether the global optimal solution is found based on the new population. If the global optimal solution is found, go to step 12. Otherwise, go to step 11.
[0335] Step 11: Satisfy the maximum number of population iterations. Steps 3 to 10 are executed in a loop. Each execution indicates that the population reproduces once until the maximum number of population iterations maxGenCnt is reached. If it is not exceeded, go to step 3, otherwise go to step 12.
[0336] Step 12: Find the optimal solution. This step yields the optimal solution for the entire search process. There are only two solutions: the optimal vector that satisfies the iterative optimal threshold minIterDelt, or the optimal vector obtained by searching the entire space. At this point, the entire search process ends, and not only the optimal solution is obtained, but also the corresponding seafloor topography data.
[0337] In summary, the present invention proposes a method for solving seabed topography based on an improved genetic algorithm based on binary coding and Parker-Oldenburg inversion, which finds the optimal parameters by using an improved genetic algorithm based on binary coding and uses the Parker-Oldenburg inversion method to obtain a more accurate seabed topography. Compared with the prior art, the present invention has at least the following beneficial effects:
[0338] 1) An improved genetic algorithm based on binary coding is proposed to search for the optimal density difference contrast and depth depth. The binary coding uses dynamic coding bits and supports customized coding accuracy, which ultimately improves the accuracy of Parker-Oldenburg inversion of seafloor topography.
[0339] 2) The optimized crossover operator and mutation operator are proposed. The binary encoding and decoding are simple, and the operations such as crossover and mutation are easy to implement. The improved operator supports long-distance rough search and short-distance precise search, which can ensure that the improved genetic algorithm search process is more efficient and improve the accuracy and efficiency of data solution;
[0340] 3) The improved genetic algorithm based on binary coding and Parker-Oldenburg inversion are combined to ensure the accuracy of the seabed topography and improve the computational efficiency.
[0341] On the other hand, Fig. 9 As shown, an embodiment of the present invention provides a submarine topography solving device 900, which may include:
[0342] The first module 901 is used to initialize the initial population based on a preset rule; the initial population is used as the first population; wherein the first population includes a preset number of individuals, and the genes of the individuals correspond to the first parameter of the target search area; the first parameter includes the density difference and the average depth of the seabed; the first parameter is obtained based on binary coding;
[0343] The second module 902 is used to obtain the seabed topography data of the target search area by inversion method based on the first parameter corresponding to the individuals in the first population;
[0344] The third module 903 is used to perform fitness evaluation based on the seafloor topography data and the seismic depth matrix of the target search area to obtain the root mean square value corresponding to each individual in the first population;
[0345] The fourth module 904 is used to take the corresponding individual as the target individual when the RMS value of the individual in the first population is less than or equal to the iterative optimal threshold; otherwise,
[0346] The fifth module 905 is used to select a preset number of individuals from the first population by a random threshold based on the priority corresponding to each individual in the first population, and to obtain a second population; the priority is determined based on the root mean square value, and the priority of the same individual is negatively correlated with the root mean square value;
[0347] The sixth module 906 is used to perform a first number of crossover operations on random individuals in the second population based on probability to obtain a third population;
[0348] The seventh module 907 is used to perform a second number mutation operation on random individuals in the third population based on probability to obtain a fourth population;
[0349] The eighth module 908 is used to use the fourth population as the first population, increase the first loop number by 1, and return to execute the second module until the target individual is obtained, or the first loop number is equal to the preset iteration number;
[0350] A ninth module 909 is used for outputting a target individual according to the first population obtained from the last cycle when the first cycle number is equal to the preset iteration number;
[0351] The tenth module 910 is used to use the seabed topography data corresponding to the target individual as the target data value for solving the seabed topography of the target search area.
[0352] The contents of the method embodiments of the present invention are all applicable to the device embodiments. The functions specifically implemented by the device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0353] On the other hand, an embodiment of the present invention further provides an electronic device, the electronic device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the above-mentioned hydrate stability region bottom boundary prediction method when executing the computer program. The electronic device can be any intelligent terminal including a tablet computer, a car computer, etc.
[0354] It can be understood that the contents of the above method embodiments are all applicable to the present device embodiments, the functions specifically implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0355] like Fig.10 As shown, Fig.10 The hardware structure of an electronic device 1000 of another embodiment is illustrated. The electronic device 1000 includes:
[0356] The processor 1001 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention.
[0357] The memory 1002 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1002 can store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 1002, and the processor 1001 calls and executes the network node population optimization method of the embodiment of the present invention;
[0358] Input / output interface 1003, used to implement information input and output;
[0359] The communication interface 1004 is used to realize the communication interaction between the device and other devices. The communication can be realized through a wired manner (such as USB, network cable, etc.) or a wireless manner (such as mobile network, WIFI, Bluetooth, etc.);
[0360] A bus 1005 , which transmits information between various components of the device (e.g., the processor 1001 , the memory 1002 , the input / output interface 1003 , and the communication interface 1004 );
[0361] The processor 1001 , the memory 1002 , the input / output interface 1003 and the communication interface 1004 are connected to each other in communication within the device via the bus 1005 .
[0362] The electronic device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0363] The contents of the method embodiments of the present invention are all applicable to the electronic device embodiments. The functions specifically implemented by the electronic device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0364] Another aspect of an embodiment of the present invention further provides a computer-readable storage medium, wherein the storage medium stores a program, and the program is executed by a processor to implement the above method.
[0365] The contents of the method embodiments of the present invention are all applicable to the computer-readable storage medium embodiments. The functions specifically implemented by the computer-readable storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0366] The embodiment of the present invention also discloses a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. A processor of a computer device can read the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the above method.
[0367] Although the embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the claims and their equivalents.
[0368] The above is a specific description of the preferred implementation of the present invention, but the present invention is not limited to the embodiments. Those skilled in the art can make various equivalent modifications or substitutions without violating the spirit of the present invention. These equivalent modifications or substitutions are all included in the scope defined by the claims of the present invention.
Claims
1. A method for solving seabed topography, characterized in that: The following steps are involved: Initializing an initial population based on a preset rule; using the initial population as a first population; wherein the first population includes a preset number of individuals, and the genes of the individuals correspond to a first parameter of the target search area; the first parameter includes a density difference and an average depth of the seafloor; and the first parameter is obtained based on binary coding; Based on the first parameter corresponding to the individuals in the first population, obtaining seabed topographic data of the target search area through an inversion method; Based on the seafloor topography data, fitness evaluation is performed in combination with the seismic depth matrix of the target search area to obtain a root mean square value corresponding to each individual in the first population; When the RMS value corresponding to the individual in the first population is less than or equal to the iterative optimal threshold, the corresponding individual is taken as the target individual; otherwise, Based on the priority corresponding to each of the individuals in the first population, the preset number of individuals are selected from the first population by a random threshold, and a second population is obtained by arranging the individuals; the priority is determined based on the root mean square value, and the priority of the same individual is negatively correlated with the root mean square value; Performing a first number of crossover operations on the random individuals in the second population based on probability to obtain a third population; Perform a second number mutation operation on the random individuals in the third population based on probability to obtain a fourth population; Taking the fourth population as the first population, increasing the first loop number by 1, and returning to execute the step of obtaining the seabed topography data of the target search area by an inversion method based on the first parameter corresponding to the individuals in the first population, until the target individual is obtained, or the first loop number is equal to the preset iteration number; When the first cycle number is equal to the preset iteration number, outputting the target individual according to the first population obtained in the last cycle; The seabed topography data corresponding to the target individual is used as the target data value for solving the seabed topography of the target search area.
2. The method for solving seabed topography according to claim 1, characterized in that: The initialization of the initial population based on the preset rules includes the following steps: Based on a preset center point and a first random number, randomly generating the preset number of initial parameters near the center point; the first random number represents a random number normally distributed within a first interval; the initial parameters include the density difference in decimal and the average depth of the seafloor; Alternatively, based on a second random number, the preset number of initial parameters are randomly generated within a second interval; the second random number represents a random value within a third interval; Alternatively, in response to an input instruction of a target object, obtaining the preset number of initial parameters; Binary-code the decimal initial parameter to obtain the first binary parameter, and then sort it to obtain the corresponding individual; The initial population is obtained by sorting the preset number of individuals.
3. The method for solving seabed topography according to claim 1, characterized in that: The method of obtaining the seabed topography data of the target search area by an inversion method based on the first parameter corresponding to the individuals in the first population comprises the following steps: Binary decoding is performed on the first parameter corresponding to the genes of all the individuals in the first population to obtain a second parameter; wherein the second parameter includes the density difference in decimal and the average depth of the seafloor; Based on the second parameter, the seabed topography data of the target search area is obtained by processing using the Parker-Oldenburg inversion method.
4. The method for solving seabed topography according to claim 1, characterized in that: The step of selecting the preset number of individuals from the first population by a random threshold based on the priority level corresponding to each individual in the first population to obtain a second population comprises the following steps: Taking the reciprocal of the root mean square value as the exponent of the natural constant, obtaining the priority corresponding to each of the individuals in the first population; Normalizing the priorities corresponding to all the individuals in the first population to obtain a normalized priority corresponding to each individual; Based on the normalized priorities corresponding to all individuals in the first population, a priority array is obtained; The value of the i-th element in the priority array is the cumulative sum of the normalized priorities corresponding to the first individual to the i-th individual in the first population; generating a random number within a fourth interval as the random threshold; Based on the random threshold, sequentially traverse the priority array to find the first element greater than the random threshold as the target element; According to the element number of the target element, the corresponding individuals are selected from the first population and arranged into the second population, and the step of generating a random number as the random threshold within the fourth interval is returned to be executed until the preset number of individuals are selected from the first population and arranged into the second population.
5. The method for solving seabed topography according to claim 1, characterized in that: The method of performing a first number of crossover operations on the random individuals in the second population based on probability to obtain a third population comprises the following steps: Obtaining a minimum value among the root mean square values corresponding to all the individuals in the second population as a minimum root mean square value; Rounding up the ratio of the minimum RMS value to the iterative optimal threshold to obtain a target integer; and taking a result of multiplying the target integer by the preset number as the first number; Randomly obtain two individuals from the second population as crossover individuals; Generate a random number as a third random number within the fifth interval, and when the third random number is less than a preset crossover operator probability, perform the crossover operation on the gene fragment of the random length of the density difference and / or the average depth of the seabed in the crossover individual; otherwise, do not perform the crossover operation on the gene of the crossover individual; Add 1 to the second cycle number, and return to execute the step of randomly obtaining two individuals from the second population as crossover individuals until the second cycle number is equal to the first number, thereby obtaining the third population; Wherein, the second cycle number is initialized to 0.
6. The method for solving seabed topography according to claim 1, characterized in that: The second number is less than or equal to the preset number; performing a second number mutation operation on the random individuals in the third population based on probability to obtain a fourth population includes the following steps: Randomly obtaining one of the individuals from the third population as a variant individual; Generate a random number as a fourth random number within a sixth interval, and when the fourth random number is less than a preset mutation operator probability, perform the mutation operation on the gene corresponding to the density difference and / or the average seabed depth in the mutant individual; otherwise, do not perform the mutation operation on the gene of the mutant individual; Add 1 to the third cycle number, and return to the step of randomly obtaining one of the individuals from the third population as a variant individual until the third cycle number is equal to the second number, thereby obtaining the fourth population; Wherein, the third cycle number is initialized to 0.
7. The method for solving seabed topography according to claim 1, characterized in that: Outputting the target individual according to the first population obtained in the last cycle comprises the following steps: The minimum value among the root mean square values corresponding to all the individuals in the first population obtained in the last cycle is obtained, and the individual corresponding to the minimum value is output as the target individual.
8. A device for solving seabed topography, characterized in that: include: The first module is used to initialize the initial population based on preset rules; The initial population is used as the first population; wherein the first population includes a preset number of individuals, and the genes of the individuals correspond to the first parameter of the target search area; the first parameter includes the density difference and the average depth of the seabed; the first parameter is obtained based on binary coding; A second module is used to obtain the seabed topography data of the target search area by an inversion method based on the first parameter corresponding to the individuals in the first population; A third module is used to perform fitness evaluation based on the seabed topography data and in combination with the seismic depth matrix of the target search area to obtain a root mean square value corresponding to each of the individuals in the first population; The fourth module is used to take the corresponding individual as the target individual when the root mean square value corresponding to the individual in the first population is less than or equal to the iterative optimal threshold; otherwise, A fifth module is used to select the preset number of individuals from the first population through a random threshold based on the priority corresponding to each individual in the first population, and to obtain a second population; the priority is determined based on the root mean square value, and the priority of the same individual is negatively correlated with the root mean square value; A sixth module is used for performing a first number of crossover operations on the random individuals in the second population based on probability to obtain a third population; A seventh module is used to perform a second number mutation operation on the random individuals in the third population based on probability to obtain a fourth population; An eighth module is used to use the fourth population as the first population, increase the first loop number by 1, and return to execute the second module until the target individual is obtained, or the first loop number is equal to a preset iteration number; A ninth module, configured to output the target individual according to the first population obtained in the last cycle when the first cycle number is equal to the preset iteration number; A tenth module is used to use the seabed topography data corresponding to the target individual as the target data value for solving the seabed topography of the target search area.
9. An electronic device, characterized in that: including a processor and a memory; The memory is used to store programs; The processor executes the program to implement the method according to any one of claims 1 to 7.
10. A computer storage medium storing a program executable by a processor, characterized in that: The program executable by the processor is used to implement the method according to any one of claims 1 to 7 when executed by the processor.
Citation Information
Patent Citations
Gravity multi-interface inversion method
CN105549106A
Spark-based pre-stack seismic data AVO elastic parameter inversion method and system
CN108445537A
Tramcar layout method based on particle swarm optimization
CN117688968A
Optimum arrangement method for investigation boring for level estimation of foundation ground, and record media for the method
JP1999148127A
