A user grouping method, apparatus, device, and storage medium

By optimizing user grouping using a quantum evolutionary algorithm that combines outer and inner loop iterations, the problems of high computational complexity and poor multi-user applicability in NOMA heterogeneous communication networks are solved, achieving high-performance user grouping with low complexity.

CN116528175BActive Publication Date: 2025-11-04TRIDUCTOR TECH SUZHOU
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310322987.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-29
Publication Date
2025-11-04
Estimated Expiration
2043-03-29

AI Technical Summary

Technical Problem

Existing user grouping methods have high computational complexity in NOMA heterogeneous communication networks and are not suitable for multi-user scenarios, leading to a decline in system performance.

Method used

A quantum evolutionary algorithm combining outer and inner loop iterations is adopted. By changing the user position and updating the objective function value, the algorithm optimizes user grouping using quantum measurement and encoding, and combines preset ABS parameters to optimize user grouping.

Benefits of technology

While reducing user grouping complexity, it improves the performance of NOMA heterogeneous communication network systems, especially the average throughput of edge users, making it suitable for multi-user scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116528175B_ABST
    Figure CN116528175B_ABST
Patent Text Reader

Abstract

The application relates to a user grouping method, device, equipment and storage medium. The method comprises the following steps: for a first group, performing an outer loop iteration step; the outer loop iteration step comprises the following steps: transforming the positions of target users in the first group according to a target displacement scheme to obtain a second group; updating the first group and an optimal group according to the target function value corresponding to the second group; encoding the first group and the optimal group into a first binary number and a second binary number respectively; updating a target quantum solution according to the first binary number and the second binary number based on a quantum evolution algorithm; performing quantum measurement on the target quantum solution to obtain a third binary number, and decoding the third binary number to replace the first group; and when the outer loop iteration step satisfies an outer loop stop condition, obtaining the optimal group. The user grouping method has low complexity, is suitable for a multi-user scene, and can improve the performance of a NOMA heterogeneous communication network system.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of electronic communication, in particular to a user grouping method and device, equipment and a storage medium. BACKGROUND

[0002] With the rapid development of electronic communication technology, the performance requirements of the network are also getting higher and higher. Heterogeneous networks (HetNets) effectively solve the problems of uneven load distribution and insufficient coverage in hot spot areas by deploying pico cells including micro base stations in macro cells including macro base stations, and have become one of the main network communication systems. In order to further improve the utilization rate of network resources and system throughput performance, Non-Orthogonal Multiple Access (NOMA) is combined with HetNets. However, after NOMA is combined with HetNets, the interference between users in the same layer, across layers and NOMA in the network becomes more complex, which also makes the difficulty and complexity of inter-cell interference coordination in heterogeneous networks continue to rise. In the prior art, interference coordination is mainly performed from the frequency domain and spatial domain angles of the heterogeneous network to reduce the difficulty and complexity of inter-cell interference coordination. There are also methods of using different user grouping methods combined with almost-bank subframe (ABS) strategies to optimize interference coordination from the time domain angle.

[0003] The existing user grouping method mainly realizes user grouping through the methods of exhaustive grouping, random grouping, channel gain-based grouping, improved Hungarian method and GS algorithm matching grouping. Among them, although the exhaustive grouping method has good performance, it has high computational complexity, which is not conducive to application in dynamically changing network communication systems; the random grouping and channel gain-based grouping methods have low computational complexity, but the performance of the methods themselves is poor, which can lead to poor average throughput of edge users in the NOMA-based heterogeneous communication network system, and further lead to poor performance of the NOMA-based heterogeneous communication network system; and the improved Hungarian method and GS algorithm matching grouping method is not suitable for multi-user scenarios.

[0004] Therefore, how to ensure that the user grouping method is suitable for multi-user scenarios and improves the performance of the NOMA-based heterogeneous communication network system while keeping the complexity of the user grouping method low has become a problem that needs to be solved urgently. SUMMARY

[0005] The application provides a user grouping method, device, equipment and storage medium, which is low in complexity, applicable to a multi-user scenario and capable of improving the performance of a NOMA heterogeneous communication network system.

[0006] In an aspect, a user grouping method is provided, which comprises:

[0007] The outer loop iteration step is performed on the first grouping;

[0008] The outer loop iteration step comprises:

[0009] According to a target displacement scheme, the positions of target users in the first grouping are transformed to obtain a second grouping; the first grouping comprises user sets; the target users are at least one user in each user set;

[0010] According to a target function value corresponding to the second grouping, the first grouping and an optimal grouping are updated; the target function value is a value used to indicate the average throughput of edge users, which is calculated according to network parameters including preset ABS parameters and the number of edge users in the second grouping;

[0011] The first grouping and the optimal grouping are encoded into a first binary number and a second binary number respectively, and a target quantum solution is updated according to the first binary number and the second binary number based on a quantum evolution algorithm;

[0012] The target quantum solution is subjected to quantum measurement to obtain a third binary number, and the third binary number is decoded to replace the first grouping;

[0013] When the outer loop iteration step meets an outer loop stop condition, the optimal grouping is obtained.

[0014] Optionally, the outer loop iteration step comprises:

[0015] The inner loop iteration step is performed on the first grouping until an inner loop stop condition is met;

[0016] The target quantum solution is subjected to quantum measurement to obtain a third binary number, and the third binary number is decoded to replace the first grouping;

[0017] The inner loop iteration step comprises:

[0018] According to a target displacement scheme, the positions of target users in the first grouping are transformed to obtain a second grouping; the first grouping comprises user sets; the target users are at least one user in each user set;

[0019] According to a target function value corresponding to the second grouping, the first grouping and an optimal grouping are updated;

[0020] encoding the first group and the optimal group into a first binary number and a second binary number respectively, and performing target quantum evolution on the first binary number and the second binary number based on a quantum evolution algorithm.

[0021] Optionally, after the optimal group is obtained when the outer loop iteration step satisfies the outer loop stop condition, the method further comprises:

[0022] calculating an optimal objective function value corresponding to the optimal group for different preset ABS parameters;

[0023] selecting a target optimal function value from the optimal objective function values, and obtaining a target preset ABS parameter and a target optimal group corresponding to the target optimal function value;

[0024] transmitting the user signal according to the target ABS parameter and the target optimal group.

[0025] Optionally, updating the first group and the optimal group according to the target function value corresponding to the second group comprises:

[0026] calculating a first target function value, a second target function value and an optimal target function value corresponding to the first group, the second group and the optimal group respectively, the first target function value being less than or equal to the optimal target function value;

[0027] when the second target function value is greater than the optimal target function value, updating the first group and the optimal group according to the second group;

[0028] when the second target function value is greater than the first target function value and the second target function value is less than the optimal target function value, updating the first group according to the second group;

[0029] when the second target function value is less than or equal to the first target function value, calculating a first probability value according to the difference between the second target function value and the first target function value, and determining whether to update the first group according to the second group according to the size between the first probability value and a first threshold.

[0030] Optionally, calculating a first probability value according to the difference between the second target function value and the first target function value, and determining whether to update the first group according to the second group according to the size between the first probability value and a first threshold comprises:

[0031] calculating the difference between the second target function value and the first target function value to obtain a target function difference value;

[0032] calculating the first probability value according to an initial target function value corresponding to an initial first group and the target function difference value, the initial first group being the first group generated according to the total number of users and the maximum number of users in each user set at the beginning of the outer loop iteration step;

[0033] when the first probability value is greater than the first threshold, updating the first group according to a second group;

[0034] when the first probability value is less than or equal to the first threshold, discarding the second group.

[0035] Optionally, before transforming the positions of target users in the first group according to the target displacement scheme, the method further comprises:

[0036] selecting the target displacement scheme according to selected probabilities of each displacement scheme in a preset displacement scheme set;

[0037] after updating the first group and the optimal group according to the target function value corresponding to the second group, the method further comprises:

[0038] recording a usage frequency of the target displacement scheme;

[0039] calculating a performance score of the target displacement scheme according to the usage frequency and a preset performance score calculation rule; the performance score is used to indicate an ability of the target displacement scheme to update the optimal group and the first group;

[0040] when the inner loop satisfies an inner loop stop condition, updating the selected probabilities of each displacement scheme in the preset scheme set according to a preset reflection coefficient, the performance score and the usage frequency.

[0041] Optionally, transforming the positions of target users in the first group according to the target displacement scheme to obtain the second group comprises:

[0042] when the target displacement scheme is a cross displacement scheme, determining at least two selected user sets in the first group;

[0043] swapping users at target positions in each selected user set to obtain the second group.

[0044] Optionally, transforming the positions of target users in the first group according to the target displacement scheme to obtain the second group comprises:

[0045] when the target displacement scheme is a single user displacement scheme, respectively selecting a first user set and a second user set in the first group;

[0046] selecting a first user and a second user in the first user set and the second user set respectively;

[0047] displacing the first user to a position where the second user is located;

[0048] sequentially displacing users in the first group except the first user to obtain the second group.

[0049] Optionally, the positions of the target users in the first group are transformed according to the target displacement scheme, and the second group is obtained including:

[0050] When the target displacement scheme is the recombination displacement scheme, the first user set and the second user set are respectively selected in the first group;

[0051] The first user and the second user are respectively selected in the first user set and the second user set;

[0052] The first user and the second user are combined into a group to obtain a combined user;

[0053] The combined user is displaced to the target position of the target user set in the first group;

[0054] The users in the first group except the first user and the second user are displaced in order to obtain the second group.

[0055] Optionally, the first group and the optimal group are respectively encoded into a first binary number and a second binary number, and the target quantum bit is updated according to the first binary number and the second binary number based on a quantum evolution algorithm including:

[0056] The total number of first users in the first group and the optimal group, the number of first users in each user set in the first group, the total number of optimal users, and the number of optimal users in each user set in the optimal group are respectively obtained; the number of first users is the maximum number of users contained in each user set in the first group; the number of optimal users is the maximum number of users contained in each user set in the optimal group;

[0057] According to the total number of first users, the number of first users, the total number of optimal users, and the number of optimal users, the first user set sequence number corresponding to each user set in the first group and the optimal user set sequence number corresponding to each user set in the optimal group are respectively calculated in order based on an improved Cantor expansion algorithm; the improved Cantor expansion algorithm is an algorithm for bijective mapping between the grouping mode of users and the decimal number;

[0058] According to the first user set sequence number and the optimal user set sequence number, the first decimal number corresponding to the first group and the second decimal number corresponding to the optimal group are respectively calculated;

[0059] The first decimal number and the second decimal number are respectively converted into the first binary number and the second binary number;

[0060] According to the first binary number and the second binary number, the target quantum bit is updated based on a quantum evolution algorithm.

[0061] Optionally, the target quantum solution is quantum measured to obtain a third binary number, and the first group is replaced by decoding and replacing the third binary number including:

[0062] For each bit quantum bit in the target quantum solution, based on the quantum evolution algorithm, a binary number corresponding to the quantum bit is determined according to the first random number, and a third binary number is obtained;

[0063] The third binary number is converted into a third decimal number;

[0064] Based on the improved Cantor expansion algorithm, third user set sequence numbers corresponding to each user set in the third grouping corresponding to the third decimal number are calculated in order according to the third decimal number, the optimal total number of users and the optimal number of users;

[0065] According to the third user set sequence number, a user at a target position in each user set in the third grouping is determined, and a third grouping after determining the user is obtained;

[0066] The third grouping after determining the user is determined as the first grouping.

[0067] Optionally, based on the improved Cantor expansion algorithm, the third user set sequence numbers corresponding to each user set in the third grouping corresponding to the third decimal number are calculated in order according to the third decimal number, the total number of users and the third number of users, including:

[0068] Based on the improved Cantor expansion algorithm, the number of feasible combinations corresponding to each user set in the third grouping is calculated in order according to the total number of users and the third number of users;

[0069] According to the number of feasible combinations and the third decimal data, the third user set sequence numbers corresponding to each user set in the third grouping are calculated in order.

[0070] Optionally, according to the third user set sequence number, the user at the target position in each user set in the third grouping is calculated, and the third grouping after determining the user is obtained, including:

[0071] Based on the improved Cantor expansion algorithm, the total number of feasible solutions corresponding to the target position in each user set in the third grouping is obtained in order; the total number of feasible solutions is used to indicate the user that may exist at the target position;

[0072] According to the total number of feasible solution data and the third user set sequence number, the user at the target position in each user set in the third grouping is calculated, and the third grouping after determining the user is obtained.

[0073] Optionally, before the third binary number is decoded to replace the first grouping, the method further comprises:

[0074] Based on the quantum evolution algorithm, the total number of quantum solution feasible solutions corresponding to the target quantum solution at the beginning of the inner loop is obtained;

[0075] The third binary number is converted into a third decimal number;

[0076] When the thirtieth decimal number is greater than the total number of quantum solution feasible solutions, the third binary number is discarded and the first group is regenerated.

[0077] In another aspect, a user grouping apparatus is provided, the apparatus comprising:

[0078] The execution module is configured to perform, for the first group, an outer loop iteration step.

[0079] The outer loop iteration step comprises:

[0080] According to a target displacement scheme, the positions of target users in the first group are transformed to obtain a second group; the first group comprises a plurality of user sets; the target users are at least one user in each user set;

[0081] According to a target function value corresponding to the second group, the first group and an optimal group are updated; the target function value is a value calculated according to network parameters including a preset ABS parameter and the number of edge users in the second group, and is used to indicate the average throughput of the edge users;

[0082] The first group and the optimal group are encoded into a first binary number and a second binary number, respectively; and based on a quantum evolution algorithm, the target quantum solution is updated according to the first binary number and the second binary number.

[0083] The target quantum solution is subjected to quantum measurement to obtain a third binary number, and the third binary number is decoded to replace the first group.

[0084] When the outer loop iteration step satisfies an outer loop stop condition, the optimal group is obtained.

[0085] In another aspect, a computer device is provided, the computer device comprising a processor and a memory, the memory storing at least one instruction, the at least one instruction being loaded and executed by the processor to implement the user grouping method described above.

[0086] In another aspect, a computer readable storage medium is provided, the storage medium storing at least one instruction, the at least one instruction being loaded and executed by a processor to implement the user grouping method described above.

[0087] In another aspect, a computer program product or computer program is provided, the computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the user grouping method described above.

[0088] The technical solution provided in the present application can include the following beneficial effects:

[0089] Before the outer loop meets the stop condition, the position of at least one target user in the first group is transformed according to the target displacement scheme, a second group is obtained, and then a target function value for indicating the average throughput of the edge users is calculated according to the network parameters including the preset ABS parameters and the number of the edge users in the second group, and the first group and the optimal group are updated so that the obtained optimal group corresponds to a better average throughput of the edge users, and the performance of the NOMA heterogeneous communication network system is improved from the time domain combined with the ABS strategy. The target quantum solution is updated according to the first binary number and the second binary number corresponding to the first group and the optimal group respectively by using the quantum evolution algorithm with low complexity; when the first group is further updated by using the third binary number, the updating direction of the first group is limited to the displacement direction determined based on the target displacement scheme, which greatly compresses the space and time to be searched by the user grouping method when determining the optimal group, and further reduces the time and space complexity of the user grouping method. The user grouping method is realized while the complexity of the user grouping method is low, and the user grouping method is suitable for the multi-user scenario and can improve the performance of the NOMA heterogeneous communication network system. BRIEF DESCRIPTION OF DRAWINGS

[0090] In order to more clearly illustrate the technical solutions in the specific embodiments or prior art of the present application, the drawings needed in the description of the specific embodiments or prior art will be briefly introduced. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0091] Figure 1 It is a system structure schematic diagram of a NOMA heterogeneous communication network system applying a user grouping method according to an example embodiment.

[0092] Figure 2 It is a flowchart of a user grouping method according to an example embodiment. Figure 1 It is a flowchart of a user grouping method according to an example embodiment.

[0093] Figure 3 It is a flowchart of a user grouping method according to an example embodiment.

[0094] Figure 4 It is a flowchart of a user grouping method according to an example embodiment.

[0095] Figure 5a It is a flowchart of a user grouping method according to an example embodiment. Figure 4 It is a schematic diagram of transforming the position of a target user in the first group according to the cross displacement scheme.

[0096] Figure 5b It is a flowchart of a user grouping method according to an example embodiment. Figure 4A diagram illustrating a single-user shifting scheme transforming the position of a target user in a first group.

[0097] Figure 5c is Figure 4 A diagram illustrating a recombination shifting scheme transforming the position of a target user in a first group.

[0098] Figure 6 is Figure 4 A diagram illustrating a qubit update.

[0099] Figure 7 is Figure 4 A diagram illustrating a process of decoding a user group based on an improved Cantor expansion algorithm.

[0100] Figure 8 is Figure 4 A diagram illustrating an encoding method in a user group method.

[0101] Figure 9 is Figure 4 A diagram illustrating a specific process of quantum measurement on a target quantum solution.

[0102] Figure 10 is a flowchart of a user group method in an application scenario according to an example embodiment.

[0103] Figure 11 is a method flowchart of a user group method based on a Cantor expansion algorithm and a quantum evolution algorithm according to an example embodiment.

[0104] Figure 12a is a curve diagram of average throughput performance of different numbers of users in a user set according to an example embodiment.

[0105] Figure 12b is a diagram illustrating a user CDF curve of different numbers of users in a user set according to an example embodiment.

[0106] Figure 12c is a curve diagram of a relationship between different user group algorithms and ABS parameters according to an example embodiment.

[0107] Figure 12d is a performance curve diagram of various user group methods according to an example embodiment.

[0108] Figure 13 is a structural block diagram of a user group device according to an example embodiment.

[0109] Figure 14A structural block diagram of a computer device according to an example embodiment of the present application is shown. DETAILED DESCRIPTION

[0110] The technical solutions of the present application will be described clearly and completely below with reference to the drawings. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.

[0111] It should be understood that the "indication" mentioned in the embodiments of the present application can be direct indication, indirect indication, or can be an indication of an associated relationship. For example, A indicates B, which can mean that B can be obtained directly through A; or it can mean that B can be obtained indirectly through C; or it can mean that A and B have an associated relationship.

[0112] In the description of the embodiments of the present application, the term "corresponding" can mean that there is a direct or indirect corresponding relationship between the two, or it can mean that there is an associated relationship between the two, or it can mean an indication and being indicated, configuration and being configured, etc.

[0113] In the embodiments of the present application, "predefined" can be realized by pre-saving corresponding codes, tables or other means for indicating related information in devices (such as terminal devices and network devices), and the present application does not limit the specific implementation manner.

[0114] In order to facilitate the understanding of the user grouping method proposed in the present application, first, a specific introduction to quantum evolution algorithm is given.

[0115] The quantum evolution algorithm uses the concepts of quantum physics, i.e. quantum superposition and quantum rotation gate, and makes them to realize the evolution of the solution. Let s t be the quantum solution in the tth iteration, then s t can be represented by a number of quantum bits shown in formula 1, that is,

[0116]

[0117] Where B represents the length of the quantum bit, B = [log2N total ], N total represents the total number of feasible solutions of the quantum solution. The general form of the quantum bit can be represented as the superposition state of two particle states, that is, |φ> = α|0> + β|1>, where |0> and |1> are two basic states of the particle, α and β represent the probability amplitudes of |0> and |1> states respectively, and |α| 2 + |β| 2 = 1.

[0118] The measurement of the qubit is the process of transforming the quantum superposition state into the classical state (0 or 1), which can be specifically represented by formula 2,

[0119]

[0120] Wherein, The measurement state of the b-th qubit in the quantum solution in the t-th iteration, 1≤b≤B, r is a random variable in [0, 1]. It can be seen that the quantum solution represented by the qubit can be transformed into a 01 sequence, that is, the form of binary number after the measurement of the qubit.

[0121] In the quantum evolutionary algorithm, the update formula of the rotation angle of the b-th qubit in the t-th iteration is shown in formula 3,

[0122]

[0123] Wherein, sgn(·) is a sign function, which reflects the difference in the direction of rotation angle between the three quadrants and the two quadrants, is the optimal solution of the qubit at present, δ θ is the reference rotation angle, e(t)=1-t / N T is the damping coefficient, N T is the total number of iterations (N T is the product of the total number of inner loop iterations and the total number of outer loop iterations), the purpose is to make the rotation angle gradually tend to zero. The probability amplitude of each qubit is updated by the quantum rotation gate, which is specifically shown in formula 4,

[0124]

[0125] Wherein, represents the probability amplitude of the b-th qubit in the quantum solution in the t+1-th iteration being in the |0> state, represents the probability amplitude of the b-th qubit in the quantum solution in the t+1-th iteration being in the |0> state.

[0126] Figure 1 Fig. 1 is a schematic diagram of a system structure of a NOMA-based heterogeneous communication network system applying a user grouping method according to an exemplary embodiment. The NOMA-based heterogeneous communication network system includes a macro base station 110 and at least one pico base station 120, and user grouping devices performing the user grouping method are respectively operated on the macro base station 110 and the pico base station 120.

[0127] The coverage of the macro base station 110 can be divided into several macro cells 111 (three macro cells 111 are taken as an example in the embodiment of the present application), and the pico cells 121 covered by the pico base stations 120 are randomly distributed in the macro cells 111, and the number of the pico base stations 120 in each macro cell 111 is the same; there are three types of users in the NOMA heterogeneous communication network system, which are: the users of the macro base station 110 (macro users), the users of the pico base station 120 (pico users), and the pico cell extension users (CRE users). The macro base station and the pico base station share the frequency spectrum resource, and the users of the macro base station 110 and the pico base station 120 communicate in the NOMA or full power mode. It can be understood that the users communicating in the NOMA mode recover the signal by using the method of Successive Interference Cancellation (SIC) at the receiving end; each macro cell 111 includes at least one macro user, pico user and CRE user; and each pico cell 121 includes at least one pico user and CRE user.

[0128] After the user accesses the macro base station 110 or the pico base station 120, the user grouping device running on the macro base station 110 or the pico base station 120 selects a preset ABS parameter through the user grouping apparatus, and then randomly generates a user grouping including each user set as a first grouping according to the total number of users accessing the macro base station 110 or the pico base station 120 and the maximum number of users that can be accommodated in the user set. The maximum number of users accommodated in each user set in the first grouping is artificially preset. Then, the user grouping method is executed, specifically for the first grouping, an outer loop iteration step is executed, specifically, the positions of the target users in the first grouping are transformed according to a target displacement scheme to obtain a second grouping; the first grouping and the optimal grouping are updated according to the target function value corresponding to the second grouping; the first binary number and the second binary number are encoded into the first binary number and the second binary number respectively, and the target quantum solution is updated according to the first binary number and the second binary number based on the quantum evolution algorithm; the target quantum solution is subjected to quantum measurement to obtain a third binary number, and the third binary number is decoded to replace the first grouping; when the outer loop iteration step satisfies the outer loop stop condition, the optimal grouping is obtained. It should be noted that the users in the embodiment of the present application include users communicating in the NOMA mode and the full power mode.

[0129] The target function value is a value used to indicate the average throughput of the edge users, which is calculated according to the network parameters including the preset ABS parameter and the number of edge users in the second grouping; the preset ABS parameter is any one ABS parameter in the ABS parameter set of the time domain interference coordination strategy given according to the actual situation, and the network parameters can include but are not limited to the preset ABS parameter, the maximum transmission power of the macro base station 110 the maximum transmission power of the pico base station 120 and bandwidth and other related parameters involved in the transmission of user signals in the communication network. The edge user is a user whose user throughput value is less than or equal to a preset threshold value, which can be a value set according to actual conditions, and the embodiments of the present application do not make specific limitations.

[0130] In a possible implementation, the "transforming the positions of the target users in the first group according to the target displacement scheme to obtain a second group; updating the first group and the optimal group according to the target function value corresponding to the second group; encoding the first group and the optimal group into a first binary number and a second binary number respectively, and updating the target quantum solution according to the first binary number and the second binary number based on the quantum evolutionary algorithm" can be executed in a loop, and at this time, the outer loop iteration step includes:

[0131] The inner loop iteration step is performed for the first group until the inner loop stop condition is met.

[0132] At this time, the inner loop iteration step is "transforming the positions of the target users in the first group according to the target displacement scheme to obtain a second group; updating the first group and the optimal group according to the target function value corresponding to the second group; encoding the first group and the optimal group into a first binary number and a second binary number respectively, and updating the target quantum solution according to the first binary number and the second binary number based on the quantum evolutionary algorithm"; at this time, by executing the inner loop iteration step multiple times, the optimal group and the target quantum solution in the inner loop when the inner loop stop condition is met can be obtained; if the inner loop stop condition is met, the outer loop iteration step also meets the outer loop stop condition, then the optimal group in the inner loop when the inner loop stop condition is met is the final optimal group; if the inner loop stop condition is met, the outer loop iteration step does not meet the outer loop stop condition, then the target quantum solution is quantum measured to obtain a third binary number, and the third binary number is decoded to replace the first group, and the inner loop iteration step is continued to be executed until the outer loop stop condition is finally met.

[0133] In order to further improve the performance of the NOMA heterogeneous communication network system, in a possible implementation, as Figure 2As shown, after a user accesses the macro base station 110 or the pico base station 120, the user grouping device running on the macro base station 110 or the pico base station 120 selects a preset ABS parameter from the ABS parameter set based on the NOMA heterogeneous communication network system, and then randomly generates a first grouping including each user set according to the total number of users accessing the macro base station 110 or the pico base station 120, and then performs the user grouping method and calculates the optimal objective function value corresponding to the optimal grouping under the preset ABS parameter. The optimal grouping and the optimal objective function value corresponding thereto are recorded. The above steps are repeatedly performed until the optimal groupings under at least two different ABS parameters in the ABS parameter set and the optimal objective function values corresponding to the optimal groupings are recorded, and then the optimal objective function values under different ABS parameters are compared. The maximum optimal objective function value is selected as the corresponding optimal grouping and ABS parameter. According to the maximum optimal objective function value corresponding to the optimal grouping and the ABS parameter, the user signal is transmitted. For the same NOMA heterogeneous communication network system, the optimal grouping corresponding to the maximum optimal objective function value and the ABS parameter are selected from at least two different ABS parameters in the ABS parameter set to transmit the user signal, which avoids that the NOMA heterogeneous communication network system can only transmit the user signal under a single ABS parameter and edge user throughput, and further improves the performance of the NOMA heterogeneous communication network system.

[0134] Figure 3 is a flow chart of a user grouping method according to an exemplary embodiment. The method is performed by a user grouping device, which can be a user grouping device running on the macro base station 110 and the pico base station 120 as shown in Figure 1 . As shown in Figure 3 , the user grouping method can include the following steps:

[0135] Step 31, for the first grouping, performing an outer loop iteration step.

[0136] The outer loop iteration step includes the following steps:

[0137] Step 301, according to the target displacement scheme, transforming the positions of the target users in the first grouping to obtain a second grouping.

[0138] The first group includes each user set, the target user is at least one user in each user set, and the target displacement scheme is any one of the displacement schemes selected by the user grouping device from the set of artificially preset displacement schemes. The user grouping device changes the position of at least one user in at least one user set in the first group according to the target displacement scheme, takes the first group after the user position is changed as the second group, and then the user grouping device obtains the second group. It should be noted that the user in the embodiment of the application includes a user communicating in a NOMA manner and a full power manner.

[0139] It can be understood that, before performing the outer loop iteration step on the first group, the user grouping device randomly generates a user group including each user set as the first group according to the total number of users accessing the base station, and selects a preset ABS parameter. Under the selected preset ABS parameter, the outer loop iteration step is started. The base station can be Figure 1 The macro base station 110 and / or the pico base station 120.

[0140] In step 302, the first group and the optimal group are updated according to the target function value corresponding to the second group.

[0141] The target function value is calculated according to the preset ABS parameter and the number of edge users in the second group; the preset ABS parameter is any ABS parameter selected by the user grouping device from the ABS parameter set of the time domain interference coordination strategy given according to the actual situation, and the network parameters can include but are not limited to the preset ABS parameter, the maximum transmission power of the base station, and the bandwidth and other related parameters involved in the transmission of the user signal in the communication network. The edge user is a user whose user throughput value is less than or equal to a preset threshold value, and the preset threshold value can be a value set according to the actual situation, and the embodiment of the application does not make specific limitations.

[0142] The user grouping device calculates the throughput of each edge user in the second group based on formula 5 according to the network parameters including the preset ABS parameter, and calculates the target function value corresponding to the second group by substituting the throughput of the edge user into formula 6 according to the number of edge users in the second group. The target function can indicate the average throughput of the edge user, and according to the size relationship between the target function value and the target function values corresponding to the first group and the optimal group, it is determined whether to update the second group as the first group and the optimal group. Formula 5 and formula 6 are specifically as follows:

[0143]

[0144]

[0145] wherein, throughput of the edge user u; u is an edge user in a user group; ξ u proportion of subframes occupied by the edge user u in a period; B u bandwidth; h u channel gain of the edge user u; ∑|h u | 2 p u′ interference of other users in the user group except the edge user u; ∑|h u | 2 p u interference on the same channel of different base stations; σ 2 variance of additive white Gaussian noise; p u transmit power of the base station accessed by the edge user u, wherein the network parameters include preset ABS parameters, bandwidth B u , transmit power p u of the base station, and variance σ 2 of the additive white Gaussian noise; Γ is a target function value, N Edge number of edge users in the user group.

[0146] Step 303, encoding the first group and the optimal group into a first binary number and a second binary number respectively, updating the target quantum solution according to the first binary number and the second binary number based on the quantum evolution algorithm.

[0147] Regardless of whether the second group is updated to the first group and the optimal group, the user grouping device will encode the first group and the optimal group into the first binary number and the second binary number with the same number of bits respectively according to the preset encoding and decoding rule after step 302, so as to respectively indicate the specific situation of user arrangement in each user set in the first group and the optimal group. The preset encoding and decoding rule can be any method of bijective between the specific situation of user arrangement in each user set in the user group and a specific numerical value, for example, the encoding and decoding rule based on Cantor expansion. It can be understood that when the user grouping device cannot directly encode the first group and the optimal group into binary numbers according to the preset encoding rule, the user grouping device will first encode the first group and the optimal group into non-binary numbers according to the preset encoding and decoding rule, and then convert the non-binary numbers into binary numbers. For example, when the preset encoding and decoding rule is the encoding and decoding rule based on Cantor expansion, the user grouping device will first encode the first group and the optimal group into corresponding decimal numbers, and then convert the decimal numbers into binary numbers.

[0148] Further, the user grouping device updates each bit quantum bit in the target quantum solution according to the first binary number and the second binary number based on the quantum evolution algorithm. Specifically, each bit of the first binary number and the second binary number is substituted into formula 3 to calculate the quantum rotation angle corresponding to each bit quantum bit in the target quantum solution. Then, the quantum rotation angle corresponding to each bit quantum bit in the target quantum solution is substituted into formula 4 to calculate the probability amplitude of each quantum bit in the target quantum solution in the next iteration. Then, the calculated probability amplitude is substituted into formula 1 to complete the update of the target quantum solution.

[0149] It can be understood that each bit of the first binary number is substituted into in formula 3 to represent the measurement state corresponding to each bit quantum bit in the target quantum solution, and each bit of the second binary number is substituted into in formula 3 to represent the current optimal solution of each bit quantum bit in the target quantum solution.

[0150] It should be noted that the specific generation method of the random variable r in formula 2 is not limited in the embodiments of the present application. The random variable r can be generated by any algorithm that matches the quantum evolution algorithm and can generate a random number in [0, 1].

[0151] In step 304, the target quantum solution is subjected to quantum measurement to obtain a third binary number, and the first group is replaced by the third binary number.

[0152] After the user grouping device updates the target quantum solution in step 303, the user grouping device performs quantum measurement on the updated target quantum solution according to formula 2 to obtain the 01 sequence corresponding to the target quantum solution, that is, the third binary number. Then, the third binary number is decoded according to the preset encoding and decoding rule to obtain the user grouping corresponding to the third binary number. The first group is replaced by the user grouping corresponding to the third binary number.

[0153] In step 32, when the outer loop iteration step satisfies the outer loop stop condition, the optimal group is obtained.

[0154] The outer loop stop condition is that the number of times of executing the outer loop iteration is greater than or equal to the total number of iterations of the outer loop. When the number of times of executing the outer loop iteration is greater than or equal to the total number of iterations of the outer loop, the user grouping device stops executing steps 301-304, and reads the optimal group obtained by executing the outer loop iteration step last time. In this way, the user grouping device obtains the final optimal group in the current outer loop iteration process.

[0155] In a possible implementation, steps 301 to 303 can be executed in a loop. At this time, the outer loop iteration step includes:

[0156] For the first grouping, an inner loop iteration step is performed until an inner loop stop condition is satisfied.

[0157] At this time, the inner loop iteration step is steps 301-303; at this time, by performing steps 301-303 multiple times, the optimal grouping in the inner loop when the inner loop stop condition is satisfied and the target quantum solution can be obtained. If the inner loop stop condition is satisfied, the outer loop iteration step also satisfies the outer loop stop condition, then the optimal grouping in the inner loop when the inner loop stop condition is satisfied is the final optimal grouping; if the inner loop stop condition is satisfied, the outer loop iteration step does not satisfy the outer loop stop condition, then the target quantum solution is subjected to quantum measurement, a third binary number is obtained, and the third binary number is decoded to replace the first grouping, and the inner loop iteration step is continued to be performed until the outer loop stop condition is finally satisfied.

[0158] In summary, before the outer loop satisfies the stop condition, the position of at least one target user in the first grouping is transformed according to the target displacement scheme to obtain a second grouping, and then the first grouping and the optimal grouping are updated so that the obtained optimal grouping corresponds to a better average throughput of edge users, achieving improvement in performance of the NOMA heterogeneous communication network system from the time domain combined with the ABS strategy. The target quantum solution is updated according to the first binary number and the second binary number corresponding to the first grouping and the optimal grouping, respectively, using the quantum evolutionary algorithm with low complexity; when the first grouping is further updated using the third binary number, the update direction of the first grouping is limited to the displacement direction determined based on the target displacement scheme, greatly compressing the space and time to be searched for the user grouping method when determining the optimal grouping, further reducing the time and space complexity of the user grouping method. While the complexity of the user grouping method is low, the user grouping method is suitable for multi-user scenarios and can improve the performance of the NOMA heterogeneous communication network system.

[0159] Figure 4 is a flowchart of a user grouping method according to an exemplary embodiment. The method is performed by a user grouping device, which can be a user grouping device running on the macro base station 110 and the pico base station 120 as shown in Figure 1 , respectively. As shown in Figure 4 , the user grouping method can include the following steps:

[0160] Step 41, for the first grouping, an inner loop iteration step is performed until an inner loop stop condition is satisfied.

[0161] The inner loop iteration step is included in the outer loop iteration step, and the outer loop iteration step includes steps 41-42. The inner loop stop condition is that the number of inner loop iterations is greater than or equal to the total number of inner loop iterations. The user grouping device performs the inner loop iteration step for the first group first. When the inner loop iteration step meets the inner loop stop condition, the user grouping device continues to perform step 42. When the inner loop iteration step does not meet the inner loop stop condition, the user grouping device continues to perform from step 401 until the inner loop stop condition is met.

[0162] The inner loop iteration step includes the following steps:

[0163] In step 401, the positions of target users in the first group are transformed according to a target displacement scheme, and a second group is obtained.

[0164] The first group includes a plurality of user sets, and the target user is at least one user in the plurality of user sets. Step 401 in the embodiment of the present application is similar to step 301 in the above embodiment, and will not be described here.

[0165] Optionally, before the positions of the target users in the first group are transformed according to the target displacement scheme, the following step can also be included:

[0166] The target displacement scheme is selected according to the selection probability of each displacement scheme in the set of preset displacement schemes.

[0167] The set of preset displacement schemes can include at least two human-previously-designed displacement schemes, which are used to indicate different displacement manners of the users in the plurality of user sets in the user group. The user grouping device selects one displacement scheme from the set of preset displacement schemes as the target displacement scheme according to the selection probability of each displacement scheme in the set of preset displacement schemes based on the roulette rule in the adaptive neighborhood search algorithm. It can be understood that the greater the selection probability of a displacement scheme, the higher the probability of being selected as the target displacement scheme. It should be noted that in the embodiment of the present application, the set of preset displacement schemes includes a total of three displacement schemes, namely, a cross displacement scheme, a single-user displacement scheme, and a recombination transformation displacement scheme.

[0168] Optionally, before selecting the target displacement scheme based on the selection probability of each displacement scheme in the preset displacement scheme set, the user grouping method further includes: receiving input from the operator regarding the total number of outer loop iterations, the total number of inner loop iterations, the number corresponding to the displacement scheme in the preset displacement scheme set, the selection probability of each displacement scheme in the preset displacement scheme set, the preset response coefficient, the maximum number of users that the user set can accommodate, and the initial values ​​of α and β in the quantum evolution algorithm. This allows for the manual setting of reasonable total number of outer loop iterations, total number of inner loop iterations, displacement schemes, and the selection probability corresponding to the displacement schemes, avoiding the user grouping device blindly searching all feasible solutions, i.e., blindly searching all user groups and quantum solutions, when executing the user grouping method, thus saving resources and time for user grouping.

[0169] When the target displacement scheme is a cross-shift scheme, at least two selected user sets are determined in the first group; users at the target position in each selected user set are swapped to obtain the second group.

[0170] The user grouping device can determine whether the target displacement scheme is a cross displacement scheme based on the number corresponding to the target displacement scheme. When the target displacement scheme is a cross displacement scheme, the user grouping device will determine at least two selected user sets from each user set in the first group, and then swap the users at the target position in each selected user set, thus obtaining the second group. This embodiment does not limit the specific swapping order of users at the target position; it can be set manually according to actual needs. It can swap users at the target position in each selected user set sequentially in a clockwise or counterclockwise direction; or it can swap users at the target position in each selected user set according to the order in which the selected user sets were selected or according to the size order of the selected user set numbers.

[0171] For example, such as Figure 5a As shown, the first group includes five user sets, each with corresponding numbers 0, 1, 2, 3 and 4; the first group includes users U1 to U20, with 4 users in each user set; the example is to swap the users at the target position in each selected user set according to the ascending order of the selected user set numbers.

[0172] When the user grouping device determines that the target displacement is a cross-shift scheme based on the corresponding number of the target displacement scheme, the user grouping device identifies the selected user sets numbered 0, 1, 2, and 3 from the five user sets in the first group. It then determines the position of the third user from the left in each selected user set as the target position, and subsequently swaps users U3, U7, U11, and U15 at the target position in each selected user set in ascending order of their selected user set numbers. Ultimately, user U3 in selected user set number 0 is swapped to U15, user U7 in selected user set number 1 is swapped to U3, user U11 in selected user set number 2 is swapped to U7, and user U15 in selected user set number 3 is swapped to U11.

[0173] Optionally, based on the target displacement scheme, the positions of the target users in the first group are transformed to obtain the second group, which includes:

[0174] When the target displacement scheme is a single-user displacement scheme, select the first user set and the second user set in the first group respectively; select the first user and the second user in the first user set and the second user set respectively; move the first user to the position of the second user; move the users in the first group except the first user in sequence to obtain the second group.

[0175] When the user grouping device determines that the target displacement scheme is a single-user displacement scheme based on the corresponding number of the target displacement scheme, it randomly selects a first user set and a second user set from each user set in the first group, and randomly selects a first user and a second user from the first user set and the second user set, respectively. After the first user is moved to the position where the second user is located, the first position where the first user was originally located becomes vacant. The users in the first group other than the first user are moved in sequence to fill the vacant first position, thus obtaining the second group. In this embodiment, the order of sequential displacement of users in the first group other than the first user is not limited. It can be set manually according to actual needs. It can be that the users in the first group other than the first user are moved one by one in a clockwise or counterclockwise direction to fill the position where the first user was originally located; or it can be that the users in each first group other than the first user are moved in the order of the user set numbers in the first group.

[0176] For example, such as Figure 5b As shown, the first group includes five user sets, each with the corresponding numbers 0, 1, 2, 3 and 4; the first group includes users U1 to U20, with 4 users in each user set; the example is to shift all users in the first group except the first user in a counterclockwise direction.

[0177] When the user grouping device determines that the target displacement is a single-user displacement scheme according to the number corresponding to the target displacement scheme, the user grouping device determines a first user set with a number of 0 and a second user set with a number of 3 in the five user sets of the first group. The user grouping device selects user U3 as the first user in the first user set and selects user U15 as the second user in the second user set. After displacing user U3 to the position of user U15, the first position originally occupied by user U3 is vacated. The user grouping device displaces the users in the first group in the clockwise direction one by one to the direction of the first position. Finally, user U4 is in the first position and user U5 is behind user U4, and the second group shown in FIG. 8 is obtained. Figure 5b

[0178] Optionally, the method further includes the following steps.

[0179] When the target displacement scheme is the recombination displacement scheme, the first user set and the second user set are selected from the user sets of the first group, respectively. The first user and the second user are selected from the first user set and the second user set, respectively. The first user and the second user are combined to obtain a combined user. The combined user is displaced to the target position of the target user set in the first group. The users other than the first user and the second user in each user set in the first group are displaced in sequence to obtain the second group.

[0180] When the user grouping device determines that the target displacement scheme is the recombination displacement scheme according to the number corresponding to the target displacement scheme, the first user set and the second user set are randomly selected from the user sets of the first group. The first user and the second user are randomly selected from the first user set and the second user set, respectively. The first user and the second user are combined to obtain a combined user. Any user set in the first group is selected as the target user set, and the combined user is displaced to the target position of the target user set. At this time, at least one of the first position originally occupied by the first user and the second position originally occupied by the second user is vacated. The user grouping device displaces the users other than the first user and the second user in the first group in sequence to complete the vacated positions to obtain the second group.

[0181] The order in which the users other than the first user and the second user in the first group are displaced in sequence in the embodiment of the present application is not limited. The order can be set artificially according to actual needs. The users other than the first user and the second user in the first group can be displaced one by one in the clockwise direction or the counterclockwise direction. Alternatively, the users other than the first user and the second user in the first group can be displaced according to the size order of the numbers of the user sets in the first group.

[0182] ​It should be noted that the embodiment of the present application takes two user sets as an example, but according to the number of user sets in the non-heritage grouping and the maximum number of users that can be accommodated in each user set, two or more user sets can also be combined into a group.

[0183] For example, as shown in Figure 5c , the first grouping includes five user sets, and the corresponding numbers of each user set are 0, 1, 2, 3, and 4 respectively. The first grouping includes users U1 to U20, and each user set has 4 users. Taking the clockwise direction as an example, the users in the first grouping are shifted one by one except the first user and the second user.

[0184] When the user grouping device determines that the target shift is the recombination transformation shift scheme according to the number corresponding to the target shift scheme, the user grouping device determines the first user set with the number 1 and the second user set with the number 3 in the five user sets of the first grouping. And select user U5 as the first user in the first user set and user U13 as the second user in the second user set. Combine user U5 and user U13 into a group to get the combined user. After moving user U5 and user U13 to the positions of users U1 and U2 in the first user set with the number 0, the first position originally occupied by user U5 and the second position originally occupied by user U13 are vacated. The user grouping device shifts the users in the first grouping one by one in the clockwise direction. Finally, the first position is user U3 and the second position is user U12, and the second grouping is obtained as shown in Figure 5c .

[0185] Step 402, updating the first grouping and the optimal grouping according to the target function value corresponding to the second grouping.

[0186] The step 402 in the embodiment of the present application is similar to the step 302 in the above embodiment, and will not be repeated here.

[0187] Optionally, updating the first grouping and the optimal grouping according to the target function value corresponding to the second grouping comprises:

[0188] The first target function value, the second target function value and the optimal target function value corresponding to the first group, the second group and the optimal group are respectively calculated. When the second target function value is greater than the optimal target function value, the first group and the optimal group are updated according to the second group; when the second target function value is greater than the first target function value and the second target function value is less than the optimal target function value, the first group is updated according to the second group; when the second target function value is less than or equal to the first target function value, the first probability value is calculated according to the difference between the second target function value and the first target function value, and whether the first group is updated according to the second group is determined according to the size between the first probability value and the first threshold value.

[0189] The first target function value is less than or equal to the optimal target function value. The edge users and the number of edge users in the first group, the second group and the optimal group are respectively acquired by the user grouping device, and the first target function value, the second target function value and the optimal target function value corresponding to the first group, the second group and the optimal group are calculated according to formula 5 and formula 6. It is firstly judged whether the second target function value is greater than the first target function value, and when the second target function value is greater than the first target function value, it is then judged whether the second target function value is greater than the optimal target function value. When the second target function value is greater than the optimal target function value, the first group and the optimal group are both updated to the second group by the user grouping device; when the second target function value is less than the optimal target function value and the second target function value is greater than the first target function value, the optimal group is not updated by the user grouping device, but the first group is updated to the second group.

[0190] When the second target function value is less than the first target function value, the second group is discarded according to the conventional thinking, and the first group is not updated. However, the inventors consider that the user grouping method in the embodiments of the present application is essentially an effective combination of the adaptive neighborhood search algorithm and the quantum evolutionary algorithm, and after selecting the target displacement scheme based on the roulette rule in the adaptive neighborhood search algorithm, the position of the target user in the first group is transformed according to the target displacement scheme to obtain the second group, and then the quantum solution involved in the updating of the quantum evolutionary algorithm is updated. Although the position of the target user in the first group is transformed according to the target displacement scheme selected based on the adaptive neighborhood search algorithm, the updating direction of the quantum solution can be limited to the displacement direction determined by the target displacement scheme, the feasible solution set based on the quantum solution in the quantum evolutionary algorithm is disturbed, and to some extent, the situation that the user grouping method falls into a local optimal solution when calculating the optimal group is avoided, but there is still room for improvement.

[0191] Therefore, the inventors thought of combining the idea of accepting worse feasible solutions in the existing simulated annealing algorithm to avoid the simulated annealing algorithm from falling into a local optimal solution when solving, and accepting a second grouping with a worse target function value to further avoid the user grouping method from falling into a local optimal solution when calculating the optimal grouping. Therefore, when the second target function value is less than the first target function value, the user grouping device calculates a first probability value according to the difference between the second target function value and the first target function value based on formula 7. Then, it determines whether to update the first grouping to the second grouping according to the size between the first probability value and a first threshold. Formula 7 is as follows:

[0192] P = exp(ΔC / T), ΔC < 0 Formula 7

[0193] Wherein, ΔC is the difference between the second target function value and the first target function value, T = 0.2Γ(S ini ), Γ(S ini ) is the initial target function value corresponding to the initial first grouping, and the initial first grouping is a user grouping randomly generated according to the total number of users and the maximum number of users in each user set at the beginning of the outer loop iteration step.

[0194] Optionally, calculating the first probability value according to the difference between the second target function value and the first target function value, and determining whether to update the first grouping according to the second grouping according to the size between the first probability value and the first threshold includes:

[0195] Calculating the difference between the second target function value and the first target function value to obtain a target function difference; calculating the first probability value according to the initial target function value corresponding to the initial first grouping and the target function difference; when the first probability value is greater than the first threshold, updating the first grouping according to the second grouping; when the first probability value is less than or equal to the first threshold, discarding the second grouping.

[0196] Wherein, the initial first grouping is the first grouping generated according to the total number of users and the maximum number of users in each user set at the beginning of the outer loop iteration step. The user grouping device will randomly generate a user grouping as the initial first grouping according to the total number of users accessing the base station and the maximum number of users that each user set can accommodate at the beginning of the current outer loop iteration step, and calculate and record the initial target function value corresponding to the initial first grouping based on formula 5 and formula 6. Subsequently, the first probability value is calculated according to formula 7, and when the first probability value is greater than the first threshold, the first grouping is updated to the second grouping; when the first probability value is less than or equal to the first threshold, the second grouping is discarded, and the first grouping is not updated. It should be noted that the first threshold is a random number between 0 and 1, and can also be a value set by the operator according to actual needs, such as 0.5 or 0.38.

[0197] Optionally, after updating the first group and the optimal group according to the target function value corresponding to the second group, the method further comprises:

[0198] Recording the usage frequency of the target displacement scheme.

[0199] The target displacement scheme comprises a number set by an operator. The user grouping device calculates the frequency of the displacement scheme corresponding to the number being selected as the target displacement scheme for each execution of the inner loop iteration step, and records the usage frequency of the target displacement scheme.

[0200] According to the usage frequency and a preset performance score calculation rule, the performance score of the target displacement scheme is calculated.

[0201] The performance score is used to indicate the ability of the target displacement scheme to update the optimal group and the first group. In order to facilitate the description of the preset performance score, in the embodiments of the present application, λ k represents the performance score of the target displacement scheme, and k represents the number corresponding to the target displacement scheme. The preset performance score calculation rule is that when the second target function value is greater than the optimal target function value, λ k = λ k + λ a ; when the second target function value is less than the optimal target function value and greater than the first target function value, λ k = λ k + λ b ; when the second target function value is less than or equal to the first target function value and the first probability value is greater than the first threshold value, λ k = λ k + λ c ; when the second target function value is less than or equal to the first target function value and the first probability value is less than or equal to the first threshold value, λ k = λ k + 0; wherein λ a > λ b > λ c The embodiments of the present application do not limit the specific values of λ a , λ b and λ c , which can be λ a = 2, λ b = 1.3, and λ c = 1.

[0202] When the user grouping device first executes the inner loop iteration step, the performance score λ kis initialized to 0, and each time the first group and the optimal group are updated according to the second target function value corresponding to the second group before the inner loop satisfies the inner loop stop condition, the user grouping device accumulates the performance score of the target displacement scheme during the execution of the inner loop iteration step according to the preset performance score calculation rule.

[0203] For example, the preset displacement scheme set includes a cross displacement scheme, a single-user displacement scheme, and a reorganization transformation displacement scheme; the number corresponding to the cross displacement scheme is 1, the number corresponding to the single-user displacement scheme is 2, and the number corresponding to the reorganization transformation displacement scheme is 3. Assuming that the user grouping device executes the inner loop iteration step, the inner loop stop condition is that the number of times of executing the inner loop iteration step is greater than or equal to five. Assuming that the user grouping device executes the inner loop iteration step five times, the following conditions are assumed:

[0204] In the first iteration, the number of the target displacement scheme is 2, the second target function value is greater than the optimal target function value, and then λ2 = λ2 + λ a = 0 + 2 = 2, and the single-user displacement scheme is used once.

[0205] In the second iteration, the number of the target displacement scheme is 1, the second target function value is less than or equal to the first target function value, and the first probability value is greater than the first threshold value, and then λ1 = λ1 + λ c = 0 + 1 = 1, and the cross displacement scheme is used once.

[0206] In the third iteration, the number of the target displacement scheme is 3, the second target function value is less than the optimal target function value, and the second target function value is greater than the first target function value, and then λ3 = λ3 + λ b = 0 + 1.3 = 1.3, and the reorganization transformation displacement scheme is used once.

[0207] In the fourth iteration, the number of the target displacement scheme is 2, the second target function value is less than the optimal target function value, and the second target function value is greater than the first target function value, and then λ2 = λ2 + λ a = 2 + 1.3 = 3.3, and the single-user displacement scheme is used twice.

[0208] In the fifth iteration, the number of the target displacement scheme is 1, the second target function value is greater than the optimal target function value, and then λ1 = λ1 + λ a = 1 + 2 = 3, and the cross displacement scheme is used twice.

[0209] Finally, when the inner loop iteration step satisfies the inner loop stop condition, λ1, λ2, and λ3 are 3, 3.3, and 1.3 respectively, and the cross displacement scheme, the single-user displacement scheme, and the reorganization transformation displacement scheme are used twice, twice, and once respectively.

[0210] When the inner loop meets the inner loop stop condition, the selected probability of each displacement scheme in the preset displacement scheme set is updated according to the preset reflection coefficient, the performance score and the use frequency.

[0211] When the number of times that the user grouping device performs the inner loop iteration step is greater than the total number of iteration times of the inner loop, the weight of each displacement scheme is calculated based on formula 8, and then the weight of each displacement scheme is substituted into formula 9 to calculate the selected probability of each displacement scheme, and the selected probability of each displacement scheme is updated. Formula 8 and formula 9 are specifically as follows:

[0212]

[0213]

[0214] Wherein, k = 1, 2, 3…K, is the number of each displacement scheme; K is the number of displacement schemes in the preset displacement scheme set; ω k is the weight of the displacement scheme; p is the preset reflection coefficient; μ k is the use frequency of the displacement scheme; P(k) is the selected probability of the displacement scheme.

[0215] For example, in combination with the previous example, λ1, λ2 and λ3 are 3, 3.3 and 1.3 respectively, the cross displacement scheme, the single-user displacement scheme and the recombination transformation displacement scheme are used 2 times, 2 times and 1 time respectively; the preset reflection coefficient is 0.6. When the user grouping device meets the inner loop stop condition, the weight of the cross displacement scheme, the single-user displacement scheme and the recombination transformation displacement scheme is calculated according to formula 8 respectively:

[0216] Cross displacement scheme: Therefore, the selected probability of the cross displacement scheme is

[0217] Single-user displacement scheme: Therefore, the selected probability of the cross displacement scheme is

[0218] Recombination transformation displacement scheme: Therefore, the selected probability of the cross displacement scheme is The displacement scheme with a higher selected probability means that the possibility of being selected in the next round of inner loop iteration steps is higher.

[0219] Optionally, before selecting the target displacement scheme according to the selected probability of each displacement scheme in the preset displacement scheme set, the user grouping method further includes receiving the preset reflection coefficient and the preset displacement scheme

[0220] Step 403, encode the first group and the optimal group into a first binary number and a second binary number respectively, and update the target qubits according to the first binary number and the second binary number based on the quantum evolution algorithm.

[0221] Step 403 in the embodiment of the present application is similar to step 303 in the above embodiment, and will not be described here.

[0222] For example, Figure 6 is Figure 4 The schematic diagram related to the updating of the qubits is shown in FIG. 3. Figure 6 As shown in FIG. 3, the total number of outer loop iterations and the total number of inner loop iterations are both 5, and the initial values of a and β are both For example.

[0223] First, the rotation angle of the bth qubit in the tth iteration is given by formula 3, represents the probability amplitude of the two-particle state of the qubit, restricts the direction of the rotation angle, represents the measurement state (0 or 1) of the qubit, represents the optimal solution of the qubit at present, δ θ represents the reference rotation angle, e(t) = 1-t / N T is a damping coefficient, and the purpose is to make the rotation angle gradually tend to zero. Then the rotation angle calculated according to formula 3 is The probability amplitude of the two-particle state of the qubit is updated through formula 4 of the quantum rotation gate.

[0224] Specifically, b = 5, δ θ = 5°, N T = 10, there are 5 qubits in the quantum solution, and a and β of each qubit are both 0.7071. That is, a = [0.7071, 0.7071, 0.7071, 0.7071, 0.7071], and β = [0.7071, 0.7071, 0.7071, 0.7071, 0.7071]. Assuming that the binary number corresponding to the current quantum solution after the first iteration is 10101, and the binary number corresponding to the optimal group is 11111, the damping coefficient is calculated as e(t) = 1-1 / 10 = 0.9, the rotation angle of each qubit is calculated according to formula 3 as θ = [0°, 4.5°, 0°, 4.5°, 0°], and then a is updated as a = [0.7071, 0.6494, 0.7071, 0.6494, 0.7071] and β is updated as β = [0.7071, 0.7604, 0.7071, 0.7604, 0.7071] through formula 4. At this time, when the quantum measurement operation is performed on each qubit of the quantum solution, the probability of the measurement result of the 2nd and 4th qubits being 1 increases.

[0225] The inventor considers that if there is no suitable coding scheme for user grouping, the user grouping method needs to generate all possible user groups in advance for later query, which will cause unnecessary computational overhead and space waste. Moreover, if considering the ordering sequence of users in each user set in user grouping, the number of user sets will increase with the increase of the total number of users, but a large number of repeated user groups will be contained in all possible user groups. Therefore, the inventor thinks of designing an improved Cantor expansion algorithm based on the existing Cantor expansion, changing the bijection from full permutation in Cantor expansion to natural number to the bijection between user grouping based on combination and decimal number, so as to remove a large number of repeated user groups, and then compress the search space of the user grouping method and speed up the calculation efficiency of the optimal grouping.

[0226] The specific steps of encoding user grouping based on the improved Cantor expansion algorithm include the following steps:

[0227] Step 1: According to the total number of users N U and the maximum number of users that can be accommodated in each user set Calculate the number of user sets in user grouping N G based on formula 10, and the number of feasible combinations of each user set in the user grouping in order based on formula 11. Formula 10 and formula 11 are specifically as follows:

[0228]

[0229]

[0230] Wherein, g is the number of each user set in user grouping, g = 0, 1, 2,..., N G -1. It should be noted that in the embodiments of the present application, the number of users in each user set in user grouping is the same and is the maximum number of users except for the last user set. For example, the remaining users in the last user set. It can be understood that the number of users in each user set in user grouping is less than or equal to the maximum number of users. Compared with the existing user grouping which assumes that the number of users in each group is the same, the user grouping in the embodiments of the present application can support grouping with different number of users in the last user set, and can support more types of number of users. It should be noted that Any positive integer can be taken, but it is used Therefore, when , the method of encoding user grouping based on the improved Cantor expansion algorithm is meaningful.

[0231] Step 2: Calculate the user set sequence number m of each user set in user grouping in order g , initialize m g= 0, the user set sequence number m of each user set in the user group is calculated according to formula 12 g Formula 12 is specifically as follows:

[0232]

[0233] wherein g_u is the user position number of a user in the user set, g_u = g,u (for example, g_u = 0, 1 indicates that one user in a user set in the user group is located at position 0 and the other user is located at position 1), wherein g = 0, 1, 2,..., N G -1; u represents the feasible solution number of the current position; N (u) represents the total number of feasible solutions of the current position. It can be understood that the total number of feasible solutions of the current position is related to the running stage of the algorithm. It should be noted that the feasible solution number sequence of the current position corresponds to the user (user number sequence arrangement), for example, the feasible solution number u = 0, 1, 2, 3, 4, and each feasible solution number corresponds to the user U1, U2, U3, U4, U5 respectively. u' is the feasible solution number corresponding to the user at the current position. The user set sequence number of the last user set in the user group is fixed as 0.

[0234] Step 3: When the user set sequence number of all user sets in the user group is calculated, the combination number M of the user group is calculated based on formula 13, wherein M is a decimal number. Formula 13 is specifically as follows:

[0235]

[0236] For example, N U = 5, Taking the user group [[U2, U4], [U1, U5], U3] as an example, the specific steps of encoding the user group based on the improved Cantor expansion algorithm are explained.

[0237] Firstly, since N U = 5, the number of user sets N G = 3. g is the number of each user set in the user group. The user group has three user sets, and the numbers of the user sets are 0, 1 and 2 respectively. The number of feasible combinations of each user set is calculated in sequence based on formula 11.

[0238] g = 0, the number of feasible combinations of the user set numbered 0 is

[0239] g = 1, the number of feasible combinations of the user set numbered 1 is

[0240] g = 2, the number of feasible combinations of the last user set numbered 2 is 1 (indicating that if the user sets numbered 0 and 1 in the user grouping are given, the last user set numbered 2 is fixed).

[0241] Secondly, the user set serial number m of each user set in the user grouping is calculated in sequence based on formula 12 g Since the user grouping in this example has Therefore, each user set in the user grouping has at most two positions, which are represented by 0 and 1 in this example, i.e., g_u = 0, 1.

[0242] For the 0 position in the user set numbered 0, the current m0 = 0, and the current number of feasible solutions (u = 0, 1, 2, 3, 4, which sequentially correspond to users U1, U2, U3, U4, U5, respectively, in order of user numbering), if the current user in the 0 position is U2, the corresponding feasible solution number u' = 1, and then formula 12 is applied to calculate

[0243] For the 1 position in the user set numbered 0, the current m0 = 4, and the current number of feasible solutions (because the previous user is U2, based on the de-duplication feature, users with serial numbers before U2 are not considered), u = 0, 1, 2, which sequentially correspond to users U3, U4, U5, respectively. If the current user in the 1 position is U4, the corresponding feasible solution number u' = 1, and then formula 12 is applied to calculate

[0244] For the 0 position in the user set numbered 1, the current m1 = 0, and the current number of feasible solutions u = 0, 1, 2, which sequentially correspond to users U1, U3, U5, respectively. If the current user in the 0 position is U1, the corresponding feasible solution number u' = 0, and then formula 12 is applied to calculate m1 = 0 + 0 = 0.

[0245] For the 1 position in the user set numbered 1, the current m1 = 0, and the current number of feasible solutions u = 0, 1, which sequentially correspond to users U3, U5, respectively. If the current user in the 0 position is U5, the corresponding feasible solution number u' = 1, and then formula 12 is applied to calculate

[0246] The 0 position in the user set numbered 2 is user U3, and since it is the last group, m2 = 0, and there is only one feasible solution number, indicating that the result of the last user set is unique after the previous user sets are fixed.

[0247] Finally, the user set sequence number of all user sets in the user group is calculated, and then the combination number M of the user group is calculated according to formula 13: M = 5 * (3 * 1) + 1 * 1 + 0 * 1 = 16.

[0248] The specific steps of decoding the user group based on the improved Cantor expansion algorithm include the following steps:

[0249] Step A: Obtain the total number of users N U , the maximum number of users that can be accommodated in each user set , and the combination number M of the user group, and calculate the number N of user sets in the user group based on formula 10: G , calculate the number of feasible combinations of each user set in the user group in order based on formula 11.

[0250] Step B: Calculate the user set sequence number m of each user set in the user group in order based on formula 14: g and update M based on formula 15, and fix it to 0.

[0251]

[0252]

[0253] wherein,

[0254] Step C: For each user set, calculate the user in each position in the user set in order according to m g calculated in step B. Specifically, calculate the minimum u' value that satisfies formula 16 in order, and determine u' as the feasible solution number corresponding to the user in the current position, determine the user in the current position based on the feasible solution number, and update m g corresponding to the next position g_u+1 in the user set based on formula 17.

[0255]

[0256]

[0257] wherein, It can be understood that the total number of feasible solutions of the current position is related to the running stage of the algorithm.

[0258] Step D: When all users in the user group are calculated in each position, return the decoding result of the user group.

[0259] Exemplarily, Figure 7 is Figure 4 the process diagram of decoding the user group based on the improved Cantor expansion algorithm involved in the method, as Figure 7N = 5, U M = 16, M = 16, assuming 5 users denoted as U1, U2, U3, U4, U5, the specific steps of decoding user group based on the improved Cantor expansion algorithm are illustrated.

[0260] Firstly, the total number of users N U = 5, the maximum number of users that each user set can accommodate and the combination number of user group M = 16 are obtained. G = 3, the user group has 3 user sets, and the numbers of each user set are 0, 1 and 2 respectively. Based on formula 11, the number of feasible combinations of each user set is calculated in order.

[0261] g = 0, the number of feasible combinations of the user set numbered 0 is

[0262] g = 1, the number of feasible combinations of the user set numbered 1 is

[0263] g = 2, the number of feasible combinations of the last user set numbered 2 is 1 (indicating that if the user sets numbered 0 and 1 in the user group are given, the last user set numbered 2 is fixed).

[0264] Secondly, the user set sequence number m g of each user set in the user group is calculated in order based on formula 14, and m g and M, are updated based on formula 14 and formula 15 respectively.

[0265] User set numbered 0: At this time

[0266] User set numbered 1: At this time M = M%1 = 0;

[0267] User set numbered 2: m2 = 0.

[0268] Then, for each user set in the user group, the user position number g_u of the user in each position in the user set is g_u = 0, 1.

[0269] Next, for each user set, the user in each position in the user set is calculated in order.

[0270] For position 0 in the user set numbered 0, the current number of feasible solutions is (There are 5 users and none of them is selected), u = 0, 1, 2, 3, 4, respectively, representing users U1, U2, U3, U4, U5; calculate the minimum u' value satisfying formula 16, and (From the feasible combination number matrix of the remaining user set , determine the minimum u' value satisfying formula 16), so u' = 1, at this time, the feasible solution number u' = 1 represents user U2, so user U2 is in the 0 position of the user set numbered 0, and m is updated based on formula 17 g ,

[0271] For the 1 position of the user set numbered 0, the current feasible solution number is (Since the previous user is U2, based on the de-duplication feature, users with serial numbers before U2 are not considered), u = 0, 1, 2, respectively, sequentially corresponding to users U3, U4, U5. Based on formula 16, it is calculated that (From the feasible combination number matrix of the remaining user set , determine the minimum u' value satisfying formula 16), so u' = 1, at this time, the feasible solution number u' = 1 represents user U4, so user U4 is in the 1 position of the user set numbered 0.

[0272] For the 0 position of the user set numbered 1, the current feasible solution number is u = 0, 1, 2, respectively, sequentially corresponding to users U1, U3, U5. Based on formula 16, it is calculated that (From the feasible combination number matrix of the remaining user set , determine the minimum u' value satisfying formula 16), so u' = 0, at this time, the feasible solution number u' = 0 represents user U1, so user U1 is in the 0 position of the user set numbered 1, and m is updated based on formula 17 g , m1 = 1%1 = 0;

[0273] For the 1 position of the user set numbered 1, the current feasible solution number is u = 0, 1, respectively, sequentially corresponding to users U3, U5. Based on formula 16, it is calculated that (From the feasible combination number matrix of the remaining user set , determine the minimum u' value satisfying formula 16), so u' = 1, at this time, the feasible solution number u' = 0 represents user U5, so user U5 is in the 1 position of the user set numbered 1.

[0274] The 0 position of the user set numbered 2 is user U3, and since it is the last user set, the users in the previous user sets can be directly obtained.

[0275] Finally, all users in the user group set are calculated at each location, and the decoding result is returned as:

[0276] User set No. 0: U2, U4;

[0277] User set No. 1: U1, U5;

[0278] User set No. 2: U3.

[0279] Optionally, Figure 8 is Figure 4 The flowchart of the encoding method in the user grouping method involved in the present application will be described as shown in FIG. 8. Figure 8 The first grouping and the optimal grouping are respectively encoded into a first binary number and a second binary number, and the target qubits are updated based on the quantum evolution algorithm according to the first binary number and the second binary number, including the following steps:

[0280] Step 801: The first total number of users in the first grouping, the first number of users in each user set in the first grouping, the optimal total number of users, and the optimal number of users in each user set in the optimal grouping are respectively obtained.

[0281] The first number of users is the maximum number of users accommodated in each user set in the first grouping; the optimal number of users is the maximum number of users accommodated in each user set in the optimal grouping. The user grouping device reads the number of all users in the first grouping and the first number of users from the first grouping, and takes the number of all users in the first grouping as the first total number of users. The optimal total number of users and the optimal number of users in the optimal grouping are obtained in the same way. It can be understood that when the user grouping device performs the first inner loop iteration step in the outer loop iteration step for the first time, the user grouping device can randomly generate an initial first grouping according to the maximum number of users accommodated in the user set input by the operator and the total number of user terminal devices accessed to the base station.

[0282] Step 802: According to the first total number of users, the first number of users, the optimal total number of users, and the optimal number of users, the first user set sequence number corresponding to each user set in the first grouping and the optimal user set sequence number corresponding to each user set in the optimal grouping are respectively calculated in order based on the improved Cantor expansion algorithm.

[0283] The improved Cantor expansion algorithm is a bijective algorithm between the grouping mode of the user and the decimal number. The user grouping device performs steps 1 to 2 for the first grouping and the optimal grouping respectively. Specifically, the total number of first users and the first user number are substituted into formula 10 to calculate the number of user sets in the first grouping, and the number of feasible combinations of each user set in the first grouping is calculated based on formula 11. Then, according to formula 12, the first user set sequence number of each user set in the first grouping is calculated in order from small to large according to the number of the user set. Similarly, the optimal user set sequence number of each user set in the optimal grouping is calculated.

[0284] Step 803: According to the first user sequence number and the optimal user set sequence number, the first decimal number corresponding to the first grouping and the second decimal number corresponding to the optimal grouping are calculated respectively.

[0285] After the user grouping device performs steps 1 to 2 for the first grouping and the optimal grouping respectively, that is, the user set sequence numbers of all user sets in the first user grouping and the optimal grouping are calculated, step 3 is performed. The first user set sequence number and the optimal user set sequence number are substituted into formula 13 respectively to calculate the combination number of the first grouping and the combination number of the optimal grouping respectively. The combination number of the first grouping is taken as the first decimal number, and the combination number of the optimal grouping is taken as the second decimal number.

[0286] Step 804: The first decimal number and the second decimal number are converted into the first binary number and the second binary number respectively.

[0287] The user grouping device converts the first decimal number and the second decimal number into the first binary number and the second binary number respectively based on the existing decimal-binary conversion rule.

[0288] Step 805: Based on the quantum evolution algorithm, the target qubit is updated according to the first binary number and the second binary number.

[0289] Step 805 in the embodiment of the present application is similar to step 303 in the above-mentioned embodiment and will not be repeated here. The specific situation of arranging users in each user set in the first grouping and the optimal grouping is corresponded to the first decimal number and the second decimal number respectively, and then combined with the binary-decimal conversion, which facilitates the subsequent update of the target quantum solution.

[0290] Step 42: Quantum measurement is performed on the target quantum solution to obtain a third binary number, and the third binary number is decoded to replace the first grouping.

[0291] When the inner loop iteration step satisfies the inner loop stop condition, the user grouping device performs step 42. Step 42 in the embodiment of the present application is similar to step 304 in the above-mentioned embodiment and will not be repeated here.

[0292] Optionally, the target quantum solution is quantum measured to obtain a third binary number, and the third binary number is decoded to replace the first group, including the following steps:

[0293] For each bit quantum bit in the target quantum solution, a binary number value corresponding to the quantum bit is determined based on the quantum evolution algorithm and according to the first random number, to obtain a third binary number.

[0294] The user grouping device randomly generates a random variable r in [0, 1] based on the quantum evolution algorithm for each bit quantum bit in the target quantum solution, takes the random variable r as the first random number to determine the binary number corresponding to the quantum bit at the current position in the target quantum solution based on formula 2, and finally obtains the 01 sequence corresponding to the target quantum solution. The 01 sequence corresponding to the target quantum solution is the third binary number.

[0295] The third binary number is converted into a third decimal number.

[0296] The user grouping device converts the third binary number into a third decimal number based on the existing decimal-binary conversion rule.

[0297] Exemplarily, taking the length B of the quantum bit as 5 as an example, the specific process of quantum measuring the target quantum solution can be shown as follows: Figure 9 There are 5 bit quantum bits in the target quantum solution, so there are 5 α in the target quantum solution, specifically α1, α2, α3, α4 and α5. Five times of randomly generated random variables r are 0.82, 0.69, 0.32, 0.95 and 0.03 respectively. Among them, 0.82<|α1 2 , 0.69>|α2 2 , 0.32<|α3 2 , 0.95>|α4 2 , 0.03<|α5 2 , the binary number corresponding to the target quantum solution is 01010. Converting 01010 into a decimal number is 10.

[0298] Based on the improved Cantor expansion algorithm, the third user set serial number corresponding to each user set in the third group corresponding to the third decimal number is calculated in order according to the third decimal number, the optimal total number of users and the optimal number of users.

[0299] The user grouping device determines the thirtieth number as the combination number of the third group, and reads the optimal user total number and the optimal user number in the optimal group, determines the user total number in the third group as the optimal user total number, and determines the maximum user number contained in each user set in the third group as the optimal user number. The user grouping device performs steps A to B on the third group, first substitutes the user total number in the third group and the maximum user number contained in each user set in the third group into formula 10 to calculate the number of user sets in the third group. Then, the number of feasible combinations of each user set in the third group is calculated based on formula 11. Then, the user set sequence number of each user set in the third group is calculated based on formula 14, and the combination number of the third group is updated based on formula 15.

[0300] According to the third user set sequence number, the user in the target position in each user set in the third group is determined, and the third group after the user is determined is obtained.

[0301] The user grouping device calculates the user in each position in each user set in the third group based on the improved Cantor expansion algorithm based on the user set sequence number of each user set in the third group calculated in the previous step, and returns the decoding result of the third group, so that the user grouping device obtains the third group after decoding is completed.

[0302] Optionally, according to the third user set sequence number, the user in the target position in each user set in the third group is calculated, and the third group after the user is determined is obtained.

[0303] According to the third user set sequence number, the user in the target position in each user set in the third group is calculated, and the third group after the user is determined is obtained.

[0304] The total number of feasible solutions is used to indicate the user that may exist in the target position. The user grouping device performs steps C to D, according to the order of the number of user sets from small to large, for each user set in the third group, according to the running stage of the current improved Cantor algorithm, the total number of feasible solutions in the current position of the current user set in the third group is determined, and the third user set sequence number is substituted into formula 16 to calculate the feasible solution number in the current position of the current user set, and the user in the current position of the current user set is determined based on the feasible solution number. Then, the third user sequence set is substituted into formula 17 to update the third user set number corresponding to the next position of the current user set. When the users in all positions of all user sets in the third group are calculated, the decoding result of the third group is returned, so that the user grouping device obtains the third group after decoding is completed.

[0305] The third group after the user is determined is determined as the first group.

[0306] The user grouping device determines the third group after decoding as the first group.

[0307] Optionally, before replacing the third binary number with the first group, the user grouping method further comprises:

[0308] Based on the quantum evolutionary algorithm, the total number of feasible solutions of the quantum solution corresponding to the target quantum solution at the beginning of the inner loop is obtained; the third binary number is converted into a third decimal number; and when the third decimal number is greater than the total number of feasible solutions of the quantum solution, the third binary number is discarded and the first group is randomly generated again.

[0309] The total number of feasible solutions of the quantum solution represents the size of the search space when the user grouping method searches for the optimal group. When the user grouping device starts to execute the user grouping method, the user grouping device can calculate the total number of feasible solutions of the quantum solution corresponding to the target quantum solution at the beginning of the outer loop iteration step according to the total number of outer loop iterations and the total number of inner loop iterations input by the operator. After the quantum measurement is performed on the target quantum solution to obtain the third binary number, the third binary number is converted into a third decimal number, and the size of the third decimal number and the total number of feasible solutions of the quantum solution corresponding to the target quantum solution are compared. When the third decimal number is greater than the total number of feasible solutions of the quantum solution, the third binary number is discarded, and the first group is randomly generated again according to the maximum number of users that can be accommodated in the user set and the number of user terminal devices connected to the base station. The steps 41 to 42 are repeatedly executed until the optimal group is obtained when the outer loop iteration step satisfies the outer loop stop condition; and when the third decimal number is less than or equal to the total number of feasible solutions of the quantum solution, the step 42 is executed.

[0310] The number corresponding to the displacement scheme in the set of preset displacement schemes, the selection probability of each displacement scheme in the set of preset displacement schemes, the preset reflection coefficient, the maximum number of users that can be accommodated in the user set, and the initial values of α and β in the quantum evolutionary algorithm. By artificially setting the reasonable total number of outer loop iterations, the total number of inner loop iterations, the displacement scheme, and the selection probability corresponding to the displacement scheme, the user grouping device avoids blindly searching for all feasible solutions, i.e., blindly searching for all user groups and quantum solutions when executing the user grouping method, thereby saving resources and time for user grouping.

[0311] Step 43: When the outer loop iteration step satisfies the outer loop stop condition, the optimal group is obtained.

[0312] The step 43 in the embodiment of the application is similar to the step 32 in the above embodiment, and will not be described here.

[0313] Optionally, when the outer loop iteration step does not satisfy the outer loop stop condition, the steps 41 to 42 are repeatedly executed until the outer loop iteration step satisfies the outer loop stop condition.

[0314] Optionally, in order to further improve the performance of the NOMA-based heterogeneous communication network system, after obtaining the optimal grouping when the outer loop iteration step satisfies the outer loop stop condition, the user grouping method further comprises:

[0315] For different preset ABS parameters, the optimal objective function value corresponding to the optimal grouping is calculated.

[0316] The user grouping device will perform steps 41 to 43 for at least two different preset ABS parameters selected from the ABS parameter set to obtain the optimal grouping under the selected preset ABS parameter; and then calculate the optimal objective function value corresponding to the optimal grouping under different preset ABS parameters based on formulas 5 and 6, which is used to indicate the average throughput of edge users in the communication system corresponding to the optimal grouping under different preset ABS parameters. The optimal grouping under different ABS parameters and the optimal objective function value corresponding to the optimal grouping are recorded.

[0317] Select the target optimal function value from the optimal objective function, and obtain the target preset ABS parameter corresponding to the target optimal function and the target optimal grouping.

[0318] The user grouping device selects the maximum optimal objective function value as the target optimal function value from the recorded optimal objective function values corresponding to the optimal grouping under different ABS parameters, and selects the optimal grouping and the preset ABS parameter corresponding to the maximum optimal objective function value as the target optimal grouping and the target preset ABS parameter, respectively. The user grouping device obtains the target preset ABS parameter corresponding to the target optimal function and the target optimal grouping.

[0319] According to the target ABS parameter and the target optimal grouping, the user signal is transmitted.

[0320] The user grouping device will transmit the user signal of each user terminal device in the NOMA-based heterogeneous communication network system according to the target ABS parameter and the target optimal grouping.

[0321] For the same NOMA-based heterogeneous communication network system, the target optimal function value is selected from the optimal objective function values corresponding to the optimal grouping under different preset ABS parameters. The target optimal grouping and the target preset ABS parameter corresponding to the target optimal function value are used to transmit the user, which avoids the NOMA-based heterogeneous communication network system only being able to transmit the user signal under a single ABS parameter, and further improves the performance of the NOMA-based heterogeneous communication network system.

[0322] In summary, before the inner loop stopping condition is met, the position of at least one target user in the first group is transformed according to the target displacement scheme to obtain the second group. Then, based on network parameters including preset ABS parameters and the number of edge users in the second group, the objective function value used to indicate the average throughput of edge users is calculated as the target. The first group and the optimal group are updated so that the obtained optimal group corresponds to a better average throughput of edge users. This achieves the improvement of the performance of the NOMA-based heterogeneous communication network system from the time domain perspective by combining the ABS strategy. Using a low-complexity quantum evolution algorithm, the target quantum solution is updated according to the first binary number and the second binary number corresponding to the first group and the optimal group, respectively. Then, after the inner loop stopping condition is met, the outer loop iteration step is entered. The target quantum solution is quantum measured to obtain the third binary number, and the third binary number is decoded to replace the first group, further optimizing the first group. Combining the inner and outer loop iteration steps, the optimal group is calculated in multiple loop iterations, ensuring the excellence of the optimal group and restricting the update direction of the first group to the displacement direction determined by the target displacement scheme. This greatly reduces the search space and time required by the user grouping method when determining the optimal group, further reducing the time and space complexity of the user grouping method. This approach achieves low complexity in user grouping methods, ensures applicability to multi-user scenarios, and improves the performance of NOMA-based heterogeneous communication network systems.

[0323] In one application scenario, such as Figure 10 As shown, combined with Figure 1 After user terminal equipment connects to macro base station 110 and pico base station 120, the user packet equipment running on macro base station 110 and pico base station 120 randomly generates a user group as the first group based on the total number of connected user terminal equipment, the total number of outer loop iterations, the total number of inner loop iterations, the corresponding number of displacement schemes in the preset displacement scheme set, the selection probability of each displacement scheme in the preset displacement scheme set, the preset response coefficient, the maximum number of users that the user set can accommodate, and the initial values ​​of α and β in the quantum evolution algorithm. Then, based on the roulette wheel rule in the adaptive neighborhood search algorithm, and according to the selection probability of each displacement scheme in the received preset displacement scheme set, a target displacement scheme is selected from the preset displacement scheme set. Based on the target displacement scheme, the position of the target user in the first group is changed to obtain the second group.

[0324] Further, the first target function value, the target function value and the optimal target function value corresponding to the first group, the second group and the optimal group are calculated respectively; whether the first group and the optimal group are updated is determined according to the size relationship among the first target function value, the target function value and the optimal target function value. Specifically, when the second target function value is greater than the optimal target function value, the second group is updated as the first group and the optimal group respectively; when the second target function value is greater than the first target function value and less than the optimal target function value, the second group is updated as the first group, and the optimal group is not updated; when the second target function value is less than or equal to the first target function value, the first probability value is calculated according to the difference between the second target function value and the first target function value based on the idea of simulated annealing algorithm, and whether the first group is updated is determined according to the size between the first probability value and the first threshold. Specifically, when the first probability value is greater than the first threshold, the second group is updated as the first group; when the first probability value is less than or equal to the first threshold, the second group is discarded, and the first group is not updated.

[0325] Whether the first group and the optimal group are updated in the above steps, the user grouping device will record the use frequency and performance score of the target displacement scheme, then the combination number corresponding to the first group or the optimal group is calculated based on the improved Cantor expansion algorithm respectively, and the combination number corresponding to the first group is converted into the first binary number, and the combination number corresponding to the optimal group is converted into the optimal binary number; the rotation angle of the target quantum solution is calculated based on the first binary number and the optimal binary number according to the quantum evolution algorithm; further, the target quantum solution is updated through the quantum rotation gate according to the rotation angle.

[0326] If the outer loop iteration step does not satisfy the outer loop stop condition after the inner loop satisfies the stop condition, the selected probability of each displacement scheme in the preset scheme set is updated according to the use frequency and performance score of the target displacement scheme; further, the third binary number is obtained by performing quantum measurement on the target quantum solution, and the third binary number is converted into the third decimal number; the third group corresponding to the third decimal number is decoded based on the improved Cantor expansion algorithm, and the third group is determined as the first group. If the outer loop iteration step satisfies the outer loop stop condition after the inner loop satisfies the stop condition, the optimal group is output.

[0327] In order to further verify the user grouping method proposed in the application, the search space when calculating the optimal group can be compressed by using the improved Cantor expansion algorithm to encode and decode the user grouping in cooperation with the quantum evolution algorithm and the adaptive neighborhood search algorithm. The inventors give a simulation experiment of comparing the user grouping method based on the Cantor expansion and the quantum evolution algorithm with the user grouping method proposed in the application.

[0328] The flowchart of the user grouping method based on the Cantor expansion algorithm and the quantum evolution algorithm is as followsFigure 11 As shown, first the user grouping device randomly generates a current solution set in decimal representation, and the initial solution set includes at least one combination number of user grouping for iteration; based on the Cantor expansion algorithm, a specific user grouping in the current solution set is obtained according to the combination number in the current solution set, and the target function value corresponding to each user grouping is calculated; whether there is a new optimal grouping in the current solution set is judged according to the target function value corresponding to each user grouping and the target function value corresponding to the optimal grouping. If yes, the optimal grouping is updated, if the iteration is stopped at this time, the rotation angle is calculated, the current quantum solution is updated through the quantum rotation gate, then the quantum measurement is performed on the current quantum solution to generate a binary representation of a new current solution set, and the iteration is continued by converting the binary representation of the new current solution set into a current solution set in decimal representation, otherwise the optimal grouping is output.

[0329] For example, when N U = 5, The user grouping is taken as an example, and the specific steps of encoding the user grouping based on the Cantor expansion algorithm are described.

[0330] The first bit is U1, which is ranked 0th (the user number is counted from 0) in the current feasible solution U1, U2, U3, U4, U5, and after U1 is fixed, the remaining user combination number is 4!;

[0331] The second bit is U4, which is ranked 2nd in the current feasible solution U2, U3, U4, U5, and after U4 is fixed, the remaining user combination number is 3!;

[0332] The third bit is U3, which is ranked 2nd in the current feasible solution U2, U3, U5, and after U3 is fixed, the remaining user combination number is 2!;

[0333] The fourth bit is U2, which is ranked 0th in the current remaining feasible solution set U2, U3, and after U2 is fixed, the remaining user combination number is 1!;

[0334] The fifth bit is U3, which is ranked 0th in the current remaining feasible solution set U3, and after U3 is fixed, the remaining user combination number is 0.

[0335] In summary, the combination number M = 0 x 4! + 2 x 3! + 2 x 2! + 0 x 1! + 0 x 0! = 16.

[0336] For example, when N U = 5, M = 16, and the specific steps of decoding the user grouping based on the Cantor expansion algorithm are described.

[0337] The first bit: 16 / 4! = 0……16, the current feasible user set is U1, U2, U3, U4, U5, the quotient represents the 0th user U1, the remainder is the dividend of the next bit, and 4! represents the combination number of the remaining users after the current user is fixed;

[0338] Second bit: 16 / 3! = 2 … … 4, the current feasible user set U2, U3, U4, U5, take the second user U4 (the user number starts from 0);

[0339] Third bit: 4 / 2! = 2 … … 0, the current feasible user set U2, U3, U5, take the second user U5;

[0340] Fourth bit: 0 / 1! = 0 … … 0, the current feasible user set U2, U3, take the zeroth user U2;

[0341] Fifth bit: left U3.

[0342] In summary: the user grouping is U1, U4, U5, U3, U2, and Then

[0343] The user set numbered 0: U1, U4;

[0344] The user set numbered 1: U5, U3;

[0345] The last user set numbered 2: U2.

[0346] The search space of the algorithm of the user grouping method based on Cantor expansion and quantum evolution algorithm given by the inventor is And the search space of the user grouping method in the application is The length of the quantum bit B = [log2N total ], N total represents the total number of feasible solutions of quantum solution, that is, the size of the search space.

[0347] When N U = 5, When the full permutation is applied, that is, the coding and decoding based on Cantor expansion, B = 7, and under the user grouping method in the application, B = 5, the search space is compressed to 25% of the original; N U = 20, When the full permutation is applied, that is, the coding and decoding based on Cantor expansion, B = 62, and under the user grouping method in the application, B = 52, the search space is compressed to 0.1% of the original. The compression of the search space can reduce the probability of falling into a local optimal solution when the optimal grouping of the user grouping method is calculated, and because the user grouping in the application is based on the improved Cantor expansion algorithm, a large number of repeated user groupings can be effectively removed, the total number of feasible solutions is reduced, and thus the value of B is reduced, effectively improving the complexity of the operation of the quantum evolution algorithm.

[0348] The complexity of quantum bit measurement is O(B), and the complexity of quantum rotation gate updating quantum solution is O(B). The complexity of the algorithm of coding and decoding user grouping is O(N U), the complexity of calculating the objective function value is O(N U ), the complexity of the weight according to the displacement scheme is O(K), and in the example, B>K>N U Therefore, the complexity of the user grouping method provided in the application can be represented as O(N out N inner B), wherein N out is the total number of outer loop iterations, and N inner is the total number of inner loop iterations. The inventors give the complexity of the user grouping method based on Cantor expansion and quantum evolution algorithm, which can be represented as O(N in N s B), wherein N in is the number of iterations of quantum evolution, N s is the size of the candidate solution set, and in the example, N in N s =N out N inner .

[0349] The inventors also give another simulation experiment to prove that the user grouping method provided in the application can improve the performance of the NOMA heterogeneous communication network system. The specific experimental parameters are shown in Table 1.

[0350] Table 1 Experimental parameter table

[0351]

[0352] First, the following three indicators are used to verify the reliability of the application: the average throughput of the edge users of the system, the Jain fairness index, and the cumulative distribution function (CDF) of the SINR (signal-to-interference noise ratio) of the users in the communication network. They are the average value of the throughput of the edge users of the system, the fairness of the system, and the cumulative distribution function of the SINR of the users after NOMA grouping.

[0353] The optimization target of the user grouping method provided in the application is the average throughput of the edge users of the system, Figure 12a The average throughput performance of different numbers of users in the user set is compared, and it can be seen that as the number of users in the user set increases, the average throughput of the edge users also increases, and when the number of users in the user set is 4, the system performance is optimal. This is because although the number of users in the user set increases and the interference in the user set increases, the number of user sets decreases and the available resources of each user set increase, thereby improving the throughput of the users in the user set, but too many users in the user set will also lead to performance degradation. In addition, the more the number of users in the user set, the lower the fairness index of the system, indicating that the resource allocation in the NOMA heterogeneous communication network system is more unreasonable, and the joint Figure 12bAs can be seen from the cumulative distribution function curve of the user, the more the number of users in the user set, the greater the interference in the user set, and the CDF curve of the user moves to the left, which reflects that although the throughput of the edge user in the NOMA heterogeneous communication network system is improved, the SINR of the user is small, which will have an adverse effect on subsequent decoding and other operations.

[0354] Secondly, the following indicators are used to verify the effectiveness of the application: the average throughput of the edge user of the system.

[0355] Figure 12c is the relationship between different user grouping methods and ABS parameters. Wherein ANS-QEA is a user grouping method provided by the application based on the improved Cantor expansion coding method using adaptive neighborhood search algorithm and quantum evolutionary algorithm, ANS-QEA2 is a user grouping method given by the inventor based on the Cantor expansion full permutation coding method using adaptive neighborhood search algorithm and quantum evolutionary algorithm, QEA is a user grouping method based on the quantum evolutionary algorithm of the Cantor expansion full permutation coding method, SA (Simulated Annealing) is a user grouping method based on the simulated annealing algorithm, UCGD (Uniform Channel Gain Difference) is a user grouping method based on the uniform channel gain difference grouping algorithm, RP (Random Pairing) is a user grouping method based on the random grouping algorithm, and the search combination number is fixed at 64. Under the condition of fixed ABS ratio value, the performance of different user grouping methods is different, ANS-QEA is the best, ANS-QEA2 and QEA algorithm are equivalent, SA and UCGD are the second, and RP is the worst. And with the change of ABS parameter, the system throughput of the same user grouping method shows a trend of first increasing and then decreasing, and the system has an optimal ABS parameter.

[0356] Figure 12d is the comparison of each user grouping method. Since the iteration mode of each user grouping method is not fixed, the search combination number of each user grouping method is taken as the horizontal left side for comparison, it can be seen that the performance of ANS-QEA is the best, the performance of ANS-QEA2 is better than QEA under the condition of increasing search combination number, and the performance of SA and UCGD and RP without iteration is poor. It can be proved that the user grouping method of the application has great improvement on the performance of user grouping, and the user grouping method based on the improved Cantor expansion algorithm coding provided by the application can effectively improve the performance of the user grouping method. When the search combination number is 64, the performance of ANS-QEA is improved by about 1.45% and 6.10% compared with QEA and SA, and when the search combination number is 128, the performance of ANS-QEA is improved by about 2.30% and 5.94% compared with QEA and SA.

[0357] Figure 13is a structural block diagram of a user grouping apparatus according to an exemplary embodiment. The user grouping apparatus includes:

[0358] The execution module 1310 is configured to perform an outer loop iteration step for the first grouping.

[0359] The outer loop iteration step includes:

[0360] transforming positions of target users in the first grouping according to a target displacement scheme to obtain a second grouping; the first grouping includes each user set; the target users are at least one user in each user set;

[0361] updating the first grouping and an optimal grouping according to a target function value corresponding to the second grouping; the target function value is a value calculated according to network parameters including preset ABS parameters and a number of edge users in the second grouping, and is used to indicate an average throughput of the edge users;

[0362] encoding the first grouping and the optimal grouping into a first binary number and a second binary number, respectively, and updating a target quantum solution according to the first binary number and the second binary number based on a quantum evolutionary algorithm;

[0363] performing quantum measurement on the target quantum solution to obtain a third binary number, and decoding and replacing the first grouping with the third binary number;

[0364] When the outer loop iteration step satisfies an outer loop stop condition, the optimal grouping is obtained.

[0365] In a possible implementation, the execution module is further configured to perform the following steps:

[0366] The outer loop iteration step includes:

[0367] performing an inner loop iteration step for the first grouping until an inner loop stop condition is satisfied;

[0368] performing quantum measurement on the target quantum solution to obtain a third binary number, and decoding and replacing the first grouping with the third binary number;

[0369] The inner loop iteration step includes:

[0370] transforming positions of target users in the first grouping according to a target displacement scheme to obtain a second grouping; the first grouping includes each user set; the target users are at least one user in each user set;

[0371] updating the first grouping and an optimal grouping according to a target function value corresponding to the second grouping;

[0372] Encode the first group and the optimal group into a first binary number and a second binary number respectively, and perform target quantum evolution on the first binary number and the second binary number based on a quantum evolution algorithm.

[0373] In a possible implementation, after the optimal group is obtained when the outer loop iteration step satisfies the outer loop stop condition, the user grouping apparatus further includes:

[0374] The calculation module is configured to calculate an optimal objective function value corresponding to the optimal group for different preset ABS parameters.

[0375] The obtaining module is configured to select a target optimal function value from the optimal objective function values, and obtain a target preset ABS parameter and a target optimal group corresponding to the target optimal function value.

[0376] The transmission module is configured to transmit the user signal according to the target ABS parameter and the target optimal group.

[0377] In a possible implementation, the updating the first group and the optimal group according to the target function value corresponding to the second group includes that the execution module is further configured to perform the following steps:

[0378] The first target function value, the second target function value, and the optimal objective function value corresponding to the first group, the second group, and the optimal group are calculated respectively, and the first target function value is less than or equal to the optimal objective function value.

[0379] When the second target function value is greater than the optimal objective function value, the first group and the optimal group are updated according to the second group.

[0380] When the second target function value is greater than the first target function value, and the second target function value is less than the optimal objective function value, the first group is updated according to the second group.

[0381] When the second target function value is less than or equal to the first target function value, a first probability value is calculated according to a difference between the second target function value and the first target function value, and whether the first group is updated according to the second group is determined according to a size relationship between the first probability value and a first threshold.

[0382] In a possible implementation, the first probability value is calculated according to a difference between the second target function value and the first target function value, and whether the first group is updated according to the second group is determined according to a size relationship between the first probability value and a first threshold, which includes that the execution module is further configured to perform the following steps:

[0383] The difference between the second target function value and the first target function value is calculated to obtain a target function difference value.

[0384] According to the initial target function value corresponding to the initial first grouping and the target function difference value, a first probability value is calculated, and the initial first grouping is a first grouping generated according to the total number of users and the maximum number of users in each user set at the beginning of the outer loop iteration step;

[0385] When the first probability value is greater than a first threshold value, the first grouping is updated according to the second grouping;

[0386] When the first probability value is less than or equal to the first threshold value, the second grouping is discarded.

[0387] In a possible implementation, before the positions of the target users in the first grouping are transformed according to the target displacement scheme, the user grouping apparatus further includes:

[0388] The selection module is configured to select the target displacement scheme according to the selection probability of each displacement scheme in the preset displacement scheme set;

[0389] The update module is configured to, after the first grouping and the optimal grouping are updated according to the target function value corresponding to the second grouping, further include:

[0390] The recording module is configured to record the usage frequency of the target displacement scheme;

[0391] The calculation module is configured to calculate a performance score of the target displacement scheme according to the usage frequency and a preset performance score calculation rule; the performance score is used to indicate the ability of the target displacement scheme to update the optimal grouping and the first grouping;

[0392] The update module is further configured to, when the inner loop satisfies an inner loop stop condition, update the selection probability of each displacement scheme in the preset scheme set according to a preset reflection coefficient, the performance score, and the usage frequency.

[0393] In a possible implementation, the positions of the target users in the first grouping are transformed according to the target displacement scheme to obtain the second grouping, and the execution module is further configured to perform the following steps:

[0394] When the target displacement scheme is a cross displacement scheme, at least two selected user sets are determined in the first grouping;

[0395] Users in the target positions in each selected user set are exchanged to obtain the second grouping.

[0396] In a possible implementation, the positions of the target users in the first grouping are transformed according to the target displacement scheme to obtain the second grouping, and the execution module is further configured to perform the following steps:

[0397] When the target displacement scheme is a single-user displacement scheme, a first user set and a second user set are respectively selected in the first grouping;

[0398] selecting the first users and the second users respectively in the first user set and the second user set;

[0399] displacing the first users to positions where the second users are located;

[0400] displacing the users in the first group other than the first users in sequence to obtain the second group.

[0401] In a possible implementation, the transforming the positions of the target users in the first group according to the target displacement scheme to obtain the second group includes that the execution module is further configured to perform the following steps:

[0402] selecting the first user set and the second user set respectively in the first group when the target displacement scheme is the recombination transformation displacement scheme;

[0403] selecting the first users and the second users respectively in the first user set and the second user set;

[0404] combining the first users and the second users into a group to obtain combined users;

[0405] displacing the combined users to target positions of the target user set in the first group;

[0406] displacing the users in the first group other than the first users and the second users in sequence to obtain the second group.

[0407] In a possible implementation, the encoding the first group and the optimal group into a first binary number and a second binary number respectively, and updating the target quantum bit according to the first binary number and the second binary number based on the quantum evolutionary algorithm includes that the execution module is further configured to perform the following steps:

[0408] obtaining a total number of the first users in the first group, a number of the first users in each user set in the first group, a total number of optimal users, and a number of optimal users in each user set in the optimal group respectively; the number of the first users is a maximum number of users accommodated in each user set in the first group; the number of optimal users is a maximum number of users accommodated in each user set in the optimal group;

[0409] calculating first user set serial numbers corresponding to each user set in the first group and optimal user set serial numbers corresponding to each user set in the optimal group in sequence based on the total number of the first users, the number of the first users, the total number of optimal users, and the number of optimal users respectively according to the improved Cantor expansion algorithm; the improved Cantor expansion algorithm is an algorithm for bijective mapping between the grouping manner of users and a decimal number;

[0410] calculating a first decimal number corresponding to the first group and a second decimal number corresponding to the optimal group respectively according to the first user set serial numbers and the optimal user set serial numbers.

[0411] convert the first decimal number and the second decimal number into a first binary number and a second binary number, respectively;

[0412] updating the target qubits based on the quantum evolutionary algorithm according to the first binary number and the second binary number.

[0413] In a possible implementation, the quantum measurement is performed on the target quantum solution to obtain a third binary number, and the third binary number is decoded to replace the first group. The execution module is further configured to perform the following steps:

[0414] For each bit qubit in the target quantum solution, the quantum evolutionary algorithm is used to determine the binary value corresponding to the bit qubit according to the first random number, and a third binary number is obtained;

[0415] The third binary number is converted into a third decimal number;

[0416] According to the improved Cantor expansion algorithm, the third user set sequence number corresponding to each user set in the third group corresponding to the third decimal number is calculated in sequence according to the third decimal number, the optimal total number of users, and the optimal user number;

[0417] According to the third user set sequence number, the user at the target position in each user set in the third group is determined, and a third group after determining the user is obtained;

[0418] The third group after determining the user is determined as the first group.

[0419] Optionally, according to the improved Cantor expansion algorithm, the third user set sequence number corresponding to each user set in the third group corresponding to the third decimal number is calculated in sequence according to the third decimal number, the total number of users, and the third user number, including:

[0420] According to the improved Cantor expansion algorithm, the number of feasible combinations corresponding to each user set in the third group is calculated in sequence according to the total number of users and the third user number;

[0421] According to the number of feasible combinations and the third decimal data, the third user set sequence number corresponding to each user set in the third group is calculated in sequence.

[0422] In a possible implementation, according to the third user set sequence number, the user at the target position in each user set in the third group is calculated, and a third group after determining the user is obtained, including that the execution module is further configured to perform the following steps:

[0423] According to the improved Cantor expansion algorithm, the total number of feasible solutions corresponding to the target position in each user set in the third group is obtained in sequence; the total number of feasible solutions is used to indicate the user that may exist at the target position;

[0424] According to the total number of feasible solutions and the third user set sequence number, the users in each user set at the target position in the third group are calculated to obtain the third group after determining the users.

[0425] Optionally, before replacing the first group with the third binary number, the method further comprises:

[0426] Based on the quantum evolutionary algorithm, the total number of quantum solutions corresponding to the target quantum solution at the start of the inner loop is obtained.

[0427] The third binary number is converted into a third decimal number.

[0428] When the third decimal number is greater than the total number of quantum solution feasible solutions, the third binary number is discarded and the first group is regenerated.

[0429] In summary, before the outer loop satisfies the stop condition, the position of at least one target user in the first group is transformed according to the target displacement scheme to obtain the second group, and then the target function value indicating the average throughput of the edge users is calculated based on the network parameters including the preset ABS parameters and the number of edge users in the second group, and the first group and the optimal group are updated so that the optimal group obtained corresponds to a better average throughput of the edge users, which realizes improving the performance of the NOMA heterogeneous communication network system from the time domain combined with the ABS strategy. The target quantum solution is updated according to the first binary number and the second binary number corresponding to the first group and the optimal group respectively by using the quantum evolutionary algorithm with low complexity; when the first group is further updated by using the third binary number, the update direction of the first group is limited to the displacement direction determined based on the target displacement scheme, which greatly compresses the space and time to be searched by the user grouping method when determining the optimal group, and further reduces the time and space complexity of the user grouping method. It is realized that while the complexity of the user grouping method is low, the user grouping method is suitable for multi-user scenarios and can improve the performance of the NOMA heterogeneous communication network system.

[0430] Figure 14A structural block diagram of a computer device 1400 is shown, which is used to illustrate an example embodiment of the present application. The computer device can be implemented as a server in the above-mentioned solutions of the present application. The computer device 1400 includes a central processing unit (CPU) 1401, a system memory 1404 including a random access memory (RAM) 1402 and a read-only memory (ROM) 1403, and a system bus 1405 connecting the system memory 1404 and the central processing unit 1401. The computer device 1400 further includes a mass storage device 1406 for storing an operating system 1409, application programs 1410, and other program modules 1411.

[0431] The mass storage device 1406 is connected to the central processing unit 1401 through a mass storage controller (not shown) connected to the system bus 1405. The mass storage device 1406 and its associated computer readable media provide nonvolatile storage for the computer device 1400. That is, the mass storage device 1406 can include a computer readable medium (not shown) such as a hard disk or a compact disc read-only memory (CD-ROM) drive.

[0432] Without loss of generality, the computer readable media can include computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, erasable programmable read only memory (EPROM), electrically-erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, CD-ROM, digital versatile discs (DVD), or other optical storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices. Of course, the computer storage media is not limited to the above-mentioned several kinds. The system memory 1404 and the mass storage device 1406 mentioned above can be collectively referred to as memory.

[0433] According to various embodiments of the present disclosure, the computer device 1400 can further operate connected to a network, such as the Internet, by a network connection. That is, the computer device 1400 can be connected to a network 1408 through a network interface unit 1407 connected to the system bus 1405, or can be connected to other types of networks or remote computer systems (not shown) using the network interface unit 1407.

[0434] The memory further includes at least one computer program stored therein, and the central processing unit 1401 implements all or part of the steps of the methods shown in the various embodiments above by executing the at least one computer program.

[0435] In an exemplary embodiment, a computer readable storage medium storing at least one computer program is also provided, the at least one computer program being loaded and executed by a processor to implement all or part of the steps of the above methods. For example, the computer readable storage medium can be a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0436] In an exemplary embodiment, a computer program product or computer program is also provided, the computer program product or computer program including computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device performs all or part of the steps of the methods described above. Figure 2 or Figure 3 all or part of the steps of the methods shown in any of the embodiments.

[0437] Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the application being indicated by the following claims.

[0438] It should be understood that the application is not limited to the precise structures as set forth above and shown in the attached drawings, and that various modifications and changes can be made without departing from the scope thereof. The scope of the application is limited only by the claims which follow.

Claims

1. A user grouping method, characterized in that, The method includes: For the first group, perform the outer loop iteration steps; The outer loop iteration steps include: According to the target displacement scheme, the positions of the target users in the first group are transformed to obtain the second group; the first group includes various user sets; the target user is at least one user in each user set; The first group and the optimal group are updated based on the objective function value corresponding to the second group; the objective function value is a value used to indicate the average throughput of edge users, calculated based on network parameters including preset ABS parameters and the number of edge users in the second group. The first group and the optimal group are encoded into a first binary number and a second binary number, respectively. Based on the quantum evolution algorithm, the target quantum solution is updated according to the first binary number and the second binary number. The target quantum solution is subjected to quantum measurement to obtain a third binary number, and the third binary number is decoded to replace the first group. When the outer loop iteration step satisfies the outer loop stopping condition, the optimal grouping is obtained.

2. The method according to claim 1, characterized in that, The outer loop iteration steps include: For the first group, execute the inner loop iteration steps until the inner loop stopping condition is met; The target quantum solution is subjected to quantum measurement to obtain a third binary number, and the third binary number is decoded to replace the first group. The inner loop iteration steps include: According to the target displacement scheme, the positions of the target users in the first group are transformed to obtain the second group; the first group includes various user sets; the target user is at least one user in each user set; Update the first group and the optimal group based on the objective function value corresponding to the second group; The first group and the optimal group are encoded into a first binary number and a second binary number, respectively. Based on the quantum evolution algorithm, the target quantum solution is determined according to the first binary number and the second binary number.

3. The method according to claim 1, characterized in that, After obtaining the optimal group when the outer loop iteration step satisfies the outer loop stopping condition, the method further includes: For different preset ABS parameters, calculate the optimal objective function value corresponding to the optimal group; Select the target optimal function value from the optimal objective function values, and obtain the target preset ABS parameters and target optimal grouping corresponding to the target optimal function value; User signals are transmitted based on the target preset ABS parameters and the target optimal grouping.

4. The method according to claim 2, characterized in that, The step of updating the first group and the optimal group based on the objective function value corresponding to the second group includes: Calculate the first objective function value, the second objective function value, and the optimal objective function value for the first group, the second group, and the optimal group, respectively, wherein the first objective function value is less than or equal to the optimal objective function value; When the value of the second objective function is greater than the value of the optimal objective function, the first group and the optimal group are updated according to the second group; When the second objective function value is greater than the first objective function value, and the second objective function value is less than the optimal objective function value, the first group is updated according to the second group; When the second objective function value is less than or equal to the first objective function value, a first probability value is calculated based on the difference between the second objective function value and the first objective function value, and the first group is updated based on the magnitude between the first probability value and the first threshold.

5. The method according to claim 4, characterized in that, The step of calculating a first probability value based on the difference between the second objective function value and the first objective function value, and determining whether to update the first grouping based on the magnitude between the first probability value and the first threshold, includes: Calculate the difference between the second objective function value and the first objective function value to obtain the objective function difference; The first probability value is calculated based on the initial objective function value corresponding to the initial first group and the difference of the objective function. The initial first group is the first group generated at the beginning of the outer loop iteration step based on the total number of users and the maximum number of users in each user set. When the first probability value is greater than the first threshold, the first group is updated according to the second group; When the first probability value is less than or equal to the first threshold, the second group is discarded.

6. The method according to any one of claims 2-5, characterized in that, Before transforming the positions of the target users in the first group according to the target displacement scheme, the process also includes: The target displacement scheme is selected based on the selection probability of each displacement scheme in the preset displacement scheme set. After updating the first group and the optimal group based on the objective function value corresponding to the second group, the process also includes: Record the number of times the target displacement scheme is used; The performance score of the target displacement scheme is calculated based on the number of uses and the preset performance score calculation rules; the performance score is used to indicate the target displacement scheme's ability to update the optimal group and the first group; When the inner loop meets the inner loop stopping condition, the selection probability of each displacement scheme in the preset displacement scheme set is updated according to the preset response coefficient, the performance score and the number of times it is used.

7. The method according to claim 2, characterized in that, The step of changing the position of the target user in the first group according to the target displacement scheme to obtain the second group includes: When the target displacement scheme is a cross-displacement scheme, at least two selected user sets are determined in the first group; The users at the target locations in each of the selected user sets are swapped to obtain the second group.

8. The method according to claim 2, characterized in that, The step of changing the position of the target user in the first group according to the target displacement scheme to obtain the second group includes: When the target displacement scheme is a single-user displacement scheme, the first user set and the second user set are selected in the first group respectively; Select a first user and a second user from the first user set and the second user set, respectively. Move the first user to the location of the second user; The users in the first group, excluding the first user, are shifted sequentially to obtain the second group.

9. The method according to claim 2, characterized in that, The step of changing the position of the target user in the first group according to the target displacement scheme to obtain the second group includes: When the target displacement scheme is a recombined transformation displacement scheme, the first user set and the second user set are selected from the first group respectively; Select a first user and a second user from the first user set and the second user set, respectively. The first user and the second user are combined into a group to obtain the combined user; The combined user is moved to the target position of the target user set in the first group; Users other than the first user and the second user in the first group are shifted sequentially to obtain the second group.

10. The method according to claim 2, characterized in that, The step of encoding the first group and the optimal group into a first binary number and a second binary number respectively, and updating the target qubit based on the first binary number and the second binary number according to the quantum evolution algorithm includes: The total number of first users in the first group and the optimal group, the number of first users in each user set in the first group, the total number of optimal users, and the number of optimal users in each user set in the optimal group are obtained respectively; the number of first users is the maximum number of users that each user set in the first group can accommodate; the number of optimal users is the maximum number of users that each user set in the optimal group can accommodate; Based on the improved Cantor expansion algorithm, the first user set index corresponding to each user set in the first group and the optimal user set index corresponding to each user set in the optimal group are calculated in sequence according to the first total number of users, the first number of users, the optimal total number of users and the optimal number of users; the improved Cantor expansion algorithm is an algorithm that performs a bijection between the user grouping method and the decimal number. Calculate the first decimal number corresponding to the first group and the second decimal number corresponding to the optimal group based on the first user set sequence number and the optimal user set sequence number, respectively. Convert the first decimal number and the second decimal number into the first binary number and the second binary number, respectively; Based on the quantum evolution algorithm, the target qubit is updated according to the first binary number and the second binary number.

11. The method according to claim 1, 2, or 10, characterized in that, Performing quantum measurements on the target quantum solution to obtain a third binary number, and then decoding and replacing the first group with the third binary number includes: For each qubit in the target quantum solution, based on the quantum evolution algorithm, the binary value corresponding to the qubit is determined according to the first random number, and the third binary number is obtained; Convert the third binary number to a third decimal number; Based on the improved Cantor expansion algorithm, the third user set index corresponding to each user set in the third group corresponding to the third decimal number is calculated in sequence according to the third decimal number, the total number of optimal users, and the number of optimal users; Based on the third user set sequence number, determine the users at the target positions in each user set in the third group, and obtain the third group after determining the users; The third group of users is identified as the first group.

12. The method according to claim 11, characterized in that, The improved Cantor expansion algorithm, based on the 30-decimal number, calculates the third user set index corresponding to each user set in the third group corresponding to the 30-decimal number in sequence according to the total number of users and the number of third users, including: Based on the improved Cantor expansion algorithm, the number of feasible combinations corresponding to each user set in the third group is calculated in sequence according to the total number of users and the number of third users; Based on the number of feasible combinations and the 30 decimal data, the third user set sequence number corresponding to each user set in the third group is calculated in sequence.

13. The method according to claim 11, characterized in that, The step of calculating the users at the target positions in each user set within the third group based on the third user set index, to obtain the third group after determining the users, includes: Based on the improved Cantor expansion algorithm, the total number of feasible solutions corresponding to the target location in each user set in the third group is obtained sequentially; the total number of feasible solutions is used to indicate the users that may exist at the target location; Based on the total feasible solution data and the third user set number, the users at the target positions in each user set in the third group are calculated to obtain the third group after the users are determined.

14. The method according to claim 1, characterized in that, Before decoding the third binary number to replace the first group, the method further includes: Based on the quantum evolution algorithm, the total number of feasible quantum solutions corresponding to the target quantum solution is obtained at the beginning of the inner loop; Convert the third binary number into a third decimal number; When the third decimal number is greater than the total number of feasible solutions for the quantum solution, the third binary number is discarded and the first group is regenerated.

15. A user grouping device, characterized in that, The device includes: The execution module is used to perform the outer loop iteration steps for the first group; The outer loop iteration steps include: According to the target displacement scheme, the positions of the target users in the first group are transformed to obtain the second group; the first group includes various user sets; the target user is at least one user in each user set; The first group and the optimal group are updated based on the objective function value corresponding to the second group; the objective function value is a value used to indicate the average throughput of edge users, calculated based on network parameters including preset ABS parameters and the number of edge users in the second group. The first group and the optimal group are encoded into a first binary number and a second binary number, respectively. Based on the quantum evolution algorithm, the target quantum solution is updated according to the first binary number and the second binary number. The target quantum solution is subjected to quantum measurement to obtain a third binary number, and the third binary number is decoded to replace the first group. When the outer loop iteration step satisfies the outer loop stopping condition, the optimal grouping is obtained.

16. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one instruction, which is loaded and executed by the processor to implement the user grouping method as described in any one of claims 1 to 14.

17. A computer-readable storage medium, characterized in that, The storage medium stores at least one instruction, which is loaded and executed by a processor to implement the user grouping method as described in any one of claims 1 to 14.