A method and device for non-uniform deployment of underwater sensor nodes based on sink node traction
By introducing sink node traction force into the underwater sensor network, improving virtual force algorithms are carried out and non-uniform deployment is solved, the problems of isolated nodes and hot zones are improved, the connectivity and coverage of the network are improved, and the survival cycle is extended.
Patent Information
- Application Number
- CN202211452987.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-21
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2042-11-21
AI Technical Summary
Existing underwater sensor networks are prone to produce isolated nodes when the number of nodes is small, resulting in poor network connectivity and low coverage. At the same time, nodes close to the water surface and sink undertake too much data forwarding tasks, resulting in excessive energy consumption and early decline.
The non-uniform deployment method of underwater sensor nodes based on sink node traction force is adopted. By introducing sink node traction force to improve virtual force operators, guiding particle speed update formulas, calculating initial deployment coordinates, and performing hollow repairs through sampling detection method and virtual force algorithm to optimize network deployment coordinates.
It effectively reduces the generation of isolated nodes, improves network connectivity and coverage, alleviates hot zone problems, extends the network's survival cycle, and saves deployment costs.
Smart Images

Figure CN115720340B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of underwater sensor networks, and in particular to a method for non-uniform deployment of underwater sensor nodes based on sink node traction. Background Art
[0002] The ocean is of great significance to social survival and national development. In recent years, with the development of marine resources, the application demand for underwater wireless sensor networks has been increasing. In terms of civilian use, underwater sensor networks have a good prospect in earthquake and tsunami warning, ecosystem monitoring, oil drilling and other aspects; in terms of military use, the construction of underwater sensor networks is to improve the navy's environmental perception and monitoring capabilities and improve the navy's response speed to emergencies. In the marine environment, the method of manually deploying sensors at fixed points is labor-intensive and inefficient. Therefore, the mainstream underwater sensor node deployment scheme adopts random deployment, but this will also bring about problems such as low node utilization, poor network coverage and connectivity. In the deployment scheme for coverage, most algorithms try to achieve uniform deployment to maximize the coverage of the network, but such uniform deployment has two disadvantages: first, when the number of nodes is small, the deployment that maximizes coverage is prone to produce isolated nodes, that is, although the nodes do not have repeated coverage areas, the distance between the nodes is greater than the farthest distance for them to complete communication, which makes it impossible for the deployed nodes to truly communicate, so it is not practical; second, after the deployment is completed, the nodes are very likely to face the hot zone problem when communicating, that is, the nodes close to the water surface and the sink are more responsible for forwarding data during routing, resulting in excessive energy consumption and premature aging of these nodes, causing other nodes on the communication link of this node to be unable to communicate with the sink node, resulting in a large number of nodes disconnected, greatly reducing the life cycle of the network. In order to optimize the hot zone problem, prevent the problem of a large number of nodes being disconnected together due to the premature aging of key nodes, and optimize the problem that a small number of nodes are easily isolated when randomly deployed, resulting in poor network connectivity, low actual coverage, and node data cannot be transmitted to sink nodes or base stations, a proper non-uniform underwater node deployment method has become one of the important research contents in this regard.
[0003] Yujiao Sun published "The Coverage Optimization Method for Underwater Sensor Network Based on VF-PSO Algorithm" at the 2020 Chinese Control And Decision Conference. He designed a sensor node deployment scheme for the two-dimensional sea surface, aiming to solve the problem of insufficient optimization ability of the virtual force algorithm. The algorithm has a good uniform deployment effect when deploying more nodes in two dimensions, but when facing three-dimensional space deployment, the convergence speed of the algorithm is greatly slowed down due to the large increase in the number of dimensions. In addition, when the number of nodes is small, the algorithm is prone to isolation, resulting in coverage but loss of connection after actual deployment. This will lead to a waste of node resources in the application and cause additional application costs. Vincent designed a "Three-dimensional Wireless Sensor Network Node Deployment Algorithm Based on Improved Particle Swarm Algorithm" in "Electro-Optics and Control", and optimized the fluctuation of the algorithm around the optimal solution in the later stage through the linear attenuation inertia factor. However, this algorithm relies on the generation of the initial population. When the initial population is not generated well, isolated nodes are easily generated, resulting in node disconnection after deployment, wasting network resources. In addition, this algorithm also intends to perform uniform deployment, and does not optimize the hot spot problem that is likely to be encountered during subsequent network routing.
[0004] Therefore, it is necessary to design a node deployment solution for three-dimensional underwater environments that takes into account both coverage and connectivity while optimizing hot spot issues. Summary of the invention
[0005] The present invention solves the problem that in the deployment scheme for coverage, when the number of nodes is small, the deployment that maximizes the coverage is prone to produce isolated nodes and is not practical; and after the deployment is completed, the nodes close to the water surface and the sink are more responsible for forwarding data during routing, resulting in a large number of nodes being disconnected, which greatly shortens the life cycle of the network.
[0006] The present invention provides a method for non-uniform deployment of underwater sensor nodes based on sink node traction, the method comprising:
[0007] The sink node traction force is introduced to improve the virtual force operator, and the guidance is carried out according to the improved virtual force operator to obtain the particle velocity update formula;
[0008] Calculate the initial deployment coordinates according to the particle velocity update formula;
[0009] Calculate the coordinate holes of the initial deployment according to the sampling detection method, repair the holes according to the virtual force algorithm, and obtain the network deployment coordinates;
[0010] According to the correspondence between the network deployment coordinates and the nodes actually thrown on the water surface, the network deployment with the shortest moving distance is obtained to complete the network deployment.
[0011] Furthermore, a preferred implementation is provided, wherein the sink node traction is introduced to improve the virtual force operator, and the guidance is performed according to the improved virtual force operator to obtain the particle velocity update formula, including:
[0012] S1: Set the particle swarm algorithm parameters;
[0013] S2: Network coverage is used as the fitness function of network deployment;
[0014] S3: Initialize the distance threshold of the virtual force and the upper and lower bounds of the particle search space of the particle swarm algorithm;
[0015] S4: Initialize the population according to the upper and lower bounds of the particle search space;
[0016] S5: Calculate the interaction force between nodes and the traction force of the sink node, and obtain the virtual force operator of the particle according to the interaction force between nodes and the traction force of the sink node;
[0017] S6: Update the population position in the particle swarm algorithm based on the virtual force operator;
[0018] S7: Calculate the fitness value of the new population according to the coordinates of the updated population position in the search space and update the local optimum and the global optimum;
[0019] S8: Repeat S5 to S7 until a maximum number of iterations is obtained, and output a global optimal solution corresponding to the number of iterations, wherein the global optimal solution is used as the coordinates for initial node deployment.
[0020] Furthermore, a preferred embodiment is provided, wherein the virtual force operator for obtaining particles according to the interaction force between the nodes and the traction force of the sink node comprises:
[0021] VF=[Step x (n1)L Step x (nN),Step y (n1)L Step y (nN),Step z (n1)L Step z (nN)],
[0022] Among them, Step x(n1) is the total moving step length of node n1 in the x-axis direction, Step y (n1) is the total moving step length of node n1 in the y-axis direction, Step z (n1) is the total moving step length of node n1 in the z-axis direction, Step x (nN) is the total moving step length of nN nodes in the x-axis direction, Step y (nN) is the total moving step length of nN nodes in the y-axis direction, Step z (nN) is the total moving step length of nN nodes in the z-axis direction.
[0023] Furthermore, a preferred implementation manner is provided, wherein the coordinate holes of the initial deployment are calculated according to the sampling detection method, the holes are repaired according to the virtual force algorithm, and the network deployment coordinates are obtained, including:
[0024] Randomly generate N in the deployment space dect sampling points;
[0025] Based on the sampling detection method, determine whether the sampling point is covered, and obtain the geometric center of the hole point;
[0026] The geometric center of the hollow point is calculated according to the K-means algorithm to obtain the number of cluster centers, which is the number of redundant nodes N. re ;
[0027] Optimize the geometric center of the void point according to the virtual force algorithm and obtain the coordinates of the deployed redundant nodes;
[0028] According to the coordinates of the initial deployment of the node and the coordinates of the deployed redundant node, the deployment coordinates Pos of the network node are obtained. final .
[0029] Furthermore, a preferred implementation manner is provided, wherein the network deployment coordinates correspond to the nodes actually thrown on the water surface, the network deployment with the shortest moving distance is obtained, and the network deployment is completed, including:
[0030] Get the water surface random throwing sensor nodes;
[0031] Calculating the distance between the surface random scattering sensor node and the network deployment coordinates;
[0032] Sort the distances in descending order to obtain the shortest moving distance;
[0033] The network deployment is completed with the shortest moving distance according to the greedy strategy.
[0034] Based on the same inventive concept, the present invention also provides a non-uniform deployment device for underwater sensor nodes based on sink node traction, the device comprising:
[0035] The sink node traction force introduction unit is used to introduce the sink node traction force to improve the virtual force operator, and guide according to the improved virtual force operator to obtain the particle velocity update formula;
[0036] An initial deployment coordinate acquisition unit, used to calculate the initial deployment coordinates according to the particle velocity update formula;
[0037] A network deployment coordinate acquisition unit, used to calculate the coordinate holes of the initial deployment according to the sampling detection method, repair the holes according to the virtual force algorithm, and acquire the network deployment coordinates;
[0038] The network deployment acquisition unit is used to obtain the network deployment with the shortest moving distance according to the correspondence between the network deployment coordinates and the nodes actually thrown on the water surface, so as to complete the network deployment.
[0039] Furthermore, a preferred embodiment is provided, wherein the sink node traction force introduction unit comprises:
[0040] Module 1: used to set the particle swarm algorithm parameters;
[0041] Module 2: Used to use network coverage as a fitness function for network deployment;
[0042] Module 3: Distance threshold for initializing virtual force and upper and lower bounds of particle search space of particle swarm algorithm;
[0043] Module 4: used to set the initial population according to the upper and lower bounds of the particle search space;
[0044] Module 5: used to calculate the interaction force between nodes and the traction force of the sink node, and obtain the virtual force operator of the particle according to the interaction force between nodes and the traction force of the sink node;
[0045] Module 6: Used to update the population position in the particle swarm algorithm based on the virtual force operator;
[0046] Module seven: used to calculate the fitness value of the new population according to the coordinates of the updated population position in the search space and update the local optimum and the global optimum;
[0047] Module eight: used to repeat modules five to seven until a maximum number of iterations is obtained, and output a global optimal solution corresponding to the number of iterations, wherein the global optimal solution is used as the coordinates for initial node deployment.
[0048] Furthermore, a preferred embodiment is provided, wherein the virtual force operator for obtaining particles according to the interaction force between the nodes and the traction force of the sink node comprises:
[0049] VF=[Step x (n1)L Step x (nN),Step y (n1)L Step y (nN),Step z (n1)L Step z (nN)],
[0050] Among them, Step x (n1) is the total moving step length of node n1 in the x-axis direction, Step y (n1) is the total moving step length of node n1 in the y-axis direction, Step z (n1) is the total moving step length of node n1 in the z-axis direction, Step x (nN) is the total moving step length of nN nodes in the x-axis direction, Step y (nN) is the total moving step length of nN nodes in the y-axis direction, Step z (nN) is the total moving step length of nN nodes in the z-axis direction.
[0051] Based on the same inventive concept, the present invention also provides a computer device, including a memory and a processor, wherein a computer program is stored in the memory. When the processor runs the computer program stored in the memory, the processor executes a method for non-uniform deployment of underwater sensor nodes based on sink node traction force as described in any one of the above items.
[0052] Based on the same inventive concept, the present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, a method for non-uniform deployment of underwater sensor nodes based on sink node traction as described in any of the above items is executed.
[0053] The present invention is beneficial in that:
[0054] The present invention solves the problem that in the deployment scheme for coverage, when the number of nodes is small, the deployment that maximizes the coverage is prone to produce isolated nodes and is not practical; and after the deployment is completed, the nodes close to the water surface and the sink are more responsible for forwarding data during routing, resulting in a large number of nodes being disconnected, which greatly shortens the life cycle of the network.
[0055] The present invention discloses a method for non-uniform deployment of underwater sensor nodes based on sink node traction, which uses a particle swarm algorithm to complete the calculation of the initial deployment coordinates, and on this basis, introduces the sink node traction to improve the traditional virtual force algorithm, and guides the particle speed update to speed up the algorithm optimization. Further, the present invention discloses a method for non-uniform deployment of underwater sensor nodes based on sink node traction, which adopts a hole repair strategy based on K-mean and virtual force, and uses the K-means algorithm to obtain the center of the deployment hole, and uses the virtual force algorithm to optimize the center position of the hole, thereby reducing the problem of redundant nodes becoming isolated nodes after deployment, and has practicality. The present invention discloses a method for non-uniform deployment of underwater sensor nodes based on sink node traction, which, in order to solve the connectivity problem during network deployment, adds an attraction from the sink node to the qualified nodes when calculating the virtual force operator, so that some nodes can actively move to the center of the entire sensor network, thereby optimizing the connectivity problem. At the same time, the attraction of the sink node can make the nodes within the communication range of the sink node more aggregated, thereby alleviating the problem of hot spots where nodes in the central area of the network frequently forward data and consume a lot of energy and die prematurely to a certain extent.
[0056] The present embodiment describes a method for non-uniform deployment of underwater sensor nodes based on the traction force of sink nodes. This method introduces the traction force of sink nodes on the basis of the traditional virtual force-guided particle swarm algorithm, so that isolated nodes originally deployed in remote locations tend to gather towards the sink nodes, increasing the probability of them re-entering the communication range of the network, thereby optimizing the actual coverage and connectivity of the network. At the same time, the traction force of the sink nodes enables more nodes to be deployed in the neighborhood of the sink nodes, so that the task of frequently forwarding data can be undertaken by more nodes, which helps to balance the energy consumption of the network, reduce the waste of node resources, and improve the working cycle of the network.
[0057] The invention is applied to the field of ocean detection. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Figure 1 A flow chart of a method for non-uniform deployment of underwater sensor nodes based on sink node traction force described in implementation mode 1;
[0059] Figure 2 This is a flow chart of the initial deployment of sensor nodes described in Implementation Method 3;
[0060] Figure 3 This is a schematic diagram of calculating the optimal spacing between sensor nodes according to the eleventh embodiment, wherein: Figure 3 (a) indicates that the distance between nodes is 2r, Figure 3 (b) indicates the distance between nodes is Figure 3 (c) indicates that when the distance between nodes is 2r, the distance to the boundary is r. Figure 3 (d) indicates the distance between nodes. When , the distance from the boundary is 0.5r;
[0061] Figure 4 A schematic diagram of calculating a virtual force operator for introducing sink node traction force according to the eleventh embodiment;
[0062] Figure 5 The eleventh embodiment is a two-dimensional plane deployment effect diagram of 150 nodes based on improved virtual force;
[0063] Figure 6 This is a flow chart of hole repair based on K-means and virtual force algorithm described in implementation mode 11;
[0064] Figure 7 This is the final deployment effect diagram of 50 nodes described in Implementation Method 11;
[0065] Figure 8 This is a diagram of the final deployment effect when there are 100 nodes in Implementation Mode 11;
[0066] Fig. 9 This is a diagram of the final deployment effect when there are 150 nodes as described in Implementation Method 11;
[0067] Fig.10 This is a diagram of the final deployment effect when there are 200 nodes as described in Implementation Mode 11. DETAILED DESCRIPTION
[0068] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments.
[0069] Implementation method 1, see Figure 1 This embodiment describes a method for non-uniform deployment of underwater sensor nodes based on sink node traction, the method comprising:
[0070] The sink node traction force is introduced to improve the virtual force operator, and the guidance is carried out according to the improved virtual force operator to obtain the particle velocity update formula;
[0071] Calculate the initial deployment coordinates according to the particle velocity update formula;
[0072] Calculate the coordinate holes of the initial deployment according to the sampling detection method, repair the holes according to the virtual force algorithm, and obtain the network deployment coordinates;
[0073] According to the correspondence between the network deployment coordinates and the nodes actually thrown on the water surface, the network deployment with the shortest moving distance is obtained to complete the network deployment.
[0074] Specifically, the underwater sensor node deployment method based on the particle swarm in this embodiment adopts a randomly generated initial population, which is just suitable for the random deployment of sensor nodes. By setting the network coverage as the fitness of the algorithm, the particle swarm algorithm can improve the network coverage through optimization iteration. On this basis, the virtual force-guided particle swarm algorithm assumes that nodes will produce repulsive and attractive forces that interact with each other under certain conditions, and guides the movement of particles in the particle swarm algorithm in the solution space, which can speed up the algorithm's optimization speed and enable the algorithm to achieve a relatively good network coverage with fewer iterations. Furthermore, the introduction of sink traction to improve the virtual force makes the nodes tend to move toward the sink node, which helps to optimize the connectivity, and this improvement can increase the number of nodes in the sink neighborhood, which can optimize the hot spot problem that may be faced when routing nodes.
[0075] Implementation method 2: This implementation method further limits the non-uniform deployment method of underwater sensor nodes based on sink node traction force described in implementation method 1. The sink node traction force is introduced to improve the virtual force operator, and the particle velocity update formula is obtained according to the improved virtual force operator, including:
[0076] S1: Set the particle swarm algorithm parameters;
[0077] S2: Network coverage is used as the fitness function of network deployment;
[0078] S3: Initialize the distance threshold of the virtual force and the upper and lower bounds of the particle search space of the particle swarm algorithm;
[0079] S4: Initialize the population according to the upper and lower bounds of the particle search space;
[0080] S5: Calculate the interaction force between nodes and the traction force of the sink node, and obtain the virtual force operator of the particle according to the interaction force between nodes and the traction force of the sink node;
[0081] S6: Update the population position in the particle swarm algorithm based on the virtual force operator;
[0082] S7: Calculate the fitness value of the new population according to the coordinates of the updated population position in the search space and update the local optimum and the global optimum;
[0083] S8: Repeat S5 to S7 until a maximum number of iterations is obtained, and output a global optimal solution corresponding to the number of iterations, wherein the global optimal solution is used as the coordinates for initial node deployment.
[0084] In order to solve the connectivity problem during network deployment, this implementation adds an attraction from the sink node to the qualified nodes when calculating the virtual force operator, so that some nodes can actively move to the center of the entire sensor network, thereby optimizing the connectivity problem. At the same time, the attraction of the sink node can make the nodes within the communication range of the sink node more concentrated, thereby alleviating the hot zone problem of the central area of the network where nodes frequently forward data and consume a lot of energy and die prematurely to a certain extent.
[0085] In this implementation, the network coverage is used as the fitness function of the network deployment, and the original iteration results of the particle swarm algorithm are retained, because the update of the particle swarm algorithm requires an "evaluation index" to tell the algorithm whether the result of this iteration is better. This implementation retains the evaluation index of the traditional algorithm, that is, the network coverage, and uses the network coverage as the evaluation algorithm for each iteration of the population, so that the local optimal solution and the global optimal solution must be a deployment plan with a larger coverage rate.
[0086] Implementation method three, see Figure 2 This embodiment further defines the method for non-uniform deployment of underwater sensor nodes based on sink node traction force described in Embodiment 2, wherein the virtual force operator for obtaining particles based on the interaction force between the nodes and the traction force of the sink node includes:
[0087] VF=[Step x (n1)L Step x (nN),Step y (n1)L Step y (nN),Step z (n1)L Step z (nN)],
[0088] Among them, Step x (n1) is the total moving step length of node n1 in the x-axis direction, Step y (n1) is the total moving step length of node n1 in the y-axis direction, Step z (n1) is the total moving step length of node n1 in the z-axis direction, Step x (nN) is the total moving step length of nN nodes in the x-axis direction, Step y (nN) is the total moving step length of nN nodes in the y-axis direction, Step z (nN) is the total moving step length of nN nodes in the z-axis direction.
[0089] Specifically, the improved virtual force operator includes:
[0090] Step 1: Set the distance threshold for generating virtual force:
[0091] When the distance between nodes is greater than twice the perception radius, the nodes are not within the communication range and cannot complete communication; when the distance between nodes is too small, the node coverage efficiency will be low. Therefore, it is necessary to set a suitable distance threshold so that the mutual influence between nodes can be reasonably exerted.
[0092] Therefore, in this implementation, the threshold for generating virtual force between nodes is set as:
[0093]
[0094] Where r is the node's perception radius, threshold r is the distance threshold for generating repulsive virtual force between nodes, threshold a The distance threshold for generating attraction between nodes.
[0095] Step 2: Calculate the distance between two sensor nodes:
[0096]
[0097] Among them, (x n1 ,y n1 ,z n1 ) represents the deployment coordinates of the n1th node, (x n2 ,y n2 ,z n2 ) is the deployment coordinates of the n2th node, and d_nodes(n1,n2) is the Euclidean distance between the two nodes.
[0098] Step 3: Calculate the force between two sensor nodes:
[0099] When the distance between two sensor nodes is less than the virtual repulsion threshold (i.e. d_nodes(n1,n2) <threshold r When , the force exerted by node n2 on node n1 is:
[0100]
[0101] Among them, F nx (n1,n2) is the component of the force exerted by node n2 on node n1 in the x-axis direction, F ny (n1,n2) is the component of the force exerted by node n2 on node n1 in the y-axis direction, F nz (n1,n2) is the component of the force exerted by node n2 on node n1 in the z-axis direction.
[0102] Step 4: Calculate the force exerted on the sensor node by the sink node:
[0103] Since the positions of sink nodes are mostly fixed, the nodes can know the distance and direction between them by storing the corresponding coordinates in the nodes in advance even if they are not within their communication range.
[0104] The formula for calculating the attraction of the sink node to the nth node is as follows:
[0105]
[0106] Among them, F sx (n) is the component of the attraction of the sink node in the x-axis direction, F sy (n) is the component of the attraction of the sink node in the y-axis direction, F sz (n) is the component of the attraction force of the sink node in the z-axis direction, (x n ,y n ,z n ) is the node coordinate of node n, (x s ,y s ,z s ) is the node coordinate of the node sink, ds(n) is the distance between the nth node and the sink node, and α(n) is the node selection factor, which is calculated as follows:
[0107]
[0108] The existence of α(n) makes the nodes far from the sink node fully attracted, and the closer to the sink node, the smaller the attraction. In this way, the deployed nodes will have a movement trend to gather towards the sink node. On the one hand, it makes the isolated nodes move closer to the center of the network, thereby optimizing the connectivity of the network; on the other hand, it makes the number of nodes within the communication range of the sink node increase compared with remote areas, thereby alleviating the hot spot problem caused by the frequent forwarding of data by nodes within the communication range of the sink node.
[0109] Step 5: Calculate the step length of movement caused by the force between nodes:
[0110] If the virtual force is used as the step length of the node movement, the node will often "run too far", so the two forces calculated in steps 3 and 4 need to be processed again to limit the maximum step length generated by a single iteration. The formula for calculating the step length of the virtual force operator is as follows:
[0111]
[0112] Among them, Step_N x(n1) is the moving step length of node n1 in the x-axis direction, Step_N y (n1) is the moving step length of node n1 in the y-axis direction, Step_N z (n1) is the moving step length of node n1 in the z-axis direction, Step max is the maximum step length of a single move, F x (n1), F y (n1), F z (n1) is the resultant force of all nodal forces acting on the n1 node in the three axes, F xyz (n1) is the total force acting on node n1 due to all the node forces.
[0113] Step 6: Calculate the step length of the movement caused by the traction force of the sink node:
[0114] In order to optimize the network connectivity and prevent the nodes from over-collapse, the sink node force should generate a larger moving step at the beginning of the iteration and a smaller moving step in the later stages of the iteration to weaken the collapsing effect, so that the node interaction force is dominant and the node distribution is more reasonable. The following formula is the sink node force step update formula:
[0115]
[0116] Step_sink is the step length of the force acting on the sink node. As the iteration proceeds, the step length will gradually decrease to 0, and finally the step length of the force acting on the sink node to generate movement is obtained:
[0117]
[0118] Among them, Step_S x (n1) is the moving step length of node n1 in the x-axis direction under the force of the sink node, Step_S y (n1) is the moving step length of node n1 in the y-axis direction under the force of the sink node, Step_S z (n1) is the moving step length of node n1 in the z-axis direction under the force of the sink node, F sx (n1) is the resultant force of the sink force of node n1 in the x-axis direction, F sy (n1) is the resultant force of the sink force of node n1 in the y-axis direction, F sz (n1) is the resultant force of the sink force of node n1 in the z-axis direction, F sxyz (n1) is the total force on node n1 acting on by the sink.
[0119] Step 7: Calculate the virtual force operator:
[0120] According to the step lengths obtained in steps 5 and 6, the total moving step length of node n1 under the action of two forces is calculated as:
[0121]
[0122] Among them, Step x (n1) is the total moving step length in the x-axis direction, Step y (n1) is the total moving step length in the y-axis direction, Step z (n1) is the total moving step length in the y-axis direction.
[0123] The sum of the calculated motion steps of the two nodes is the total motion trend of the node. The calculated motion steps of N nodes are arranged according to the following formula to obtain the virtual force operator of the particle:
[0124] VF=[Step x (n1)L Step x (nN),Step y (n1)L Step y (nN),Step z (n1)L Step z (nN)] (10)
[0125] Implementation method 4: This implementation method is a further limitation of the non-uniform deployment method of underwater sensor nodes based on sink node traction force described in implementation method 1. The method calculates the coordinate holes of the initial deployment according to the sampling detection method, repairs the holes according to the virtual force algorithm, and obtains the network deployment coordinates, including:
[0126] Randomly generate N in the deployment space dect sampling points;
[0127] Based on the sampling detection method, determine whether the sampling point is covered, and obtain the geometric center of the hole point;
[0128] The geometric center of the hollow point is calculated according to the K-means algorithm to obtain the number of cluster centers, which is the number of redundant nodes N. re ;
[0129] Optimize the geometric center of the void point according to the virtual force algorithm and obtain the coordinates of the deployed redundant nodes;
[0130] According to the coordinates of the initial deployment of the node and the coordinates of the deployed redundant node, the deployment coordinates Pos of the network node are obtained. final .
[0131] Implementation mode 5. This implementation mode is a further limitation of the non-uniform deployment method of underwater sensor nodes based on sink node traction force described in implementation mode 1. The network deployment coordinates correspond to the nodes actually thrown on the water surface, and the network deployment with the shortest moving distance is obtained to complete the network deployment, including:
[0132] Get the water surface random throwing sensor nodes;
[0133] Calculating the distance between the surface random scattering sensor node and the network deployment coordinates;
[0134] Sort the distances in descending order to obtain the shortest moving distance;
[0135] The network deployment is completed with the shortest moving distance according to the greedy strategy.
[0136] Specific:
[0137] Randomly sprinkle N+N on the water surface re sensor nodes, whose coordinates are marked as Pos initial .
[0138] Calculate Pos initial Arrival at Pos final and store them in the same array:
[0139] D=[d deploy (1,1),...,d deploy (i,j),...,d deploy (N+N re ,N+N re )]
[0140] where d deploy (i,j) represents Pos initial (i) With Pos final (j) The distance between final (j) is the deployment coordinate of the jth node in the node deployment solution iterated by the deployment algorithm.
[0141] Sort the obtained D in descending order so that D = [D min ,...,D max ].
[0142] Take D(k)=d deploy(i, j) is the distance between the i-th surface node and the j-th deployment coordinate. At this time, it is judged whether the i-th surface node has been deployed. If it has been deployed, D(k) is skipped and the D(k+1)-th deployment is judged. If it has not been deployed, it is judged whether the j-th deployment coordinate has been occupied. If it has been occupied, D(k) is skipped and the D(k+1)-th deployment is judged. Otherwise, the j-th deployment coordinate is the optimal deployment coordinate of the i-th surface node.
[0143] Embodiment 6: A non-uniform deployment device for underwater sensor nodes based on sink node traction force described in this embodiment, the device includes:
[0144] The sink node traction force introduction unit is used to introduce the sink node traction force to improve the virtual force operator, and guide according to the improved virtual force operator to obtain the particle velocity update formula;
[0145] An initial deployment coordinate acquisition unit, used to calculate the initial deployment coordinates according to the particle velocity update formula;
[0146] A network deployment coordinate acquisition unit, used to calculate the coordinate holes of the initial deployment according to the sampling detection method, repair the holes according to the virtual force algorithm, and acquire the network deployment coordinates;
[0147] The network deployment acquisition unit is used to obtain the network deployment with the shortest moving distance according to the correspondence between the network deployment coordinates and the nodes actually thrown on the water surface, so as to complete the network deployment.
[0148] Embodiment 7: This embodiment is a further limitation of the non-uniform deployment device of underwater sensor nodes based on sink node traction force according to claim 6 described in embodiment 6, and the sink node traction force introduction unit includes:
[0149] Module 1: used to set the particle swarm algorithm parameters;
[0150] Module 2: Used to use network coverage as a fitness function for network deployment;
[0151] Module 3: Distance threshold for initializing virtual force and upper and lower bounds of particle search space of particle swarm algorithm;
[0152] Module 4: used to set the initial population according to the upper and lower bounds of the particle search space;
[0153] Module 5: used to calculate the interaction force between nodes and the traction force of the sink node, and obtain the virtual force operator of the particle according to the interaction force between nodes and the traction force of the sink node;
[0154] Module 6: Used to update the population position in the particle swarm algorithm based on the virtual force operator;
[0155] Module seven: used to calculate the fitness value of the new population according to the coordinates of the updated population position in the search space and update the local optimum and the global optimum;
[0156] Module eight: used to repeat modules five to seven until a maximum number of iterations is obtained, and output a global optimal solution corresponding to the number of iterations, wherein the global optimal solution is used as the coordinates for initial node deployment.
[0157] Implementation 8. This implementation is a further limitation of the underwater sensor node non-uniform deployment device based on sink node traction force described in Implementation 6 or Implementation 7. The improved virtual force operator also includes calculating the virtual force operator:
[0158] VF=[Step x (n1)L Step x (nN),Step y (n1)L Step y (nN),Step z (n1)L Step z (nN)],
[0159] Among them, Step x (n1) is the total moving step length of node n1 in the x-axis direction, Step y (n1) is the total moving step length of node n1 in the y-axis direction, Step z (n1) is the total moving step length of node n1 in the z-axis direction, Step x (nN) is the total moving step length of nN nodes in the x-axis direction, Step y (nN) is the total moving step length of nN nodes in the y-axis direction, Step z (nN) is the total moving step length of nN nodes in the z-axis direction.
[0160] Embodiment 9. A computer device described in this embodiment includes a memory and a processor, wherein a computer program is stored in the memory. When the processor runs the computer program stored in the memory, the processor executes a method for non-uniform deployment of underwater sensor nodes based on sink node traction force described in any one of embodiments 1 to 5.
[0161] Implementation method ten, a computer-readable storage medium described in this implementation method, on which a computer program is stored, and when the computer program is executed by a processor, a method for non-uniform deployment of underwater sensor nodes based on sink node traction force as described in any one of implementation methods one to five is executed.
[0162] Implementation method 11: See Figures 3 to 10 This embodiment provides a specific embodiment for the first embodiment, and is also used to explain the second to fifth embodiments, specifically:
[0163] Step 1: Introduce the sink node traction to improve the virtual force operator, and use it to guide the particle velocity update formula to calculate the initial deployment coordinate position. Specifically:
[0164] Step 1.1: Set the deployment boundary size, sink node coordinates, number of sensor nodes, sensor node perception radius, and sensor node communication radius;
[0165] Among them, XMIN is the lower limit of the deployment space X axis; XMAX is the upper limit of the deployment space X axis; YMIN is the lower limit of the deployment space Y axis; YMAX is the upper limit of the deployment space Y axis; ZMIN is the lower limit of the deployment space Z axis; ZMAX is the upper limit of the deployment space Z axis; sink_pos=[x s ,y s ,z s ] is the sink node coordinate; pos(n)=[x n ,y n ,z n ] is the coordinate of the nth node; N is the number of sensor nodes; r is the sensing radius of the sensor; R=2r is the communication radius of the sensor.
[0166] Step 1.2: Use network coverage as the fitness function.
[0167] The basic goal of this implementation is to ensure node coverage, so the fitness function used by the algorithm is constructed based on the sensor network coverage;
[0168] Since the area that needs to be deployed in applications is often large, subdividing the entire area into many areas and then calculating the distance from each area to each sensor node involves too much work and takes a long time to run. Therefore, this implementation adopts a coverage calculation method based on the Monte Carlo algorithm:
[0169] First, select N_sample sampling points in the deployment space, and the coordinates of each sampling point are randomly distributed in the deployment space. Then calculate the distance d_sample(i,n) between the sample point and each sensor node:
[0170]
[0171] If d_sample(i,n) < r is satisfied, it proves that the i-th sample point is covered by the n-th node. At this time, let N_cover = N_cover + 1 and skip this sample point when calculating d_sample in the next round to avoid repeated calculation.
[0172] After calculating the coverage of all sample points, the coverage rate of this sampling of the sensor network is:
[0173]
[0174] Since most optimization algorithms optimize in the direction of decreasing fitness, for the convenience of comparison with other algorithms, the present invention also optimizes in the direction of decreasing fitness. Therefore, the opposite of the average coverage rate of multiple samplings is taken as the fitness function:
[0175] Fitness = -E(Coverage) (13)
[0176] Among them, pos_sample(i) = [x i ,y i ,z i is the coordinate of the i-th sample point; N_sample is the number of sample points; d_sample(i,n) is the distance from the i-th sample point to the n-th sensor node; N_cover is the number of covered sample points; Coverage is the coverage rate; Fitness is the fitness function.
[0177] Step 1.3: Initialize the parameters of the virtual force-guided particle swarm optimization algorithm.
[0178] As Figure 3 shown in c is the schematic diagram of the best coverage in the boundary area when the distance between sensor nodes is R. It can be seen that there are relatively large coverage holes; Figure 3 shown in d is the schematic diagram of the best coverage when the distance between nodes is . At this time, the distance of the node from the boundary is 0.5r. It can be seen that the node spacing is better at this time, and the holes between the nodes and the boundary are also covered. Therefore, the search space of the particles should not be directly applied to the coverage space. The following gives the method for setting the upper and lower bounds of the particle search space:
[0179]
[0180] Among them, Lb is the lower bound of the search space, and Ub is the upper bound of the search space; since the upper bound of the Z axis represents the water surface, and the nodes can perform relatively efficient electromagnetic wave communication on the water surface, the nodes are allowed to be distributed on the water surface, and the upper bound of the Z axis is directly set to the upper bound of the deployment space.
[0181] Step 1.4: Set the initial population according to Lb and Ub. The following formula represents the generation of the coordinates of the mth particle in the population.
[0182] Pos(m,:)=(Ub-Lb)*rand+Lb;m=1,2,3,...,Pop (15)
[0183] Among them, rand is a random number between 0 and 1, Pos(m,1:N) is the X-axis coordinate of the mth particle, Pos(m,N+1:2N) is the Y-axis coordinate of the mth population particle, and Pos(m,2N+1:3N) is the Z-axis coordinate of the mth population particle, so each particle is a solution for a node deployment method. Pop is the number of particles in the population; Pos is the particle coordinate; Dim=3N is the search dimension. Since there are N sensor nodes, each node coordinate is replaced by three numbers, so the search dimension is 3 times the number of nodes; pBestScore is the fitness value of the local optimal solution, which is initially set to positive infinity; gBestScore is the fitness value of the global optimal solution, which is initially set to positive infinity;
[0184] Step 1.5: Introduce the traction force of the sink node and improve the traditional virtual force operator calculation method. The flowchart is as follows: Figure 4 As shown:
[0185] Step 1.5.1: Set the distance threshold for virtual force generation:
[0186] When the distance between nodes is greater than 2r, the nodes are not within the communication range and cannot complete communication; when the distance between nodes is too small, the node coverage efficiency will be low. Therefore, it is necessary to set a suitable distance threshold so that the mutual influence between nodes can be reasonably exerted.
[0187] Figure 3 The figure shows the schematic diagram of the deployment distance of sensor nodes. Figure 3 When the distance between nodes is R, there is a coverage hole in the middle of the three sensors, and the nodes will drift in the water. If R is used as the coverage distance, it will easily cause the communication nodes to drift away from each other, thus affecting the communication quality. Therefore, R is not suitable as the spacing for sensor coverage. Figure 3 As shown in b, When used as spacing, the nodes not only cover the gaps in the middle, but also reserve a certain distance for node drift, reducing the impact of node movement on communication quality.
[0188] Therefore, in this implementation, the threshold for generating virtual force between nodes is set as:
[0189]
[0190] Among them, threshold ris the distance threshold for generating repulsive virtual force between nodes, threshold a The distance threshold for generating attraction between nodes.
[0191] Step 1.5.2: Calculate the distance between two sensor nodes:
[0192]
[0193] Where n1 and n2 represent the n1th and n2th nodes.
[0194] Step 1.5.3: Calculate the force between two sensor nodes:
[0195] When the distance between two sensor nodes is less than the virtual force generation threshold, the force generated by the n2th node on the n1th node is:
[0196]
[0197] Since the calculation formulas for the x, y, and z axes are basically the same, the x-axis force F is used below. nx (n1,n2) as an example: From formula (18), we can see that when d_nodes(n1,n2) <threshold r And x n1 >x n2 When , it means that the node spacing is too small, and the calculated F nx (n1,n2)>0, so that x n1 It tends to grow larger, thus moving away from node n2; similarly, when d_nodes(n1,n2) <threshold r And x n1 <x n2 When the calculated F nx (n1,n2)<0, so that x n1 It tends to become smaller, thus moving away from node n2; and when d_nodes(n1,n2)>threshold r And x n1 >x n2 When , it means that the node spacing is too large, and the calculated F nx (n1,n2)<0, so that x n1 It tends to become smaller, thus approaching node n2; similarly, when d_nodes(n1,n2)>threshold r And x n1 <x n2 When the calculated F nx (n1,n2)>0, so that x n1It tends to grow larger, thus approaching node n2; and when d_nodes(n1,n2)=threshold r When F nx (n1,n2)=0, there is no mutual repulsion or attraction between the nodes, so the optimal deployment distance can be maintained.
[0198] Step 1.5.4: Calculate the force exerted on the sensor node by the sink node:
[0199] Since the traditional virtual force-guided particle swarm algorithm lacks consideration for connectivity, in order to pursue maximum coverage, it often generates coordinates of some isolated nodes. Once the nodes are deployed at such coordinates, they are not within the communication range of the entire network and therefore cannot play a practical role, resulting in a waste of resources.
[0200] In order to solve this problem, this implementation adds an attraction from the sink node to the qualified nodes when calculating the virtual force operator, so that the nodes tend to move toward the center of the network, thereby optimizing the connectivity problem. At the same time, the attraction of the sink node can make the nodes within the communication range of the sink node more concentrated, thereby alleviating the hot zone problem of the central area of the network where nodes frequently forward data and consume a lot of energy and die prematurely to a certain extent.
[0201] The formula for calculating the attraction of the sink node to the nth node is as follows:
[0202]
[0203] Among them, ds(n) is the distance between the nth node and the sink node, and α(n) is the node selection factor, which is calculated as follows:
[0204]
[0205] The existence of α(n) makes the nodes far from the sink node fully attracted, and the closer to the sink node, the smaller the attraction. In this way, the deployed nodes will have a movement trend to gather towards the sink node. On the one hand, it makes the isolated nodes move closer to the center of the network, thereby optimizing the connectivity of the network; on the other hand, it makes the number of nodes within the communication range of the sink node increase compared with remote areas, thereby alleviating the hot spot problem caused by the frequent forwarding of data by nodes within the communication range of the sink node.
[0206] Step 1.5.5: Calculate the step length of movement caused by the forces between nodes:
[0207] If the virtual force is used as the step length of the node movement, the node will often "run too far", so the two forces calculated in steps 1.5.3 and 1.5.4 need to be processed again to limit the maximum step length generated by a single iteration. The formula for calculating the step length of the virtual force operator is as follows:
[0208]
[0209] Among them, Step max is the maximum step length of word movement, F xyz (n1) is the total force acting on node n1 due to all the node forces.
[0210] Step 1.5.6: Calculate the step length of the movement caused by the traction force of the sink node:
[0211] In order to optimize the network connectivity and prevent the nodes from over-collapse, the sink node force should generate a larger moving step at the beginning of the iteration and a smaller moving step in the later stages of the iteration to weaken the collapsing effect, so that the node interaction force is dominant and the node distribution is more reasonable. The following formula is the sink node force step update formula:
[0212]
[0213] Among them, Step_sink is the step length of the force acting on the sink node. As the iteration proceeds, the step length will gradually decrease to 0, and finally the step length of the force acting on the sink node to generate movement is obtained:
[0214]
[0215] Among them, Step_S x (n1) is the moving step length of node n1 in the x-axis direction under the force of the sink node, Step_S y (n1) is the moving step length of node n1 in the y-axis direction under the force of the sink node, Step_S z (n1) is the moving step length of node n1 in the z-axis direction under the force of the sink node, F sx (n1) is the resultant force of the sink force of node n1 in the x-axis direction, F sy (n1) is the resultant force of the sink force of node n1 in the y-axis direction, F sz (n1) is the resultant force of the sink force of node n1 in the z-axis direction, F sxyz (n1) is the total force on node n1 acting on by the sink.
[0216] Step 1.5.7: Calculate the virtual force operator:
[0217] The total moving step length of node n1 under the action of two forces is calculated based on the step lengths obtained in steps 1.5.5 and 1.5.6:
[0218]
[0219] The sum of the calculated motion steps of the two nodes is the total motion trend of the node. The calculated motion steps of each node are arranged according to the following formula to obtain the virtual force operator of the particle:
[0220] VF=[Step x (n1)L Step x (nN),Step y (n1)L Step y (nN),Step z (n1)L Step z (nN)] (25)
[0221] Where N is the number of nodes.
[0222] like Figure 5 As shown in the figure, this is the effect of using the virtual force operator to deploy in two-dimensional space. It can be seen that there are no disconnected nodes in the network after deployment. At the same time, the node density is higher in the area close to the sink node, and the node density is lower in the area far away from the sink node. Such non-uniform deployment helps to optimize the hot spot problem.
[0223] Step 1.6: Update the inertia weight w as the iteration number increases:
[0224]
[0225] Among them, w max is the maximum value of w, w min is the minimum value of w, iter is the current iteration number, and Max_iteration is the maximum iteration number. The inertia weight w is gradually reduced as the iteration proceeds, so that the algorithm can focus on global optimization in the early stage and on further optimization of the local optimal solution in the later stage.
[0226] Step 1.7: Update particle movement speed:
[0227]
[0228] Where Vel(m) is the velocity of the mth particle, Vel'(m) is the velocity of the particle in the previous iteration; pBest(m) is the local optimal solution of the mth particle, gBest is the global optimal solution; c1 is the local learning rate, c2 is the global learning rate, c3 is the virtual force guidance weight; α1, α2, α3 are random numbers, and their value range is [0,1].
[0229] Similarly, to prevent the particles from "overshooting", the maximum velocity Vmax of the particle movement is set in this embodiment. When Vel > Vmax, let Vel = Vmax.
[0230] Step 1.8: Update the coordinates of the particles in the search space:
[0231] pos(m) = pos'(m) + Vel(m) (28)
[0232] where pos'(m) is the coordinate of the particle in the previous iteration. The coordinate calculated by Equation (21) is very likely to exceed the search space. Therefore, the coordinates exceeding the search space need to be set to the coordinates on the corresponding boundary points.
[0233] Step 1.9: Calculate the fitness values of the new population and update the local optimum and the global optimum.
[0234] First, calculate the fitness values of each particle after Step 1.8:
[0235] If the fitness value of the m-th particle satisfies the condition Fitness(m) < pBest(m), then let pBest(m) = Fitness(m); if Fitness(m) = {Fitness(1), Fitness(2),..., Fitness(Pop)} min and Fitness(m) < gBest, then gBest = Fitness(m).
[0236] Step 1.10: Repeat Steps 1.5 to 1.9 until the set maximum number of iterations Max_iteration. The global optimum solution corresponding to the maximum number of iterations is output, and the global optimum solution is used as the coordinates for the initial node deployment.
[0237] Step 2: Use hole detection based on the sampling detection method for the coordinates of the initial deployment generated in Step 1, and perform hole repair on the obtained holes based on the K-means and virtual force algorithms. The flowchart is as Figure 6 shown.
[0238] Although directly dividing the deployment space into grids can obtain a more accurate coverage rate, when the coverage space is large, especially in a three-dimensional coverage space, the number of grids obtained by directly dividing the grids will increase significantly, and the calculation time required will also increase exponentially. Although the sampling detection method sacrifices a certain degree of accuracy, it stipulates the number of sample points N dectAfter that, no matter how large the deployment space becomes, the time required for calculation will not increase significantly. At the same time, this hole repair scheme can not only be used during the initial deployment of the network, but also can be used in underwater sensor networks that are in use.
[0239] Step 2.1: Randomly generate N in the deployment space dect sampling points.
[0240] Step 2.2: Calculate N separately dect The distance between each sampling point and each node is used to obtain the geometric center of all hollow points. When this distance is less than r, it means that the sample point has been covered.
[0241] Step 2.3: Use the K-means algorithm to calculate the geometric centers of all the empty points obtained in step 2.2. The number of cluster centers of the geometric centers of the empty points is the number of redundant nodes N. re .
[0242] Step 2.3.1: Randomly select N re The coordinates of the empty points are used as the initial cluster centers. The coordinates of the cluster centers are expressed by center(i) = [x i ,y i ,z i ]express.
[0243] Step 2.3.2: Calculate all the empty points to reach N re The distance between the cluster centers is calculated, and each hole point is marked with 1, 2, ..., N according to the principle of proximity. re 's labels to complete the division of all hollow points.
[0244] Step 2.3.3: After completing the void point division in step 2.3.2, take the average value of all void point coordinates in each class to obtain the geometric center coordinates of this class.
[0245] center new (i)=E(Pos void ) (29)
[0246] Among them, Pos void are the coordinates of the hole points within this class.
[0247] Step 2.3.4: Calculate center(i) and center new When the distance between the two is less than 0.1, it is considered that the geometric center of this part of the hole point has been found, otherwise center(i) = center new (i) Update the cluster center coordinates.
[0248] Repeat this step until Nre All cluster centers have been updated.
[0249] Step 2.3.5: Repeat steps 2.3.2 to 2.3.4 until all center(i) and center new (i) If the distance between them is less than 0.1 or the maximum number of iterations of the algorithm is reached, the final updated cluster center coordinates are output as the hole center coordinates.
[0250] Step 2.4: Iterate the virtual force algorithm for the void centers calculated in step 2.3 so that these void centers can enter the communication range of the network to avoid the situation where redundant nodes become isolated nodes after deployment.
[0251] The virtual force here only needs to consider the attraction of the sink node, and the iteration end condition is N re The coordinates of the centers of the holes are all within the communication range of the network, that is, N re The distance between the center coordinate of a hole and the coordinate of its nearest node is less than or equal to R.
[0252] Step 2.5: The coordinates of the center of the hole obtained by iterative processing of the virtual force algorithm obtained in step 2.4 are the positions of the future redundant nodes to be deployed. The positions of the future redundant nodes to be deployed are integrated with the coordinates of the initial node deployment obtained in step 1.10 to obtain the deployment coordinates of the network nodes Pos final .
[0253] Step 3: Match the node deployment coordinates obtained in step 2.5 with the nodes actually thrown on the water surface, and adopt a greedy strategy so that the network nodes can complete the network deployment with the shortest moving distance.
[0254] Step 3.1: Randomly sprinkle N+N on the water surface re sensor nodes, whose coordinates are marked as Pos initial .
[0255] Step 3.2: Calculate Pos initial Arrival at Pos final and store them in the same array:
[0256] D=[d deploy (1,1),...,d deploy (i,j),...,d deploy (N+N re ,N+N re )] (30)
[0257] where d deploy (i,j) represents Pos initial (i) With Pos final (j) The distance between them.
[0258] Step 3.3: Sort D obtained from equation (23) in descending order so that D = [D min ,...,D max ].
[0259] Step 3.4: Take D(k) = d deploy (i,j) is the distance between the i-th surface node and the j-th deployment coordinate. At this time, it is judged whether the i-th surface node has been deployed. If it has been deployed, D(k) is skipped and the D(k+1)-th deployment is judged. If it has not been deployed, it is judged whether the j-th deployment coordinate has been occupied. If it has been occupied, D(k) is skipped and the D(k+1)-th deployment is judged. Otherwise, the j-th deployment coordinate is the optimal deployment coordinate of the i-th surface node.
[0260] This embodiment is described by using specific implementation data.
[0261] Table 1 shows an exemplary sensor node deployment and algorithm parameter settings. The data recorded in Table 2 are the results of running each set of parameters independently 30 times and then calculating the average value.
[0262] Table 1
[0263]
[0264]
[0265] Table 2
[0266] Total number of nodes 50 100 150 200 Average initial coverage 8.93% 10.85% 11.50% 11.75% Average initial deployment coverage 29.54% 53.58% 70.86% 81.17% Average repair coverage 34.86% 63.24% 82.35% 93.15% Average number of Sink neighborhood nodes (unit: pcs) 3.80 7.37 9.83 12.23 Average number of isolated nodes (unit: number) 0 0 0 0 Average moving distance required to complete deployment (unit: meters) 95.45 92.22 90.27 91.28
[0267] In the above data, the simulation results recorded in Table 2 show that the network coverage is very low when initially deployed on the water surface. The deployment scheme of this embodiment can achieve good coverage when the nodes are initially deployed. After the hole repair, the coverage is further improved. Since the number of redundant nodes is selected according to 20% of the number of ordinary nodes, the hole repair method proposed in the present invention has better performance when the number of nodes is large; and the deployment result of this embodiment always maintains multiple nodes in the Sink neighborhood, which helps to optimize the hot spot problem; and even when the total number of deployed nodes is small, there will not be many isolated nodes; finally, the average moving distance required to complete the deployment is generally maintained within 90 to 100 meters. When the number of nodes is small, the network is relatively sparse, so the nodes need to move a slightly farther distance to complete the deployment. When the number of nodes increases, the average moving step required for deployment tends to be stable.
[0268] Figures 7 to 10The final deployment effect diagram of this implementation method when the total number of nodes is 50, 100, 150, and 200 respectively. It can be seen that there is always a certain number of nodes in the neighborhood of the sink node, and no isolated nodes are generated. The overall deployment shows that the node density near the sink node is higher, and the density in other areas is slightly lower. However, when the number of nodes increases, the density in the farther area is not simply reduced, but a relatively uniform distribution is guaranteed to ensure the coverage of the network.
[0269] Therefore, the method provided by the present invention can effectively reduce the generation of isolated nodes during deployment and increase the number of nodes in the sink neighborhood. While ensuring the actual coverage, it helps to optimize the connectivity of the network, alleviate the hot spot problems that may be faced in the subsequent routing applications of the nodes, thereby increasing the network life cycle, helping to save the cost of network deployment, and improving the practicality of the deployment method.
[0270] This embodiment uses the particle swarm algorithm to complete the calculation of the initial deployment coordinates. On this basis, the sink node traction force is introduced to improve the traditional virtual force algorithm, and it is guided for the particle speed update to speed up the algorithm optimization. At the same time, the present invention adopts a hole repair strategy based on K-mean and virtual force. The K-means algorithm obtains the center of the deployment hole, and uses the virtual force algorithm to optimize the center position of the hole, reducing the problem of redundant nodes becoming isolated nodes after deployment. Further, the present invention adopts a node movement method based on a greedy strategy to ensure that the nodes actually thrown on the water surface can complete the deployment of the network with the shortest moving distance. Finally, under the condition that the coverage rate is not greatly affected, the generation of isolated nodes during network deployment is reduced, which helps to optimize the connectivity of the network and improve the network's monitoring efficiency for water areas; at the same time, the present invention realizes the increase in the number of nodes in the sink neighborhood, which helps to assign the task of frequently forwarding data to more nodes, helps to better balance the energy consumption of these key nodes, and optimizes the hot zone problem of other nodes on the communication link failing together due to excessive energy consumption and premature fading, which is conducive to increasing the network life cycle and saving the application cost of the network.
[0271] The present application is described in detail above through specific implementation methods, but the above is only a preferred implementation method of the present application and is not intended to limit the present application. Any modifications, combinations of implementation methods, equivalent substitutions and improvements made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A method for non-uniform deployment of underwater sensor nodes based on sink node traction, characterized in that: The method comprises: The sink node traction force is introduced to improve the virtual force operator, and the guidance is carried out according to the improved virtual force operator to obtain the particle velocity update formula; Calculate the initial deployment coordinates according to the particle velocity update formula; Calculate the coordinate holes of the initial deployment according to the sampling detection method, repair the holes according to the virtual force algorithm, and obtain the network deployment coordinates; According to the network deployment coordinates corresponding to the nodes actually thrown on the water surface, the network deployment with the shortest moving distance is obtained to complete the network deployment; The sink node traction is introduced to improve the virtual force operator, and the guidance is carried out according to the improved virtual force operator to obtain the particle velocity update formula, including: S1: Set the particle swarm algorithm parameters; S2: Network coverage is used as the fitness function of network deployment; S3: Initialize the distance threshold of the virtual force and the upper and lower bounds of the particle search space of the particle swarm algorithm; S4: Initialize the population according to the upper and lower bounds of the particle search space; S5: Calculate the interaction force between nodes and the traction force of the sink node, and obtain the virtual force operator of the particle according to the interaction force between nodes and the traction force of the sink node; S6: Update the population position in the particle swarm algorithm based on the virtual force operator; S7: Calculate the fitness value of the new population according to the coordinates of the updated population position in the search space and update the local optimum and the global optimum; S8: Repeat S5 to S7 until a maximum number of iterations is obtained, and output a global optimal solution corresponding to the number of iterations, wherein the global optimal solution is used as the coordinates of the initial node deployment; The calculating of the coordinate holes of the initial deployment according to the sampling detection method, repairing the holes according to the virtual force algorithm, and obtaining the network deployment coordinates include: Randomly generated in the deployment space sampling points; Based on the sampling detection method, determine whether the sampling point is covered, and obtain the geometric center of the hole point; The geometric center of the hollow point is calculated according to the K-means algorithm to obtain the number of cluster centers, which is the number of redundant nodes. ; Optimize the geometric center of the void point according to the virtual force algorithm and obtain the coordinates of the deployed redundant nodes; The deployment coordinates of the network nodes are obtained by integrating the coordinates of the initial deployment of the nodes with the coordinates of the deployed redundant nodes. ; The method of obtaining the network deployment with the shortest moving distance according to the network deployment coordinates corresponding to the nodes actually thrown on the water surface and completing the network deployment includes: Get the water surface random throwing sensor nodes; Calculating the distance between the surface random scattering sensor node and the network deployment coordinates; Sort the distances in descending order to obtain the shortest moving distance; The network deployment is completed with the shortest moving distance according to the greedy strategy.
2. According to claim 1, a method for non-uniform deployment of underwater sensor nodes based on sink node traction force is characterized in that: The virtual force operator for obtaining particles according to the interaction force between the nodes and the traction force of the sink node includes: , in, for Node in x The total moving step length in the axis direction, for Node in y The total moving step length in the axis direction, for Node in z The total moving step length in the axis direction, for Node in x The total moving step length in the axis direction, for Node in y The total moving step length in the axis direction, for Node in z The total moving step length in the axis direction.
3. A non-uniform deployment device for underwater sensor nodes based on sink node traction, characterized in that: The device comprises: The sink node traction force introduction unit is used to introduce the sink node traction force to improve the virtual force operator, and guide according to the improved virtual force operator to obtain the particle velocity update formula; An initial deployment coordinate acquisition unit, used to calculate the initial deployment coordinates according to the particle velocity update formula; A network deployment coordinate acquisition unit, used to calculate the coordinate holes of the initial deployment according to the sampling detection method, repair the holes according to the virtual force algorithm, and acquire the network deployment coordinates; A network deployment acquisition unit, used to obtain the network deployment with the shortest moving distance according to the correspondence between the network deployment coordinates and the nodes actually thrown on the water surface, and complete the network deployment; The sink node traction force introduction unit includes: Module 1: used to set the particle swarm algorithm parameters; Module 2: Used to use network coverage as a fitness function for network deployment; Module 3: Distance threshold for initializing virtual force and upper and lower bounds of particle search space of particle swarm algorithm; Module 4: used to set the initial population according to the upper and lower bounds of the particle search space; Module 5: used to calculate the interaction force between nodes and the traction force of the sink node, and obtain the virtual force operator of the particle according to the interaction force between nodes and the traction force of the sink node; Module 6: Used to update the population position in the particle swarm algorithm based on the virtual force operator; Module seven: used to calculate the fitness value of the new population according to the coordinates of the updated population position in the search space and update the local optimum and the global optimum; Module 8: Repeating modules 5 to 7 until a maximum number of iterations is obtained, and outputting a global optimal solution corresponding to the number of iterations, wherein the global optimal solution is used as the coordinates for initial node deployment; The calculating of the coordinate holes of the initial deployment according to the sampling detection method, repairing the holes according to the virtual force algorithm, and obtaining the network deployment coordinates include: Randomly generated in the deployment space sampling points; Based on the sampling detection method, determine whether the sampling point is covered, and obtain the geometric center of the hole point; The geometric center of the hollow point is calculated according to the K-means algorithm to obtain the number of cluster centers, which is the number of redundant nodes. ; Optimize the geometric center of the void point according to the virtual force algorithm and obtain the coordinates of the deployed redundant nodes; The deployment coordinates of the network nodes are obtained by integrating the coordinates of the initial deployment of the nodes with the coordinates of the deployed redundant nodes. ; The method of obtaining the network deployment with the shortest moving distance according to the network deployment coordinates corresponding to the nodes actually thrown on the water surface and completing the network deployment includes: Get the water surface random throwing sensor nodes; Calculating the distance between the surface random scattering sensor node and the network deployment coordinates; Sort the distances in descending order to obtain the shortest moving distance; The network deployment is completed with the shortest moving distance according to the greedy strategy.
4. According to claim 3, a non-uniform deployment device for underwater sensor nodes based on sink node traction force is characterized in that: The virtual force operator for obtaining particles according to the interaction force between the nodes and the traction force of the sink node includes: , in, for Node in x The total moving step length in the axis direction, for Node in y The total moving step length in the axis direction, for Node in z The total moving step length in the axis direction, for Node in x The total moving step length in the axis direction, for Node in y The total moving step length in the axis direction, for Node in z The total moving step length in the axis direction.
5. A computer device, characterized in that: It includes a memory and a processor, wherein a computer program is stored in the memory. When the processor runs the computer program stored in the memory, the processor executes a method for non-uniform deployment of underwater sensor nodes based on sink node traction force according to any one of claims 1-2.
6. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which, when executed by a processor, executes a method for non-uniform deployment of underwater sensor nodes based on sink node traction as described in any one of claims 1-2.
Citation Information
Patent Citations
Energy saving coverage control method of sensor network based on virtual force orientation
CN105611555A
Underwater sensor network node distribution optimization method based on MVFA (Modified Virtual Force algorithm)
CN109362082A