Channel Allocation Optimization Method and Device for Wireless Ad Hoc Network Based on DBFO
By using DBFO algorithm and binary graph technology to optimize channel allocation in wireless ad hoc networks, the problem of resource allocation imbalance caused by strong user mobility and channel instability is solved, and an efficient and low-energy channel allocation solution is realized.
Patent Information
- Application Number
- CN202111098780.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-18
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2041-09-18
AI Technical Summary
When the channel allocation method of existing wireless ad hoc networks faces strong user mobility and channel instability, it leads to imbalance in hardware resource allocation and reduced data transmission quality. The existing optimization algorithm is inefficient in static networks and has high communication energy consumption under large-scale users.
The wireless self-organized network channel allocation optimization method based on DBFO is adopted. By obtaining the set of users and radio stations, a binary graph is constructed, a two-dimensional encoding table is generated, and the encoding table is adjusted in combination with the DBFO algorithm and the binary graph are used to determine the final channel allocation optimization plan.
The optimal solution for channel allocation is realized, the communication energy consumption is reduced, the data transmission quality is improved, and the users are effectively covered in the dynamic network, and the communication resources are balanced.
Smart Images

Figure CN114245462B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of wireless ad hoc networks, and particularly relates to a method and device for optimizing channel allocation of a wireless ad hoc network based on DBFO. Background Art
[0002] Wireless ad hoc networks have the characteristics of high openness, strong dynamics and easy scalability, and play an indispensable role in current network construction. A wireless ad hoc network contains multiple monitoring nodes, each of which has the ability to receive information sent by users and forward information from other monitoring nodes. The reception and forwarding of information are mainly completed by the radios configured for the monitoring nodes. After a channel is allocated between the radio and the user, the information can be transmitted in the channel. However, there are also many deficiencies. For example, the unbalanced allocation of hardware resources caused by the excessive mobility of users and the instability of the channels in wireless ad hoc networks will reduce the data transmission quality of wireless ad hoc networks. Therefore, reasonable channel allocation directly affects the reliability of wireless ad hoc networks.
[0003] With the increasing research on optimization methods for channel allocation in wireless ad hoc networks, the main current solutions include the proximal optimization algorithm combined with the dual method and the Monte Carlo enhanced particle swarm optimization algorithm. In the above methods, the proximal optimization algorithm combined with the dual method cannot be efficiently utilized in static networks, so there are limitations in practical applications; the Monte Carlo enhanced particle swarm optimization algorithm is likely to increase the communication energy consumption of wireless ad hoc networks. At the same time, when the number of users is large, the formulation of position vectors becomes a relatively difficult problem. Summary of the Invention
[0004] In order to solve the disadvantages and deficiencies in the prior art, the present invention proposes a method for optimizing channel allocation of a wireless ad hoc network based on DBFO, including:
[0005] Obtain a user set containing all users in the wireless ad hoc network and a radio set containing all radios configured for the monitoring nodes of the wireless ad hoc network;
[0006] Construct a bipartite graph according to the monitoring relationship between the radio set and the user set;
[0007] Determine the channel selection scheme for each radio in the radio set, and perform binary encoding on the channel selection scheme for each radio to generate a two-dimensional encoding table;
[0008] Adjust the two-dimensional encoding table by combining the DBFO algorithm and the bipartite graph, and determine the final optimized channel allocation scheme according to the binary encoding in the adjusted two-dimensional encoding table.
[0009] Optionally, the obtaining includes obtaining a user set including all users in the wireless ad hoc network and a radio set including all radios configured for the monitoring nodes of the wireless ad hoc network, including:
[0010] Obtain the users in the wireless ad hoc network to form a user set U = {u 1 , u 2 ,..., u N}, where u 1 , u 2 ,..., u N represent the 1st to the Nth users in sequence;
[0011] Obtain the monitoring node set S = {s 1 , s 2 ,..., s m} in the wireless ad hoc network, where s 1 , s 2 ,..., s m represent the 1st to the mth monitoring nodes in sequence;
[0012] Determine the radios configured for each monitoring node in the wireless ad hoc network, and construct a radio subset corresponding to the ith monitoring node which represents the 1st to the pth radios under the ith monitoring node in sequence;
[0013] Integrate all the radio subsets to obtain the set S R = {R 1 , R 2 ,..., R i ,..., R m} of all the radios configured for the monitoring nodes, where R 1 , R 2 ,..., R i ,..., R m represent the radio subsets corresponding to the 1st to the mth monitoring nodes in sequence.
[0014] Optionally, the constructing a bipartite graph according to the monitoring relationship between the radio set and the user set includes:
[0015] When a radio and a user work on the same channel, generate a connection line between the radio and the user, and form a bipartite graph G R = {S R , U, E};
[0016] where S R represents the radio set, U represents the user set, and E represents the set of connection lines between the radios and the users.
[0017] Optionally, to determine the channel selection schemes of each radio station in the radio station set, binary encoding is respectively performed on the channel selection scheme of each radio station to generate a two-dimensional encoding table, including:
[0018] Denote the encoding of the w-th radio station configured by the i-th monitoring node on channel k as σ i,w,k , when σ i,w,k = 1, it means that the w-th radio station configured by the i-th monitoring node is assigned to channel k, and when σ i,w,k = 0, it means that the w-th radio station configured by the i-th monitoring node is not assigned to channel k;
[0019] Form a two-dimensional encoding table with the encodings of all radio stations on channels. The columns in the two-dimensional encoding table correspond to each radio station, and each column represents the channel allocation situation of each radio station. The rows in the two-dimensional encoding table correspond to each channel, and each row represents the radio stations allocated on each channel.
[0020] Optionally, combining the DBFO algorithm and the bipartite graph to adjust the two-dimensional encoding table, and determining the final optimized channel allocation scheme according to the binary encoding in the adjusted two-dimensional encoding table, including:
[0021] Step 1: Randomly select a column in the two-dimensional encoding table. If only 1 element in the selected column has a value of 1, then execute Step 2. If at least 2 elements in the selected column have a value of 1, then execute Step 3. If all elements in the selected column have a value of 0, then execute Step 4;
[0022] Step 2: Re-select other columns until only 1 element in each column has a value of 1, and stop adjusting the two-dimensional encoding table;
[0023] Step 3: Determine the row where the element with a value of 1 is located, determine the radio stations with a value of 1 among the elements in the row, determine the number of users on the channel corresponding to the row according to the number of connections of the radio stations in the bipartite graph, keep the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column as 1, and set the values of other elements in the selected column to 0, and repeat Step 2;
[0024] Step 4: Determine the number of users with monitoring relationships of the radio station corresponding to the selected column on all channels, sort the number of users on each channel, set the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column as 1, and keep the values of other elements in the selected column as 0, and repeat Step 2.
[0025] The present invention also proposes an optimized channel allocation device for a wireless ad hoc network based on DBFO based on the same idea. The optimized channel allocation device for the wireless ad hoc network is characterized in that the optimized channel allocation device for the wireless ad hoc network includes:
[0026] Obtaining unit: used to obtain a user set containing all users in the wireless ad hoc network, and a radio set containing all radios configured for the monitoring nodes of the wireless ad hoc network;
[0027] Building unit: used to build a bipartite graph according to the monitoring relationship between the radio set and the user set;
[0028] Encoding unit: used to determine the channel selection scheme for each radio in the radio set, perform binary encoding on the channel selection scheme of each radio respectively, and generate a two-dimensional encoding table;
[0029] Adjusting and optimizing unit: used to adjust the two-dimensional encoding table in combination with the DBFO algorithm and the bipartite graph, and determine the final channel allocation optimization scheme according to the binary encoding in the adjusted two-dimensional encoding table.
[0030] Optionally, the obtaining unit is specifically used for:
[0031] Obtain the users in the wireless ad hoc network to form a user set U = {u 1 , u 2 ,..., u N}, where u 1 , u 2 ,..., u N represent the 1st to the Nth users in sequence;
[0032] Obtain the monitoring node set S = {s 1 , s 2 ,..., s m} in the wireless ad hoc network, where s 1 , s 2 ,..., s m represent the 1st to the mth monitoring nodes in sequence;
[0033] Determine the radios configured for each monitoring node in the wireless ad hoc network, and build the radio subset corresponding to the ith monitoring node which are represented as the 1st to the pth radios under the ith monitoring node in sequence;
[0034] Integrate all the radio subsets to obtain all the radio sets S R = {R 1 , R 2 ,..., R i ,..., R m}, where R 1 , R 2 ,..., R i ,..., R m represent the radio subsets corresponding to the 1st to the mth monitoring nodes in sequence.
[0035] Optionally, the building unit is specifically configured to:
[0036] When the radio station and the user work on the same channel, generate a connection between the radio station and the user, and form a bipartite graph G composed of all radio stations, all users, and all connections in the wireless ad hoc network R ={S R , U, E};
[0037] where S R represents the set of radio stations, U represents the set of users, and E represents the set of connections between radio stations and users.
[0038] Optionally, the encoding unit is specifically configured to:
[0039] Denote the encoding of the w-th radio station configured by the i-th monitoring node on channel k as σ i,w,k , when σ i,w,k =1, it means that the w-th radio station configured by the i-th monitoring node is assigned to channel k, and when σ i,w,k =0, it means that the w-th radio station configured by the i-th monitoring node is not assigned to channel k;
[0040] Form a two-dimensional encoding table with the encodings of all radio stations on the channels. The columns in the two-dimensional encoding table correspond to each radio station, and each column represents the channel allocation situation of each radio station. The rows in the two-dimensional encoding table correspond to each channel, and each row represents the radio stations assigned to each channel.
[0041] Optionally, the adjustment and optimization unit is specifically configured to:
[0042] Step 1: Randomly select a column in the two-dimensional encoding table. If there is only 1 element with a value of 1 in the selected column, execute Step 2. If there are at least 2 elements with a value of 1 in the selected column, execute Step 3. If all elements in the selected column have a value of 0, execute Step 4;
[0043] Step 2: Re-select other columns until there is only 1 element with a value of 1 in each column, and stop adjusting the two-dimensional encoding table;
[0044] Step 3: Determine the row where the element with a value of 1 is located, determine the radio stations with a value of 1 in the elements of the row, determine the number of users on the channel corresponding to the row according to the number of connections of the radio stations in the bipartite graph, keep the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column as 1, set the values of other elements in the selected column to 0, and repeat Step 2;
[0045] Step 4: Determine the number of users with monitoring relationships for the selected column corresponding to the radio stations on all channels, sort the number of users on each channel, set the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column to 1, and keep the values of other elements in the selected column as 0. Repeat Step 2.
[0046] The beneficial effects brought by the technical solution provided by the present invention are:
[0047] The present invention uses a bipartite graph to describe the monitoring relationship between the radio stations and users on the monitoring nodes in a wireless ad hoc network, uses a bipartite graph to describe the monitoring relationship between the radio stations and users on the nodes and performs binary encoding on the channel selection scheme of the radio stations on the nodes to generate a two-dimensional encoding table, and uses the DBFO algorithm to continuously adjust and update the two-dimensional encoding table in combination with the monitoring relationship described in the bipartite graph. Furthermore, an optimal channel allocation optimization scheme for the wireless ad hoc network is formed according to the binary encoding in the updated two-dimensional encoding table, so that this channel allocation optimization scheme can not only cover and collect the data of all users to the greatest extent, but also greatly reduce the communication energy consumption, improve the efficiency, and contribute to the balance of communication resources on the wireless ad hoc network. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] In order to more clearly illustrate the technical solution of the present invention, the accompanying drawings required for the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention, and those of ordinary skill in the art can also obtain other accompanying drawings based on these drawings without creative efforts.
[0049] Figure 1 It is a schematic flowchart of an optimization method for channel allocation of a wireless ad hoc network based on DBFO proposed in Embodiment 1 of the present invention;
[0050] Figure 2 It is a bipartite graph of the monitoring relationship between monitoring nodes and users;
[0051] Figure 3 It is a schematic diagram of the two-dimensional encoding table;
[0052] Figure 4 It is a schematic diagram of the initial state of the two-dimensional encoding table in Embodiment 1;
[0053] Figure 5 It is a schematic diagram of the state of the two-dimensional encoding table after executing Step 3 in Embodiment 1;
[0054] Figure 6 It is a schematic diagram of the state of the two-dimensional encoding table after executing Step 4 in Embodiment 1;
[0055] Figure 7 It is a schematic diagram of the state of the merged two-dimensional encoding table in Embodiment 1;
[0056] Figure 8 This is the structural block diagram of the channel allocation optimization device for the wireless ad-hoc network based on DBFO proposed in the second embodiment of the present invention. Detailed implementation manners
[0057] To make the objectives, 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 with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are only a part rather than all of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0058] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments of the present invention described here can be implemented in an order different from those illustrated or described here.
[0059] It should be understood that in various embodiments of the present invention, the magnitude of the serial numbers of the processes does not mean the order of execution, and the order of execution of the processes should be determined by their functions and internal logics, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
[0060] It should be understood that in the present invention, "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products, or devices.
[0061] It should be understood that in the present invention, "a plurality of" means two or more. "And / or" is merely a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after. "Including A, B, and C" and "including A, B, C" mean that all of A, B, and C are included. "Including A, B, or C" means including any one of A, B, and C. "Including A, B, and / or C" means including any one, any two, or all three of A, B, and C.
[0062] It should be understood that in the present invention, "B corresponding to A", "B corresponding to A relatively", "A corresponding to B relatively" or "B corresponding to A relatively" means that B is associated with A, and B can be determined according to A. Determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information. The matching of A and B means that the similarity between A and B is greater than or equal to a preset threshold.
[0063] Depending on the context, as used herein, "if" can be interpreted as "when", "while", "in response to determining", or "in response to detecting".
[0064] The technical solution of the present invention will be described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0065] Embodiment 1
[0066] As Figure 1 shown, this embodiment proposes an optimization method for channel allocation in a wireless ad hoc network based on DBFO, including:
[0067] S1: Obtain a user set including all users in the wireless ad hoc network, and a radio set including all radios configured for the monitoring nodes of the wireless ad hoc network;
[0068] S2: Construct a bipartite graph according to the monitoring relationship between the radio set and the user set;
[0069] S3: Determine the channel selection scheme for each radio in the radio set, perform binary encoding on the channel selection scheme for each radio respectively, and generate a two-dimensional encoding table;
[0070] S4: Adjust the two-dimensional encoding table by combining the DBFO algorithm and the bipartite graph, and determine the final optimized channel allocation scheme according to the binary encoding in the adjusted two-dimensional encoding table.
[0071] This embodiment uses a bipartite graph to describe the monitoring relationship between radios and users, laying a foundation for the subsequent solution of the optimized channel allocation scheme. At the same time, all possible channel allocation schemes are binary encoded, and the characteristics of the DBFO algorithm that are helpful for solving the binary discrete space search problem are utilized to continuously solve the optimal solution of channel allocation in real time, which can not only meet the channel allocation requirements of a dynamic network, but also enable the obtained optimized channel allocation scheme to achieve the maximum network coverage of users on the premise of reducing communication energy consumption.
[0072] In this embodiment, the users, monitoring nodes, radios, and channels in the wireless ad hoc network are respectively formed into corresponding sets, specifically:
[0073] Obtain the users in the wireless ad hoc network to form the user set U = {u 1 , u 2 ,..., u N}, where u 1 , u 2 ,..., u N represent the 1st to the Nth users in sequence;
[0074] Obtain the set of monitoring nodes S = {s 1 , s 2 ,..., s m} in the wireless ad hoc network, where s 1 , s 2 ,..., s m represent the 1st to the mth monitoring nodes in sequence;
[0075] Determine the radio stations configured for each monitoring node in the wireless ad hoc network, and construct the subset of radio stations corresponding to the ith monitoring node which are represented as the 1st to the pth radio stations under the ith monitoring node in sequence;
[0076] Integrate all the subsets of radio stations to obtain the set of all radio stations S R = {R 1 , R 2 ,..., R i ,..., R m}, where R 1 , R 2 ,..., R i ,..., R m represent the subsets of radio stations corresponding to the 1st to the mth monitoring nodes in sequence;
[0077] Form the channel set C = {c 1 , c 2 ,... c k ,..., c q} from the channels in the wireless ad hoc network, where c 1 , c 2 ,..., c k ,..., c q represent the 1st to the qth channels in sequence.
[0078] Construct a bipartite graph based on the monitoring relationship between the radio station set S R and the user set U, specifically: when a radio station and a user work on the same channel, generate a connection between the radio station and the user, and the bipartite graph G R = {S R, U, E}. The bipartite graph constructed in this embodiment is as shown in Figure 2 . Among them, S R represents the set of radio stations, U represents the set of users, and E represents the set of connections between radio stations and users. Through the bipartite graph in this embodiment, the monitoring relationship between radio stations and users can be described more intuitively. In the subsequent two-dimensional coding table adjustment step, the values of some elements in the two-dimensional coding table will be determined in combination with the monitoring relationship described by the bipartite graph.
[0079] The problem of optimizing channel allocation in a wireless ad hoc network is essentially a problem of radio stations of all monitoring nodes in the monitoring network searching for channels in the channel set. The so-called optimal allocation scheme is to search for channels for the radio stations on each monitoring node to achieve the best monitoring quality goal. For the convenience of solving, in this embodiment, the channel selection scheme of each radio station is binary-coded to generate a two-dimensional coding table, specifically:
[0080] The coding of the w-th radio station configured on the i-th monitoring node on channel k is denoted as σ i,w,k . When σ i,w,k = 1, it means that the w-th radio station configured on the i-th monitoring node is allocated to channel k. When σ i,w,k = 0, it means that the w-th radio station configured on the i-th monitoring node is not allocated to channel k; the codings of all radio stations on the channels form a two-dimensional coding table.
[0081] The two-dimensional coding table of this embodiment is as shown in Figure 3 . The columns in the two-dimensional coding table correspond to each radio station, and each column represents the channel allocation situation of each radio station; the rows in the two-dimensional coding table correspond to each channel, and each row represents the radio stations allocated to each channel. Suppose there are m monitoring nodes and q channels in the wireless ad hoc network, and each monitoring node is configured with p radio stations. Therefore, it can be seen from Figure 3 that the actual dimension of the two-dimensional coding table is (m×p)×q. The number of elements in each row is m×p, that is, the total number of radio stations in the wireless ad hoc network, and the number of elements in each column is q, that is, the total number of channels in the wireless ad hoc network. Since σ i,w,k represents the allocation situation of the w-th radio station configured on the i-th monitoring node on channel k, the sum of the values of all elements in each row can be obtained to get the number of radio stations allocated to the channel corresponding to that row, that is, there is σ i,k which means that there are σ i,k radio stations working on channel k.
[0082] In this embodiment, the two-dimensional coding table is continuously adjusted based on the DBFO algorithm to solve the optimal solution of the channel allocation scheme. The Discrete Bacterial Foraging Optimization (DBFO) algorithm can discretize continuous quantities into binary values, which helps to solve the binary discrete space search problem. Therefore, the DBFO algorithm can be used to solve the channel selection scheme coding problem of the radio stations on the nodes in the wireless ad hoc network. In this embodiment, based on the actual communication requirements of the wireless ad hoc network, the channel allocation must follow the following two principles: (1) Since a radio station of a monitoring node can only be allocated one channel at a time, only one element in the column vector corresponding to the channel of the radio station on each node can have a value of 1 during channel coding; (2) To make full use of the radio stations, a state where all values in the column vector are 0 is not allowed. Figures 3 - 5 Taking the two-dimensional coding table of 4 monitoring nodes as an example, each monitoring node is configured with 2 radio stations, a total of 10 channels. The 2 radio stations under the same monitoring node are separated by a dotted line in the two-dimensional coding table, and the radio stations are separated by a solid line. Specifically:
[0083] Step 1: Randomly select a column (σ i,w,1 , σ i,w,2 ,... σ i,w,q ) in the two-dimensional coding table. If only one element in the selected column has a value of 1, then execute Step 2. If at least two elements in the selected column have a value of 1, then execute Step 3. If all elements in the selected column have a value of 0, then execute Step 4. It can be seen that Figure 4 Column a marked in [figure] violates the first principle above, so column a marked needs to execute Step 3 for adjustment. Column b marked violates the second principle above, so column b marked needs to execute Step 4 for adjustment. The remaining columns all meet the above two principles, so no adjustment is made to these columns.
[0084] Step 2: Select other columns again until only one element in each column has a value of 1, and then stop adjusting the two-dimensional coding table. It can be seen that in the two-dimensional coding table after stopping the adjustment, all columns will meet the above two principles.
[0085] Step three: Determine the row where the element with a value of 1 is located, and determine the radio stations in the row whose element value is 1, indicating that these radio stations are currently assigned to the channel corresponding to the row. Determine the number of users on the channel corresponding to the row based on the number of connections between the radio stations in the bipartite graph. Since the number of connections between the radio stations in the bipartite graph indicates the number of users that have a monitoring relationship with this radio station, add the number of connections in the bipartite graph between the radio stations corresponding to all elements with a value of 1 to obtain the number of users on the channel corresponding to the row. Maintain the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column as 1, that is, give priority to meeting the communication needs of the channel with the largest number of users. Set the values of other elements in the selected column to 0, and repeat step two. The two-dimensional coding table adjusted by step three is as follows: Figure 5 As shown, 0 " indicates that the value of the element here is set from 1 to 0 in step 3.
[0086] Step 4: Determine the number of users that the selected column corresponds to on all channels that the radio station has a monitoring relationship with, sort the number of users on each channel, set the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column to 1, and maintain the values of other elements in the selected column to 0, and repeat step 2. The two-dimensional coding table adjusted in step 3 is as follows Figure 6 As shown, 1 " indicates that the value of the element here is set from 0 to 1 in step 4.
[0087] At this point, after all columns in the two-dimensional code table are adjusted to meet the above two principles, the adjusted two-dimensional code table can be obtained. The two-dimensional code table at this time represents the optimal result of the current channel allocation, and the subsequent Figure 6 The values of each element in the two-dimensional coding table shown in FIG. 1 determine the allocation of each radio station in the channel. Finally, in this embodiment, Figure 6 The columns corresponding to the same monitoring node in the two-dimensional coding table shown in the figure are merged to obtain Figure 7 The two-dimensional coding table shown is used to allocate channels in the same way.
[0088] Embodiment 2
[0089] like Figure 8 As shown, this embodiment proposes a channel allocation optimization device 5 for a wireless self-organizing network based on DBFO, comprising:
[0090] The acquisition unit 51 is used to acquire a user set including all users in the wireless ad hoc network and a radio station set including all radio stations configured for monitoring nodes of the wireless ad hoc network;
[0091] A construction unit 52: configured to construct a bipartite graph according to the monitoring relationship between the radio station set and the user set;
[0092] Coding unit 53: It is used to determine the channel selection schemes of each radio station in the radio station set, perform binary coding on the channel selection scheme of each radio station respectively, and generate a two-dimensional coding table;
[0093] Adjustment and optimization unit 54: It is used to adjust the two-dimensional coding table by combining the DBFO algorithm and the bipartite graph, and determine the final optimized channel allocation scheme according to the binary coding in the adjusted two-dimensional coding table.
[0094] In this embodiment, the monitoring relationship between radio stations and users is described by a bipartite graph, laying a foundation for the subsequent solution of the optimized channel allocation scheme. At the same time, all possible channel allocation schemes are binary-coded, and the characteristics of the DBFO algorithm that are helpful for solving the binary discrete space search problem are utilized to continuously solve the optimal solution of channel allocation in real time, which can not only meet the channel allocation requirements of the dynamic network, but also enable the obtained optimized channel allocation scheme to achieve the maximum network coverage for users on the premise of reducing communication energy consumption.
[0095] In this embodiment, the acquisition unit 51 respectively forms corresponding sets for the users, monitoring nodes, radio stations, and channels in the wireless ad hoc network, specifically:
[0096] Obtain the user set U = {u 1 , u 2 ,..., u N} in the wireless ad hoc network, where u 1 , u 2 ,..., u N represent the 1st to the Nth users in sequence;
[0097] Obtain the monitoring node set S = {s 1 , s 2 ,..., s m} in the wireless ad hoc network, where s 1 , s 2 ,..., s m represent the 1st to the mth monitoring nodes in sequence;
[0098] Determine the radio stations configured for each monitoring node in the wireless ad hoc network, and construct the radio station subset corresponding to the ith monitoring node which represent the 1st to the pth radio stations under the ith monitoring node in sequence;
[0099] Integrate all the radio station subsets to obtain all the radio station sets S R = {R 1 , R 2 ,..., R i ,..., R m}, R1 , R 2 , ..., R i , ..., R m represent the radio subsets corresponding to the 1st to the mth monitoring nodes in sequence;
[0100] Form a channel set C = {c 1 , c 2 , ... c k , ..., c q} for the channels in the wireless ad hoc network, where c 1 , c 2 , ..., c k , ..., c q represent the 1st to the qth channels in sequence.
[0101] The construction unit 52 constructs a bipartite graph based on the monitoring relationship between the radio set S R and the user set U. Specifically: when a radio and a user work on the same channel, a connection line is generated between the radio and the user. The bipartite graph G R = {S R , U, E} is composed of all radios, all users, and all connection lines in the wireless ad hoc network. The bipartite graph constructed in this embodiment is as shown in Figure 2 . Among them, S R represents the radio set, U represents the user set, and E represents the set of connection lines between radios and users. Through the bipartite graph in this embodiment, the monitoring relationship between radios and users can be described more intuitively. In the subsequent two-dimensional coding table adjustment step, the values of some elements in the two-dimensional coding table will be determined in combination with the monitoring relationship described by the bipartite graph.
[0102] The problem of channel allocation optimization in a wireless ad hoc network is essentially a problem of radios of all monitoring nodes in the monitoring network searching for channels in the channel set. The so-called optimal allocation scheme is to search for channels for the radios on each monitoring node to achieve the best monitoring quality goal. For the convenience of solution, in this embodiment, the coding unit 53 performs binary coding on the channel selection scheme of each radio respectively to generate a two-dimensional coding table. Specifically:
[0103] Denote the coding of the wth radio configured on the ith monitoring node on channel k as σ i,w,k . When σ i,w,k = 1, it means that the wth radio configured on the ith monitoring node is allocated to channel k. When σ i,w,k = 0, it means that the wth radio configured on the ith monitoring node is not allocated to channel k; The codings of all radios on channels form a two-dimensional coding table.
[0104] The two-dimensional coding table of this embodiment is as shown inFigure 3 As shown in the figure, the columns in the two-dimensional coding table correspond to each radio station, and each column represents the channel allocation situation of each radio station; the rows in the two-dimensional coding table correspond to each channel, and each row represents the radio stations allocated on each channel. Suppose there are m monitoring nodes and q channels in the wireless ad hoc network, and each monitoring node is configured with p radio stations. Therefore, it can be seen in Figure 3 that the actual dimension of the two-dimensional coding table is (m×p)×q. The number of elements in each row is m×p, that is, the total number of radio stations in the wireless ad hoc network, and the number of elements in each column is q, that is, the total number of channels in the wireless ad hoc network. Since σ i,w,k represents the allocation situation of the w-th radio station configured by the i-th monitoring node on the channel k, the sum of the values of all elements in each row can be used to obtain the number of radio stations allocated on the channel corresponding to the row. That is, there is σ i,k which means that there are σ i,k radio stations working on the channel k.
[0105] In this embodiment, the adjustment and optimization unit 54 continuously adjusts the two-dimensional coding table based on the DBFO algorithm to solve the optimal solution of the channel allocation scheme. The Discrete Bacterial Foraging Optimization (DBFO) algorithm can discretize continuous quantities into binary values, which helps to solve the binary discrete space search problem. Therefore, the DBFO algorithm can be used to solve the channel selection scheme coding problem of the radio stations on the nodes in the wireless ad hoc network. In this embodiment, based on the actual communication requirements of the wireless ad hoc network, the channel allocation must follow the following two principles: (1) Since the radio stations of the monitoring nodes can only be allocated one channel at the same time, only one element in the column vector corresponding to the channel of the radio stations on each node can have a value of 1 during channel coding; (2) In order to make full use of the radio stations, a state where all values in the column vector are 0 is not allowed. Figures 3 - 5 Taking the two-dimensional coding table of 4 monitoring nodes as an example, each monitoring node is configured with 2 radio stations, and there are 10 channels in total. The 2 radio stations under the same monitoring node are separated by a dotted line in the two-dimensional coding table, and the radio stations are separated by a solid line. Specifically:
[0106] Step 1: Randomly select a column (σ i,w,1 , σ i,w,2 ,... σ i,w,q ) in the two-dimensional coding table. If there is only 1 element with a value of 1 in the selected column, go to Step 2; if there are at least 2 elements with a value of 1 in the selected column, go to Step 3; if all elements in the selected column have a value of 0, go to Step 4. It can be seen from this that Figure 4The column marked as a violates the first principle above. Therefore, the column marked as a needs to be adjusted by performing Step 3. The column marked as b violates the second principle above. Therefore, the column marked as b needs to be adjusted by performing Step 4. The remaining columns all comply with the above two principles. Therefore, these columns are not adjusted.
[0107] Step 2: Re-select other columns until there is only one element with a value of 1 in each column, and then stop adjusting the two-dimensional coding table. It can be seen that in the two-dimensional coding table after stopping the adjustment, all columns will meet the above two principles.
[0108] Step 3: Determine the row where the element with a value of 1 is located, determine the radio stations with a value of 1 among the elements in the row, indicating that these radio stations are currently assigned to the channels corresponding to the row. Determine the number of users on the channel corresponding to the row according to the number of connections of the radio stations in the bipartite graph. Since the number of connections of the radio stations in the bipartite graph represents the number of users having a monitoring relationship with this radio station, the number of connections of all radio stations corresponding to the elements with a value of 1 in the bipartite graph is added up to obtain the number of users on the channel corresponding to the row. Keep the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column as 1, that is, give priority to meeting the communication requirements of the channel with the largest number of users. Set the values of other elements in the selected column to 0, and repeat Step 2. The two-dimensional coding table after being adjusted by Step 3 is as Figure 5 shown, where " 0 " indicates that the value of the element here is set from 1 to 0 in Step 3.
[0109] Step 4: Determine the number of users having a monitoring relationship with the radio stations corresponding to the selected column on all channels, sort the number of users on each channel, set the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column to 1, and keep the values of other elements in the selected column as 0, and repeat Step 2. The two-dimensional coding table after being adjusted by Step 3 is as Figure 6 shown, where " 1 " indicates that the value of the element here is set from 0 to 1 in Step 4.
[0110] So far, after all columns in the two-dimensional coding table are adjusted to comply with the above two principles, the adjusted two-dimensional coding table can be obtained. The two-dimensional coding table at this time represents the optimal result of the current channel allocation. Subsequently, according to Figure 6 the values of each element in the shown two-dimensional coding table, the allocation of each radio station in the channel is determined. Finally, in this embodiment, the columns corresponding to the same monitoring node in the Figure 6 shown two-dimensional coding table can also be merged to obtain the Figure 7 shown two-dimensional coding table, and the channel allocation is carried out in the same way.
[0111] The serial numbers in the above embodiments are only for description and do not represent the sequence in the assembly or use of each component.
[0112] The above are only the embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
[0113] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0114] The present invention is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, as well as the combination of flows and / or blocks in the flowchart and / or block diagram, can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for realizing the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 block or multiple blocks.
[0115] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device realizes the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 block or multiple blocks.
[0116] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process. Thus, the instructions executed on the computer or other programmable device provide steps for realizing the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 block or multiple blocks.
[0117] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than limit the scope of its protection. Although the present invention has been described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that after reading the present invention, various changes, modifications or equivalent substitutions can still be made to the specific implementation manners of the invention, but these changes, modifications or equivalent substitutions are all within the scope of protection of the claims pending for the invention.
Claims
1. Channel allocation optimization method for wireless ad hoc networks based on DBFO, characterized in that, the channel allocation optimization method includes: obtaining a user set including all users in the wireless ad hoc network, and a radio set including all radios configured for the monitoring nodes of the wireless ad hoc network; constructing a bipartite graph according to the monitoring relationship between the radio set and the user set; determining the channel selection scheme of each radio in the radio set, respectively performing binary encoding on the channel selection scheme of each radio, and generating a two-dimensional encoding table; combining the DBFO algorithm and the bipartite graph to adjust the two-dimensional encoding table, and determining the final channel allocation optimization scheme according to the binary encoding in the adjusted two-dimensional encoding table, specifically including: Step 1: Randomly select a column in the two-dimensional encoding table. If only 1 element in the selected column has a value of 1, then execute Step 2. If at least 2 elements in the selected column have a value of 1, then execute Step 3. If all elements in the selected column have a value of 0, then execute Step 4; Step 2: Re-select other columns until only 1 element in each column has a value of 1, and stop adjusting the two-dimensional encoding table; Step 3: Determine the row where the element with a value of 1 is located, determine the radio whose element in the row has a value of 1, determine the number of users on the channel corresponding to the row according to the number of connections of the radio in the bipartite graph, and maintain the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column as 1, and set the values of other elements in the selected column to 0, and repeat Step 2; Step 4; Determine the number of users with a monitoring relationship of the selected column corresponding radio on all channels, sort the number of users on each channel, set the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column to 1, and maintain the values of other elements in the selected column as 0, and repeat Step 2.
2. The channel allocation optimization method for wireless ad hoc networks based on DBFO according to claim 1, characterized in that, the obtaining of the user set including all users in the wireless ad hoc network, and the radio set including all radios configured for the monitoring nodes of the wireless ad hoc network includes: Obtain users in the wireless ad-hoc network to form a user set \(U = \{u 1 , u 2 , \cdots, u N \}\), where \(u 1 , u 2 , \cdots, u N represent the 1st to the Nth user in sequence; Obtain the set S of monitoring nodes in the wireless ad-hoc network, S = {s 1 , s 2 ,..., s m}, where s 1 , s 2 ,..., s m represent the 1st to the mth monitoring nodes in sequence; Determine the radio stations configured for each monitoring node in the wireless ad hoc network, and construct the subset of radio stations corresponding to the \(i\)-th monitoring node They are successively represented as the 1st to the \(p\)-th radio stations under the \(i\)-th monitoring node; integrate all subsets of radio stations to obtain the set \(S\) of all radio stations configured for the monitoring nodes R =\{R 1 ,R 2 ,\cdots,R i ,\cdots,R m \}, where \(R 1 ,R 2 ,\cdots,R i ,\cdots,R m successively represent the subsets of radio stations corresponding to the 1st to the \(m\)-th monitoring nodes.
3. The channel allocation optimization method for wireless ad hoc networks based on DBFO according to claim 1, characterized in that, the constructing of the bipartite graph according to the monitoring relationship between the radio set and the user set includes: When the radio station and the user work on the same channel, a connection is generated between the radio station and the user, and a bipartite graph G is formed by all radio stations, all users, and all connections in the wireless ad hoc network R ={S R ,U,E}; Among them, S R represents the set of radio stations, U represents the set of users, and E represents the set of connections between radio stations and users.
4. The channel allocation optimization method for wireless ad hoc networks based on DBFO according to claim 1, characterized in that, the determining of the channel selection scheme of each radio in the radio set, respectively performing binary encoding on the channel selection scheme of each radio, and generating a two-dimensional encoding table includes: Denote the encoding of the \(w\)th radio configured by the \(i\)th monitoring node on channel \(k\) as \(\sigma\). i,w,k When \(\sigma\) i,w,k = 1, it means that the \(w\)th radio configured by the \(i\)th monitoring node is assigned to channel \(k\). When \(\sigma\) i,w,k = 0, it means that the \(w\)th radio configured by the \(i\)th monitoring node is not assigned to channel \(k\). forming a two-dimensional encoding table with the encodings of all radios on the channels. The columns in the two-dimensional encoding table correspond to each radio, and each column represents the channel allocation situation of each radio. The rows in the two-dimensional encoding table correspond to each channel, and each row represents the radio situation allocated to each channel.
5. Channel allocation optimization device for wireless ad hoc networks based on DBFO, characterized in that, the channel allocation optimization device includes: Obtaining unit: configured to obtain a user set including all users in the wireless ad hoc network, and a radio set including all radios configured for the monitoring nodes of the wireless ad hoc network; Constructing unit: configured to construct a bipartite graph according to the monitoring relationship between the radio set and the user set; Encoding unit: configured to determine the channel selection scheme for each radio in the radio set, perform binary encoding on the channel selection scheme of each radio respectively, and generate a two-dimensional encoding table; Adjusting and optimizing unit: configured to adjust the two-dimensional encoding table in combination with the DBFO algorithm and the bipartite graph, and determine the final channel allocation optimization scheme according to the binary encoding in the adjusted two-dimensional encoding table; The adjusting and optimizing unit is specifically configured to: Step 1: Randomly select a column in the two-dimensional encoding table. If only 1 element in the selected column has a value of 1, then execute Step 2. If at least 2 elements in the selected column have a value of 1, then execute Step 3. If all elements in the selected column have a value of 0, then execute Step 4; Step 2: Re-select other columns until only 1 element in each column has a value of 1, and stop adjusting the two-dimensional encoding table; Step 3: Determine the row where the element with a value of 1 is located, determine the radio with a value of 1 for the elements in the row, determine the number of users on the channel corresponding to the row according to the number of connections of the radio in the bipartite graph, maintain the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column as 1, and set the values of other elements in the selected column to 0, and repeat Step 2; Step 4: Determine the number of users having a monitoring relationship with the radio corresponding to the selected column on all channels, sort the number of users on each channel, set the value of the element at the intersection of the row corresponding to the channel with the largest number of users and the currently selected column as 1, and maintain the values of other elements in the selected column as 0, and repeat Step 2.
6. The channel allocation optimization device for a wireless ad hoc network based on DBFO according to claim 5, wherein, the obtaining unit is specifically configured to: Obtain users in the wireless ad hoc network to form a user set U = {u 1 , u 2 ,..., u N}, where u 1 , u 2 ,..., u N represent the 1st to the Nth users in sequence; Obtain the set S of monitoring nodes in a wireless ad hoc network, S = {s 1 , s 2 ,..., s m}, where s 1 , s 2 ,..., s m represent the 1st to the mth monitoring nodes in sequence; Determine the radio stations configured for each monitoring node in the wireless ad hoc network, and construct the subset of radio stations corresponding to the i-th monitoring node They are successively represented as the 1st to the p-th radio stations under the i-th monitoring node; integrate all the subsets of radio stations to obtain the set S of all the radio stations configured for the monitoring nodes R ={R 1 , R 2 ,..., R i ,..., R m}, where R 1 , R 2 ,..., R i ,..., R m successively represent the subsets of radio stations corresponding to the 1st to the m-th monitoring nodes.
7. The channel allocation optimization device for a wireless ad hoc network based on DBFO according to claim 5, wherein, the constructing unit is specifically configured to: When the radio station and the user work on the same channel, a connection is generated between the radio station and the user, and a bipartite graph G is formed by all radio stations, all users, and all connections in the wireless ad hoc network R ={S R ,U,E}; Among them, S R represents the set of radio stations, U represents the set of users, and E represents the set of connections between radio stations and users.
8. The channel allocation optimization device for a wireless ad hoc network based on DBFO according to claim 5, wherein, the encoding unit is specifically configured to: Denote the encoding of the \(w\)th radio configured by the \(i\)th monitoring node on channel \(k\) as \(\sigma\). i,w,k When \(\sigma\) i,w,k = 1, it means that the \(w\)th radio configured by the \(i\)th monitoring node is assigned to channel \(k\). When \(\sigma\) i,w,k = 0, it means that the \(w\)th radio configured by the \(i\)th monitoring node is not assigned to channel \(k\). Form the encodings of all radios on the channels into a two-dimensional encoding table. The columns in the two-dimensional encoding table correspond to each radio, and each column represents the channel allocation situation of each radio. The rows in the two-dimensional encoding table correspond to each channel, and each row represents the radio situation allocated to each channel.
Citation Information
Patent Citations
Hierarchical routing method of wireless sensor network based on flora foraging optimization algorithm
CN102843743A
Cognitive radio power control method and system based on adaptive bacterial foraging
CN106954255A