Method, apparatus, device, medium and computer program product for determining resource allocation priority
By combining a genetic algorithm improved by a greedy algorithm with an LSTM model and a sparrow search algorithm to optimize resource allocation priority, the problem of unreasonable resource allocation in traditional methods is solved, achieving more efficient and accurate resource allocation, and improving user experience and spectrum efficiency.
Patent Information
- Application Number
- CN202410446438.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-15
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2044-04-15
AI Technical Summary
In existing technologies, the network side relies on traditional expert experience to determine resource allocation priorities, which leads to frequent user scheduling failures and unreasonable resource fragmentation allocation, affecting user experience and base station resource allocation efficiency.
A genetic algorithm improved from a greedy algorithm is used, combined with a Long Short-Term Memory (LSTM) network model and a sparrow search algorithm. Through population initialization, fitness evaluation and iterative updates, the downlink resource allocation priority of users to be scheduled is determined and the resource allocation scheme is optimized.
It improved the efficiency and accuracy of resource allocation, ensured overall spectrum efficiency, enhanced user experience and transmission quality, and guaranteed traffic stability.
Smart Images

Figure CN118804386B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, in particular to a method and device for determining resource allocation priority, medium, and computer program product. BACKGROUND
[0002] The current network side relies on traditional expert experience to fixedly configure the resource allocation mode and the priority determination mode after a user initiates a resource request, which can cause frequent scheduling failure of the user and resource fragmentation allocation, thereby affecting user perception and resource allocation at the base station end. SUMMARY
[0003] Embodiments of the present application provide a method and device for determining resource allocation priority, medium, and computer program product, to solve the problem of manually determining resource allocation priority in the prior art.
[0004] In a first aspect, a method for determining resource allocation priority is provided, comprising:
[0005] initializing a population of a plurality of to-be-scheduled users to obtain an initialized population;
[0006] evaluating the fitness of each individual in the population to obtain a fitness evaluation result; the individual represents the to-be-scheduled user, and the fitness evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual;
[0007] iteratively updating the population based on the fitness evaluation result to determine the priority of downlink resource allocation of the to-be-scheduled users.
[0008] According to the method for determining resource allocation priority provided in the embodiments of the present application, the initializing of the population of the plurality of to-be-scheduled users to obtain an initialized population comprises:
[0009] randomly selecting a first to-be-scheduled user from the plurality of to-be-scheduled users as a starting point, and adding the first to-be-scheduled user to the individual;
[0010] searching among the remaining to-be-scheduled users to find a second to-be-scheduled user closest to the first to-be-scheduled user, and adding the second to-be-scheduled user to the individual;
[0011] searching among the remaining to-be-scheduled users until all the to-be-scheduled users are added to the individual to obtain the initialized population.
[0012] According to the method for determining resource allocation priority provided in the embodiments of the present application, the evaluating of the fitness of each individual in the population to obtain a fitness evaluation result comprises:
[0013] using a fitness function, calculating a fitness value of each individual in the population;
[0014] based on the fitness value, determining the fitness evaluation result of each individual;
[0015] wherein the fitness function is determined based on the following manner:
[0016] based on the maximum number of symbols occupied by the to-be-scheduled user and the minimum number of symbols occupied by the to-be-scheduled user, the average symbol length corresponding to the number of symbols successfully allocated by the to-be-scheduled user in history, and the number of symbols allocated by the to-be-scheduled user, determining the fitness function.
[0017] According to the resource allocation priority determination method provided in the embodiment of the present application, the population is iteratively updated based on the fitness evaluation result, to determine the priority of downlink resource allocation of the to-be-scheduled user, which comprises:
[0018] based on the fitness evaluation result, selecting a plurality of target individuals;
[0019] performing genetic operations on the target individuals to obtain new individuals; the genetic operations include selection operation, crossover operation and mutation operation;
[0020] selecting a plurality of individuals from the population as immigrant individuals;
[0021] merging the new individuals and the immigrant individuals to obtain a new population;
[0022] iteratively updating the new population to determine the scheduling sequence of all the to-be-scheduled users;
[0023] based on the scheduling sequence, determining the priority of downlink resource allocation of each to-be-scheduled user.
[0024] According to the resource allocation priority determination method provided in the embodiment of the present application, the to-be-scheduled user has a set of gene values, which are obtained by encoding factors affecting the allocation of resource blocks of the to-be-scheduled user, and the factors include resource block quantity and symbol number;
[0025] the resource block quantity and the symbol number are determined based on the following manner:
[0026] based on a preset long short-term memory network (LSTM) model, determining the confidence of a discoverer in a sparrow population; the discoverer represents the to-be-scheduled user; the sparrow population is obtained by initializing the sparrow population of the to-be-scheduled user;
[0027] based on the confidence, screening the discoverer;
[0028] searching the screened discoverer to obtain the number of symbols and the number of resource blocks allocated to the user to be scheduled.
[0029] According to the resource allocation priority determination method provided in the embodiment of the application, the confidence of the discoverer in the sparrow population is determined based on a preset long short-term memory network (LSTM) model, and the confidence of the discoverer is determined based on the preset LSTM model.
[0030] The buffer state report (BSR) sequence data and the signal-to-interference-plus-noise ratio (SINR) sequence data of each user to be scheduled are obtained.
[0031] The BSR sequence data and the SINR sequence data are reconstructed to obtain a sequence data combination of different time lengths.
[0032] The BSR sequence data, the SINR sequence data, and the sequence data combination are input into the preset LSTM model to obtain the confidence of the discoverer output by the preset LSTM model.
[0033] According to the resource allocation priority determination method provided in the embodiment of the application, the screened discoverer is searched to obtain the number of symbols and the number of resource blocks allocated to the user to be scheduled.
[0034] The position of the screened discoverer is iteratively updated by using a preset iterative update formula to obtain the number of symbols and the number of resource blocks allocated to the user to be scheduled.
[0035] The iterative update formula is determined based on a preset maximum number of iterations, a dimension value of each user to be scheduled in each iteration, a standard normal distribution random number, a preset matrix, a safety threshold, and a warning threshold.
[0036] In a second aspect, the embodiment of the application provides a resource allocation priority determination device, which comprises:
[0037] A population initialization module is configured to initialize a plurality of users to be scheduled to obtain an initialized population.
[0038] An adaptability evaluation module is configured to evaluate the adaptability of each individual in the population to obtain an adaptability evaluation result. The individual represents the user to be scheduled, and the adaptability evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual.
[0039] A priority determination module is configured to iteratively update the population based on the adaptability evaluation result to determine the priority of the downlink resource allocation of the user to be scheduled.
[0040] In a third aspect, an electronic device is provided, which includes a processor and a memory storing a computer program, and the processor implements the steps of the method for determining resource allocation priority according to the first aspect when executing the program.
[0041] In a fourth aspect, a non-transitory computer-readable storage medium is provided, which stores a computer program, and the computer program implements the steps of the method for determining resource allocation priority according to the first aspect when executed by a processor.
[0042] In a fifth aspect, a computer program product is provided, which includes a computer program, and the computer program implements the steps of the method for determining resource allocation priority according to the first aspect when executed by a processor.
[0043] The method, device, equipment, medium and computer program product for determining resource allocation priority provided by the embodiments of the present application can obtain an initialized population by initializing a plurality of to-be-scheduled users, perform fitness evaluation on each individual in the population to obtain a fitness evaluation result, the individual represents a to-be-scheduled user, and the fitness evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual, and the population is iteratively updated based on the fitness evaluation result to determine the priority of downlink resource allocation of the to-be-scheduled user. The embodiments of the present application determine the priority of downlink resource allocation of the to-be-scheduled user by using the genetic algorithm improved by the greedy algorithm, which ensures that the resource allocation is more reasonable on the basis of the overall spectrum efficiency, improves the allocation efficiency and accuracy, improves the user perception, and improves the transmission quality on the basis of guaranteeing the traffic. BRIEF DESCRIPTION OF DRAWINGS
[0044] In order to more clearly illustrate the technical solutions of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are some embodiments of the present application, and those skilled in the art can also obtain other drawings according to these drawings without creative labor.
[0045] Figure 1 is a flowchart of the method for determining resource allocation priority provided by the embodiments of the present application;
[0046] Figure 2 is a flowchart of the method for determining resource allocation priority provided by the embodiments of the present application;
[0047] Figure 3 is a flowchart of the method for determining user priority arrangement provided by the embodiments of the present application;
[0048] Figure 4is a structural schematic diagram of a resource allocation priority determination device provided by an embodiment of the present application.
[0049] Figure 5 is a structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0050] For the purpose, technical solutions and advantages of the present application to be clearer, the technical solutions in the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are some embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without any creative work fall within the protection scope of the present application.
[0051] Figure 1 is a flow schematic diagram of a resource allocation priority determination method provided by an embodiment of the present application. Referring to Figure 1 , an embodiment of the present application provides a resource allocation priority determination method, which can include:
[0052] In step 100, a plurality of to-be-scheduled users are initialized to obtain an initialized population.
[0053] The plurality of to-be-scheduled users are initialized by using a greedy algorithm, so as to obtain the initialized population. It can be understood that the purpose of initializing the population by using the greedy algorithm is to quickly generate a group of better individuals by a local search method, so as to increase the diversity of the initial population.
[0054] The specific steps of initializing the population by using the greedy algorithm include:
[0055] Randomly selecting an initial user: a first to-be-scheduled user is randomly selected from the plurality of to-be-scheduled users as a starting point, and the first to-be-scheduled user is added to the individual. The starting user can be determined by a random selection method, so as to ensure that the starting user is different each time the population is initialized, and the diversity is increased.
[0056] Step 2: Selecting the nearest user: searching in the remaining to-be-scheduled users to find a second to-be-scheduled user closest to the first to-be-scheduled user, and adding the second to-be-scheduled user to the individual. The distance can be Euclidean distance, Manhattan distance or other distance measurement methods. Alternatively, the probability of selecting the user with the closer distance is greater, so as to ensure that the path of the individual is relatively short.
[0057] Loop until all users are added to individuals: search among the remaining users to be scheduled until all users to be scheduled are added to individuals, obtaining the initialized population. Optionally, during the loop, constraints such as path length limit or user number limit in individuals can be set to ensure that the generated individuals meet the requirements of the problem.
[0058] Check whether the individual meets the constraints: during the loop, it is necessary to continuously check whether the individual meets the constraints, such as whether the path length exceeds the limit. If the individual does not meet the constraints, corresponding adjustment or discard is needed until an individual meeting the requirements is generated.
[0059] Initializing the population by the greedy algorithm can quickly generate a group of better individuals, and a certain diversity is maintained during the construction of the individual. This helps to improve the initial quality of the population, so that it is easier to find the global optimal solution or a solution close to the optimal solution in the subsequent evolution process of the genetic algorithm.
[0060] When initializing the population, factors affecting the resource block allocation of the user to be scheduled also need to be encoded to obtain a set of gene values of the user to be scheduled. It can be understood that when the user to be scheduled is regarded as an individual in the genetic algorithm, each individual has a set of gene values to describe its characteristics. In the scenario of resource allocation, these characteristics can be encoded into gene values for the genetic algorithm to operate and optimize. Among them, the factors affecting the resource block allocation of the user to be scheduled include signal to interference plus noise ratio (SINR), the number of streams RI of the wireless transmission channel that can independently transmit data, whether to retransmit, the number of symbols, and the number of RBs (Resource Block), etc.
[0061] All factors that may affect the number of RBs allocated to the user are encoded by floating-point system. Among them, each gene value is represented by a floating-point number within a certain range, which ensures that the gene value is within the given interval limit. For example, assuming that the range of SINR is between 0 and 30 dB, a decimal between 0 and 1 can be used to represent it, such as 0 representing SINR of 0 dB and 1 representing SINR of 30 dB. Whether to retransmit can be encoded as a binary value, such as 0 representing no retransmission and 1 representing retransmission. The number of symbols occupied by each user can be encoded as an integer, such as assuming that the number of symbols occupied by each user is between 10 and 14, which can be represented by an integer between 10 and 14.
[0062] Step 200, fitness evaluation is performed on each individual in the population to obtain a fitness evaluation result.
[0063] After initializing the population, in order to evaluate the fitness of each individual, a fitness function needs to be defined, and the individuals in the population represent the users to be scheduled. The fitness function involves the number of symbols allocated to the user and the corresponding scheduling result, which is used to evaluate the pros and cons of the resource allocation scheme of the individual, so as to facilitate subsequent selection, crossover and mutation operations. The fitness evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual.
[0064] Since the user allocation at each moment should be completed within the current time slot, the size of the RB corresponding to the successful allocation and the symbol length should be limited within a certain range and not exceed the specified range. Based on this, the fitness function can be determined according to the maximum number of symbols occupied by the user to be scheduled, the minimum number of symbols occupied by the user to be scheduled, the average symbol length corresponding to the number of symbols successfully allocated by the user to be scheduled in history, and the number of symbols allocated by the user to be scheduled. The calculation formula of the fitness function is as follows:
[0065] F(x)=symbol max -symbol i +alpha*(symbol average -symbol min );
[0066] Wherein, symbol max is the maximum number of symbols occupied by the user to be scheduled, symbol min is the minimum number of symbols occupied by the user to be scheduled, symbol i is the number of symbols allocated by the i-th user to be scheduled, symbol average is the average symbol length corresponding to the number of symbols successfully allocated by the user to be scheduled in history, and alpha is a parameter for controlling the influence degree of the difference between symbol average and symbol min on fitness.
[0067] It can be understood that the fitness is determined according to the difference between the average symbol number and the actual scheduling symbol number of each user i successfully allocated symbol, so as to enhance the node strength on the premise of diversifying the user allocation symbol. The difference between the average symbol number and the actual scheduling symbol number reflects the change of the resource obtained by the user in different time periods. If the difference between the actual scheduling symbol number and the average symbol number of a user is small, it means that the resource allocation is stable, and if the difference is large, it means that the resource allocation changes greatly. In the fitness function, this difference can be quantitatively evaluated to ensure more balanced and stable resource allocation.
[0068] After the fitness function is defined, the fitness value of each individual in the population is calculated using the fitness function, and then the fitness evaluation result of each individual is determined based on the fitness value. For example, after the fitness values of all individuals are calculated, the fitness values are compared to determine the relative merits of each individual relative to other individuals, such as individuals with higher fitness values are considered to be better solutions because they are closer to the optimal solution of the problem.
[0069] In step 300, the population is iteratively updated based on the fitness evaluation result to determine the priority of the downlink resource allocation of the user to be scheduled.
[0070] Based on the fitness evaluation result of each individual in the population, a plurality of target individuals are selected. For example, based on the fitness evaluation result, the top N individuals with the highest fitness values are selected as target individuals, where individuals with higher fitness values are considered to be better solutions.
[0071] Genetic operations are performed on the target individuals to obtain new individuals; wherein the genetic operations include selection operation, crossover operation and mutation operation. The selection operation refers to selecting individuals with higher fitness from the current population as parents for generating the next generation population; the crossover operation refers to exchanging and recombining the genetic information of two or more individuals to generate new individuals; the mutation operation is a random change or adjustment of some genes of the individual, which introduces new diversity and exploration mechanism of the search space.
[0072] A plurality of individuals are selected from the population as immigrant individuals, for example, a certain proportion of individuals are selected from the plurality of sub-populations as an immigrant candidate set, a plurality of immigrant individuals are randomly selected or selected according to a predetermined strategy from the immigrant candidate set, and then the selected immigrant individuals are deleted from the original sub-population and added to the new population. Alternatively, the immigration operation can also be directly copying the individuals to the new population.
[0073] The new individuals and the immigrant individuals are merged to obtain a new population, and then the new population is iteratively updated to determine the scheduling order sequence of all users to be scheduled, and based on the scheduling order sequence, the priority of the downlink resource allocation of each user to be scheduled is determined. For example, the fitness of each individual in the new population is evaluated, and if the termination condition is not met, the new population is continuously generated and iterated until the termination condition is met. The termination condition can include that the current iteration number reaches the maximum iteration number, the fitness value of the individual in the population reaches a set threshold, etc.
[0074] When the iteration meets the termination condition, the scheduling order sequence of all users to be scheduled can be obtained, and thus the priority of the downlink resource allocation of each user to be scheduled can be determined.
[0075] The method for determining resource allocation priority provided in the embodiments of the present application obtains an initialized population by initializing a population for a plurality of to-be-scheduled users; performs fitness evaluation on each individual in the population to obtain a fitness evaluation result; the individual represents a to-be-scheduled user, and the fitness evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual; and the population is iteratively updated based on the fitness evaluation result to determine the priority of downlink resource allocation for the to-be-scheduled user. The embodiments of the present application determine the priority of downlink resource allocation for the to-be-scheduled user by using the genetic algorithm improved by the greedy algorithm, ensure the overall spectrum efficiency, realize more reasonable resource allocation, improve the allocation efficiency and accuracy, improve user perception, and improve the transmission quality on the basis of guaranteeing the traffic.
[0076] Based on the above embodiments, the number of resource blocks and the number of symbols are determined in the following manner:
[0077] In step 111, the confidence of a discoverer in the sparrow population is determined based on a preset long short-term memory (LSTM) model; the discoverer represents the to-be-scheduled user; and the sparrow population is obtained by initializing a sparrow population for the to-be-scheduled user.
[0078] In step 112, the discoverer is screened based on the confidence.
[0079] In step 113, the screened discoverer is searched to obtain the number of symbols and the number of resource blocks allocated to the to-be-scheduled user.
[0080] It should be noted that the LSTM (Long Short-Term Memory) model is obtained by pre-training, wherein the LSTM model can be obtained by using the following training steps:
[0081] 1) Data preparation: The original BSR (Buffer Status Report) and SINR data are preprocessed and feature engineered, including data cleaning, normalization or standardization, sequence padding and alignment, etc. Then, the data is divided into a training set, a validation set and a test set.
[0082] 2) Model construction: The LSTM model is constructed to determine the structure and parameters of the model. The input layer of the model includes BSR sequence data, SINR sequence data, and sequence data combinations of different time steps, etc. The intermediate layer can include an LSTM layer and two dense layers, and a dropout layer is also added to prevent overfitting. The core of the LSTM model is the forget gate, the input gate, the output gate and the state update, and these gate controllers control the flow of information and the update of the state through different mechanisms to realize long-term memory and effective prediction of sequence data.
[0083] 3) Model training: input the training set data into the model for training. In each training cycle, the model updates the parameters through the back propagation algorithm to minimize the loss function. At the same time, the validation set data can be used to validate and adjust the model to prevent overfitting and improve the generalization ability of the model.
[0084] 4) Model evaluation: after the training process is completed, the trained model is evaluated using the test set data. By evaluating the performance indicators of the model on the test set, such as accuracy, precision and recall, etc., the performance and generalization ability of the model are evaluated.
[0085] 5) Model optimization: according to the evaluation results, the model is optimized and improved, such as adjusting the model structure, parameter adjustment, feature engineering, etc., to improve the performance and effect of the model.
[0086] The embodiment of the application uses the Sparrow Search Algorithm (SSA) to improve the LSTM for symbol allocation. Before the search starts, the sparrow population of all users to be scheduled needs to be initialized to obtain the sparrow population; then, the sparrow population is divided into discoverers and followers, wherein the discoverers and followers represent the users to be scheduled.
[0087] The confidence of the discoverer in the sparrow population is determined through the LSTM model. The discoverer represents the user to be scheduled; the sparrow population is obtained by initializing the sparrow population of the user to be scheduled.
[0088] Specifically, the buffer status report (BSR) sequence data and the signal-to-interference-plus-noise ratio (SINR) sequence data of each user to be scheduled are obtained; the BSR sequence data and the SINR sequence data are reconstructed to obtain a combination of sequence data of different step lengths; the BSR sequence data, the SINR sequence data and the combination of sequence data are input into a preset LSTM model to obtain the confidence of the discoverer output by the preset LSTM model.
[0089] For example, the BSR required by each user is taken as time series data, and combined with the quantized SINR index to reconstruct different step sequence data combinations as the input of the model. That is, the original SINR sequence data and the SINR sequence data are reorganized and reconstructed according to different time windows or sampling intervals to obtain feature representations of different scales or different granularities. For example, assuming that the original BSR data and SINR data are time series sampled once per second, these data can be reconstructed according to different time windows, such as taking the data of 10 consecutive time points as a time window to obtain a new sequence data, or sampling once every 5 time points to obtain a new sequence data. Based on this, different step sequence data combinations can be obtained, thereby introducing different scale or different granularity time information into the model. The purpose of this is to introduce more rich and diverse time information into the model to better capture the dynamic characteristics and change patterns of the data. For the multi-input single-output prediction task, the BSR sequence data, the SINR sequence data and the sequence data combination are input into the preset LSTM model to obtain the confidence of the discoverer output by the preset LSTM model.
[0090] In the sparrow search algorithm, a certain number of discoverers are selected based on the confidence of the discoverer at each iteration, and then searched and updated through a specific strategy. For example, in the sparrow search algorithm using Gaussian mutation, the local optimal discoverer of the search process is improved by using LSTM, and the matrix optimization is performed by superimposing LSTM when updating the position of each discoverer. First, the transmission block size TBsize, SINR, modulation and coding scheme (MCS), modulation order Qm, resource block number RBnum, symbol number symbolnum and allocation mode of each user are established, and the state UE(a) under the current iteration number is obtained. The iteration update rule (i.e., the preset iteration update formula) in the algorithm is as follows:
[0091]
[0092] where iter max is the maximum iteration number, R2 is the safety threshold, ST is the warning threshold, is the dimension value of the athsparrow (i.e., the user to be scheduled) at the tthiteration, q is a standard normal distribution random number, L is a 1xd matrix of all 1s, and a is a parameter. When R2<ST, the discoverer enters the search mode and updates the position; when R2≥ST, it indicates that the alarm in the population discovers danger, and the discoverer will stop foraging and fly to a safe position.
[0093] The number of resource blocks and the number of symbols allocated to each user in the to-be-scheduled queue are obtained through multiple iterations of finding a position and a pre-warning position, and the final resource allocation mode used by each user is determined.
[0094] The embodiment of the application increases the updating mode of the LSTM for the discoverer by improving the over-learning problem of the SSA, and guarantees the fairness of resource competition of users.
[0095] To further analyze and illustrate the method for determining the resource allocation priority proposed in the application, refer to Figures 2-3 and the following embodiments.
[0096] The embodiment of the application specifically proposes a downlink resource allocation priority method based on an improved genetic algorithm. The method mainly matches the channel quality and demodulation code rate of the corresponding user according to the resource size of the user demand, establishes a hierarchical system for each to-be-scheduled user based on the measurement feedback result fed back by the user, dynamically realizes dynamic planning and adjustment of the time slots and bandwidths of different user demand RBs, thereby realizing an automatic scheduling mode of downlink video resources, improving user perception, and improving transmission quality on the basis of guaranteeing traffic.
[0097] The main method for overall user classification is to select the traffic gain brought by demodulation after successful scheduling of the user, which can feedback the priority of scheduling of the user, to promote the priority allocation of retransmission users, reduce problems such as demodulation errors caused by fragmentation of resource demand of basic service users to different time slots, and improve the overall performance of user resource allocation under the premise of guaranteeing the basic coverage of the base station.
[0098] The resource allocation of the user downlink service channel (Physical downlink shared channel, PDSCH) involves the following characteristics, as shown in Table 1:
[0099] Table 1
[0100]
[0101]
[0102] Based on the characteristic description in Table 1, first, the CQI (Channel Quality Indication) size of the user and the transport block size indication TBs are determined according to the channel quality SINR reported by the user at each moment, and then the resource size TBsize to be allocated this time is determined according to the BSR reported by the user, wherein the calculation formula of TBsize is as follows:
[0103] TBsize = (Nsymbol * NRB * Nre * log2(2 * (MCS / 2) * Qm)) / 8;
[0104] Wherein, NRB is the number of resource blocks, Nsymbol is the number of symbols to be occupied; Nre is the number of symbols per resource element; MCS is the index of modulation and coding scheme, which is calculated by SINR mapping, and Qm represents the modulation order, which is obtained according to the MCS lookup table.
[0105] In the case of knowing the user demand BSR and SINR, determining the symbol size and RB width occupied by different users becomes a difficulty in the rationality of resource allocation. Collaborative allocation of the number of symbols occupied by different users can determine the RB size occupied by users according to TBsize. Therefore, the embodiments of the present application focus on determining the optimal number of continuous symbols of different SINR users through deep learning algorithm, and establishing user classification algorithm based on the number of continuous symbols of users to complete user priority arrangement, so as to determine the number of symbols, RB and allocation order of all users in the current time slot slot.
[0106] The embodiments of the present application improve the preemption mode of user priority. First, the sparrow search algorithm is combined with LSTM to improve the determination method of the number of symbols and RBs of BSR demand, and then the user priority arrangement is combined with the genetic algorithm based on the greedy algorithm to ensure the efficiency of scheduling and the length of judgment, and to dynamically adjust the priority of users under different resource requests at different times. At the same time, the spectrum efficiency can be improved, the user fragmentation probability can be reduced, and the allocation success probability can be improved, so as to ensure the user perception and the overall traffic index effect of the network side.
[0107] The embodiments of the present application focus on the following improved algorithm for resource allocation:
[0108] For users successfully registered to the base station, the idle state and the connect state are different. Based on the genetic algorithm, the user who initiates the BSR request in each time slot is established based on the user feedback SINR, and the user fitness algorithm is determined to determine the optimal resource size occupied by each user, improve the resource allocation efficiency of the base station, and improve the allocation success rate.
[0109] According to the resources and SINR obtained by user allocation, the scheduling order of users with different capabilities and the allocation method of different users are matched based on the fusion of machine learning and SSA learning algorithm, and the dynamic application of Type0 RBG allocation, Type1 RB allocation or dynamic allocation method.
[0110] Wherein, the specific improvement content is as follows:
[0111] (1) Based on sparrow algorithm to improve LSTM for symbol assignment.
[0112] The traditional sparrow search algorithm establishes a finder and a follower model to a rich physical individual by finding and following, and establishes a guard by pre-warning the individual. After the finder carries the follower out of the group, the finder selection is updated, and the cycle is repeated. In the current resource allocation algorithm, in order to schedule N users in the queue, each user has its own TBsize, SINR, MCS and Qm, and there is an upper limit of resources, that is, a maximum symbol and a maximum bandwidth limit. Based on the cyclic user as the finder, the RBnum allocated to each user is output. However, the traditional sparrow algorithm may have a local optimal problem, so the embodiments of the present application introduce LSTM to improve the selection method of the finder. Through the confidence evaluation of the last layer of LSTM, the confidence of different users being selected as finders is determined by time series prediction in priority, and the confidence is compared. Then, by using the sparrow search algorithm with Gaussian variation, the local optimal finder in the search process is improved by using LSTM, and the matrix optimization is updated when the position of the finder is updated each time. First, the TBsize, SINR, MCS, Qm, RBnum, symbolnum and allocation method of each user are established, and the state UE(a) under the current iteration number is obtained. The iteration update rule in the algorithm is as follows:
[0113]
[0114] Where, iter max is the maximum iteration number, R2 is the safety threshold, ST is the warning threshold, is the dimension value of the a-th sparrow (i.e. the user to be scheduled) in the t-th iteration, q is a standard normal distribution random number, L is a 1xd matrix of all 1s, and a is a parameter. When R2<ST, the finder enters the search mode and updates the position; when R2≥ST, it indicates that the guard in the population finds danger, and the finder will stop foraging and fly to a safe position.
[0115] Through multiple iterations of the found position and the warning position, the number of resource blocks and the number of symbols allocated to the users in the scheduling queue are obtained, and the resource allocation method used by each user is determined.
[0116] Reference Figure 2Firstly, the LSTM model and the horizon need to be determined, where the horizon refers to the future time span that the model needs to predict, which determines the length of the model output sequence. It can be determined according to the specific task and the time characteristics of the data. Then, the decision function of the LSTM is improved based on SSA, the confidence of the discoverer is determined through the LSTM model, and then the position of the discoverer is iteratively updated until the termination condition is met, and the number of resource blocks and the number of symbols allocated to the user in the scheduling queue are output.
[0117] (2) Improved genetic algorithm to determine user priority arrangement.
[0118] 2.1) Initialize the population. Each user is regarded as a node, and all factors that may affect the final allocation of RBnum are encoded by floating-point system. SINR, RI, retransmission, symbol, and RB are encoded and decoded, and each gene value is represented by a floating-point number within a certain range, ensuring that the gene value is within the given interval limit.
[0119] 2.2) Fitness function. Since user allocation should be completed within the current slot at each time, the size of the allocated RB and the length of the symbol should be limited within a certain range, so the following fitness function is set:
[0120] F(x) = symbol max -symbol i + alpha * (symbol average -symbol min );
[0121] Where symbol max is the maximum number of symbols occupied by the user to be scheduled, symbol min is the minimum number of symbols occupied by the user to be scheduled, symbol i is the number of symbols allocated to the i-th user to be scheduled, symbol average is the average symbol length corresponding to the historical successful allocation of the user to be scheduled, and alpha is a parameter used to control the influence of the difference between symbol average and symbol min on the fitness.
[0122] After determining the symbol length occupied by the user, the RB size occupied by the user can be determined according to the conversion formula of TBsize, so as to determine the mapping relationship between the resource size and the channel quality of each user in the scheduling queue.
[0123] 2.3) crossover and variation. Two users in the queue to be scheduled are randomly selected as initial nodes, a selection function of no playback random selection is adopted, and an arithmetic crossover is adopted. Thus, the maximum fitness value of each user is determined by using the fitness function, the corresponding fitness is assigned to the corresponding optimal user group, and the next calculation is performed. Finally, a mutation operation is performed by using a Gaussian approximation mutation, and a random number of a symbol mean normal distribution is used to replace the original gene value. Thus, the optimal order of the users in the queue to be scheduled is output by the genetic algorithm based on the improved encoding process of the greedy algorithm, and a user sequence of the queue to be scheduled is established.
[0124] For example, referring to Figure 3 , the population is initialized as users to be scheduled; the fitness function is determined based on the maximum and minimum number of symbols occupied by the users and the number of symbols allocated to the users; the crossover nodes are randomly selected; the fitness function is solved, and it is determined whether the optimization condition is met. If yes, the optimal order of the users in the queue to be scheduled is output, and a user sequence of the queue to be scheduled is established.
[0125] The downlink resource allocation priority method based on the improved genetic algorithm provided in the embodiments of the present application outputs the most reasonable number of symbols and RBs occupied by the users in the queue to be scheduled at each moment by improving the SSA, and then meets the demand traffic on the basis of guaranteeing the safety threshold, so that the phenomena of resource overload and user fragmentation do not occur. The dynamic planning of priority is performed based on the user symbols and SINR, the priority is adaptively adjusted by using the learning algorithm for users with different channel qualities, and thus the list of users to be scheduled by the base station at each moment is output, so that the resource allocation is more reasonable on the basis of guaranteeing the overall spectrum efficiency. The genetic algorithm after the encoding is improved by the greedy algorithm, and thus the allocation efficiency is also improved.
[0126] Based on the above embodiments, the embodiments of the present application also provide a 5G overall user perception evaluation system based on user feedback and network scheduling as a label. A set of simulation models for evaluating 5G terminal perception is built by collecting historical data in two directions of terminals and networks, logically inferring and generating a corresponding learning simulation model based on a reinforcement learning algorithm. By measuring the feedback of the downlink scheduling of the users at the base station side and based on the behavior differences of different users on the network side, the indicators between the user groups are interfered and optimized to evaluate, and different dimension perception models of 5G terminals are simulated and established to maximize the feedback and channel quality of the terminals in different networks. Based on the user score, the network planning drives the user to perform network switching to guarantee the best perception and access of the terminal.
[0127] The resource allocation priority determination apparatus provided in the embodiments of the present application is described below. The resource allocation priority determination apparatus described below can be correspondingly referred to the resource allocation priority determination method described above.
[0128] Reference Figure 4 , Figure 4 is a structural schematic diagram of a resource allocation priority determination apparatus provided by an embodiment of the present application. The resource allocation priority determination apparatus provided by the embodiment of the present application comprises:
[0129] A population initialization module 401 is configured to perform population initialization on a plurality of to-be-scheduled users to obtain an initialized population.
[0130] An adaptability evaluation module 402 is configured to perform adaptability evaluation on each individual in the population to obtain an adaptability evaluation result. The individual represents the to-be-scheduled user, and the adaptability evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual.
[0131] A priority determination module 403 is configured to iteratively update the population based on the adaptability evaluation result to determine the priority of downlink resource allocation of the to-be-scheduled user.
[0132] The resource allocation priority determination apparatus provided by the embodiment of the present application performs population initialization on a plurality of to-be-scheduled users to obtain an initialized population, performs adaptability evaluation on each individual in the population to obtain an adaptability evaluation result, and the individual represents the to-be-scheduled user. The adaptability evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual. The population is iteratively updated based on the adaptability evaluation result to determine the priority of downlink resource allocation of the to-be-scheduled user. The embodiment of the present application determines the priority of downlink resource allocation of the to-be-scheduled user by using the genetic algorithm improved by the greedy algorithm, ensures that the overall spectrum efficiency is realized on the basis of more reasonable resource allocation, improves the allocation efficiency and accuracy, improves the user perception, and improves the transmission quality on the basis of guaranteeing the traffic.
[0133] In one embodiment, the population initialization module 401 is further configured to:
[0134] randomly select a first to-be-scheduled user from the plurality of to-be-scheduled users as a starting point, and add the first to-be-scheduled user to the individual;
[0135] search in the remaining to-be-scheduled users to find a second to-be-scheduled user closest to the first to-be-scheduled user, and add the second to-be-scheduled user to the individual;
[0136] search in the remaining to-be-scheduled users until all the to-be-scheduled users are added to the individual to obtain the initialized population.
[0137] In one embodiment, the adaptability evaluation module 402 is further configured to:
[0138] adopt a fitness function to calculate a fitness value of each individual in the population;
[0139] based on the fitness value, determine the fitness evaluation result of each individual;
[0140] wherein the fitness function is determined based on the following manner:
[0141] based on the maximum number of symbols occupied by the to-be-scheduled user and the minimum number of symbols occupied by the to-be-scheduled user, the average symbol length corresponding to the number of symbols successfully allocated by the to-be-scheduled user in history, and the number of symbols allocated by the to-be-scheduled user, determine the fitness function.
[0142] In one embodiment, the priority determination module 403 is further configured to:
[0143] based on the fitness evaluation result, select a plurality of target individuals;
[0144] perform genetic operations on the target individuals to obtain new individuals; the genetic operations include selection operation, crossover operation and mutation operation;
[0145] select a plurality of individuals from the population as immigrant individuals;
[0146] merge the new individuals and the immigrant individuals to obtain a new population;
[0147] iteratively update the new population to determine the scheduling sequence of all the to-be-scheduled users;
[0148] based on the scheduling sequence, determine the priority of the downlink resource allocation of each to-be-scheduled user.
[0149] In one embodiment, the resource allocation priority determination apparatus further includes a symbol allocation module configured to:
[0150] based on a preset long short-term memory (LSTM) model, determine the confidence of a discoverer in a sparrow population; the discoverer represents the to-be-scheduled user; the sparrow population is obtained by initializing the sparrow population of the to-be-scheduled user;
[0151] based on the confidence, screen the discoverer;
[0152] search the screened discoverer to obtain the number of symbols allocated by the to-be-scheduled user and the number of resource blocks.
[0153] In one embodiment, the symbol allocation module is further configured to:
[0154] obtain buffer status report (BSR) sequence data and signal-to-interference-plus-noise ratio (SINR) sequence data of each to-be-scheduled user;
[0155] The BSR sequence data and the SINR sequence data are reconstructed to obtain a combination of sequence data with different sequence lengths;
[0156] The BSR sequence data, the SINR sequence data, and the sequence data combination are input into the preset LSTM model to obtain the confidence level of the discoverer output by the preset LSTM model.
[0157] In one embodiment, the symbol allocation module is further configured to:
[0158] Using a preset iterative update formula, the position of the filtered discoverers is iteratively updated to obtain the number of symbols allocated to the user to be scheduled and the number of resource blocks;
[0159] The iterative update formula is determined based on a preset maximum number of iterations, the dimension value of each user to be scheduled in each iteration, a standard normally distributed random number, a preset matrix, a safety threshold, and a warning threshold.
[0160] Figure 5 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 5 As shown, the electronic device may include: a processor 510, a communication interface 520, a memory 530, and a communication bus 540, wherein the processor 510, the communication interface 520, and the memory 530 communicate with each other via the communication bus 540. The processor 510 may call a computer program in the memory 530 to execute steps of a method for determining resource allocation priorities, such as including:
[0161] Perform population initialization on multiple users to be scheduled to obtain the initialized population;
[0162] Fitness assessment is performed on each individual in the population to obtain fitness assessment results; the individual represents the user to be scheduled, and the fitness assessment results are used to measure the quality of each individual's resource allocation scheme;
[0163] Based on the fitness evaluation results, the population is iteratively updated to determine the priority of downlink resource allocation for the users to be scheduled.
[0164] Further, the logic instructions in the memory 530 described above can be implemented in the form of software functional units and sold or used as standalone products, which can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the parts that make contributions to the prior art or parts of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium, and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.
[0165] In another aspect, the embodiments of the present application also provide a non-transitory computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the steps of the method for determining the resource allocation priority provided by the above-mentioned embodiments, for example, including:
[0166] population initialization is performed on the plurality of to-be-scheduled users to obtain an initialized population;
[0167] fitness evaluation is performed on each individual in the population to obtain a fitness evaluation result; the individual represents the to-be-scheduled user, and the fitness evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual;
[0168] Based on the fitness evaluation result, the population is iteratively updated to determine the priority of downlink resource allocation of the to-be-scheduled user.
[0169] In another aspect, the embodiments of the present application also provide a computer program product, which includes a computer program, and the computer program can be stored on a non-transitory computer readable storage medium, and the computer program is executed by a processor, and the computer can execute the steps of the method for determining the resource allocation priority provided by the above-mentioned embodiments, for example, including:
[0170] population initialization is performed on the plurality of to-be-scheduled users to obtain an initialized population;
[0171] fitness evaluation is performed on each individual in the population to obtain a fitness evaluation result; the individual represents the to-be-scheduled user, and the fitness evaluation result is used to measure the pros and cons of the resource allocation scheme of each individual;
[0172] Based on the fitness evaluation result, the population is iteratively updated to determine the priority of downlink resource allocation of the user to be scheduled.
[0173] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place or distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment scheme according to actual needs. Those skilled in the art can understand and implement without creative labor.
[0174] Through the description of the above embodiments, those skilled in the art can clearly understand that the embodiments can be realized by means of software and the necessary general hardware platform, and of course can also be realized by hardware. Based on such understanding, the above technical solutions can be embodied in the form of a software product, which can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the methods described in each embodiment or some parts of the embodiments.
[0175] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for determining resource allocation priority, characterized in that, include: Perform population initialization on multiple users to be scheduled to obtain the initialized population; Fitness assessment is performed on each individual in the population to obtain fitness assessment results; The individual represents the user to be scheduled, and the fitness evaluation result is used to measure the merits of each individual's resource allocation scheme. Based on the fitness evaluation results, the population is iteratively updated to determine the priority of downlink resource allocation for the users to be scheduled. The fitness assessment of each individual in the population, to obtain the fitness assessment result, includes: The fitness function is used to calculate the fitness value of each individual in the population; Based on the fitness value, the fitness assessment result for each individual is determined; The fitness function is determined in the following way: The fitness function is determined based on the maximum and minimum number of symbols occupied by the user to be scheduled, the average symbol length corresponding to the number of symbols successfully allocated by the user in the past, and the number of symbols allocated by the user to be scheduled.
2. The method for determining resource allocation priority according to claim 1, characterized in that, The process of initializing the population of multiple users to be scheduled to obtain the initialized population includes: Randomly select a first user from multiple users to be scheduled as the starting point, and add the first user to be scheduled to the individual; Search among the remaining users to be scheduled to find the second user to be scheduled closest to the first user to be scheduled, and add the second user to the individual; The search continues among the remaining users to be scheduled until all users have been added to the individual, resulting in the initialized population.
3. The method for determining resource allocation priority according to claim 1, characterized in that, The step of iteratively updating the population based on the fitness evaluation results to determine the priority of downlink resource allocation for the users to be scheduled includes: Based on the fitness assessment results, multiple target individuals were selected; Genetic operations are performed on the target individual to obtain a new individual; the genetic operations include selection, crossover, and mutation. Multiple individuals were selected from the population as immigrants. The new individuals are merged with the immigrant individuals to obtain a new population; The new population is iteratively updated to determine the scheduling order sequence for all the users to be scheduled. Based on the scheduling sorting sequence, the priority of downlink resource allocation for each user to be scheduled is determined.
4. The method for determining resource allocation priority according to claim 1, characterized in that, The user to be scheduled has a set of gene values, which are obtained by encoding the factors that affect the allocation of resource blocks to the user to be scheduled. The factors include the number of resource blocks and the number of symbols. The number of resource blocks and the number of symbols are determined based on the following method: Based on a pre-defined Long Short-Term Memory (LSTM) network model, the confidence level of the finder in the sparrow population is determined. The discoverer represents the user to be scheduled; The sparrow population is obtained by initializing the sparrow population for the user to be scheduled. The discoverers are screened based on the confidence level. The selected discoverers are searched to obtain the number of symbols allocated to the user to be scheduled and the number of resource blocks.
5. The method for determining resource allocation priority according to claim 4, characterized in that, The confidence level of the finder in the sparrow population is determined based on the preset Long Short-Term Memory (LSTM) network model, including: Obtain the buffer status report (BSR) sequence data and the signal-to-interference-plus-noise ratio (SINR) sequence data for each of the scheduled users; The BSR sequence data and the SINR sequence data are reconstructed to obtain a combination of sequence data with different sequence lengths; The BSR sequence data, the SINR sequence data, and the sequence data combination are input into the preset LSTM model to obtain the confidence level of the discoverer output by the preset LSTM model.
6. The method for determining resource allocation priority according to claim 4, characterized in that, The process of searching the filtered discoverers to obtain the number of symbols to be allocated to the user to be scheduled and the number of resource blocks includes: Using a preset iterative update formula, the position of the filtered discoverers is iteratively updated to obtain the number of symbols allocated to the user to be scheduled and the number of resource blocks; The iterative update formula is determined based on a preset maximum number of iterations, the dimension value of each user to be scheduled in each iteration, a standard normally distributed random number, a preset matrix, a safety threshold, and a warning threshold.
7. A device for determining resource allocation priority, characterized in that, include: The population initialization module is used to initialize the population of multiple users to be scheduled, and obtain the initialized population. The fitness assessment module is used to assess the fitness of each individual in the population and obtain a fitness assessment result; the individual represents the user to be scheduled, and the fitness assessment result is used to measure the merits of each individual's resource allocation scheme; The priority determination module is used to iteratively update the population based on the fitness evaluation results to determine the priority of downlink resource allocation for the users to be scheduled. The fitness evaluation module is further configured to use a fitness function to calculate the fitness value of each individual in the population; and to determine the fitness evaluation result of each individual based on the fitness value; wherein the fitness function is determined based on the following method: the maximum and minimum number of symbols occupied by the user to be scheduled, the average symbol length corresponding to the number of symbols successfully allocated in the history of the user to be scheduled, and the number of symbols allocated by the user to be scheduled.
8. An electronic device comprising a processor and a memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the method for determining resource allocation priority as described in any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the method for determining resource allocation priority as described in any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the method for determining resource allocation priority as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Service scheduling method and service scheduling device
CN104427623A
Wireless resource distribution method and apparatus
CN107872892A