A time slot allocation method based on a manta ray algorithm for time division multiple access
By proposing a time-division multiple access (TDMA) time slot allocation method based on the manta ray algorithm, the problems of programming complexity and slow convergence speed in time slot allocation of genetic algorithms are solved. This method enables timely adjustment of node priorities and efficient utilization of time slot resources, thereby improving the time slot allocation efficiency and convergence speed of the network.
Patent Information
- Application Number
- CN202310170935.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-27
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2043-02-27
AI Technical Summary
Existing time-division multiple access (TDMA) time slot allocation methods based on genetic algorithms suffer from problems such as complex programming implementation, inability to utilize network feedback information in real time, poor local search capability, and slow convergence speed, resulting in low time slot utilization and large latency jitter.
A time-division multiple access (TDMA) time slot allocation method based on the manta ray algorithm is adopted. By dividing the time frame into an information collection period and a time slot allocation period, the priority of the node is assigned according to the node's traffic and load. The binary tree block equal partitioning method and the manta ray algorithm are used for time slot allocation, and the time slot jitter model is optimized, which improves the convergence speed of the algorithm and the network performance.
It achieves absolute transmission of nodes, meets the burst and long message transmission requirements of nodes, improves the utilization of time slot resources and the overall network performance, and simplifies the algorithm implementation process.
Smart Images

Figure CN116234017B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of communication networking, and particularly relates to a time division multiple access time slot allocation method based on a manta algorithm. BACKGROUND
[0002] Link16 is a nodeless data link with confidentiality, large capacity and anti-interference, and is designed to meet the tactical information exchange requirements of most combat tasks in modern warfare. The system works in a time division multiple access (TDMA) mode, divides the entire time axis according to time periods, and the smallest time period is called a time slot. When allocating time slots, in order to reduce the time delay, the time slot intervals of each node are required to be as uniform as possible. In order to fully utilize the idle time slots in the time frame and make them in the sending state as much as possible, the main time slot access modes used are the dedicated access mode, the contention access mode and the dynamic access mode:
[0003] (1) Dedicated access mode: In a cycle, the specified time slots are allocated to the specified combat members, and the members can access the allocated time slots without restriction. The advantage of the dedicated access mode is that it can ensure that the combat members have sufficient available sending time slot resources, and can guarantee that there is no conflict between receiving and transmitting in a time slot. However, due to the actual use of the transmission requirements of non-fixed or dynamic periodic information, only a small part of the allocated time slots is used, which causes waste of system capacity.
[0004] (2) Contention access mode: Each combat member is allowed to send time slots pseudo-randomly from the participating group according to the demand, and to compete for resources, and the number of participating group resources depends on the access rate. In the case of burst transmission or message transmission driven by response time, the system capacity can be saved, but the probability of message arriving at the intended destination may be affected.
[0005] (3) Dynamic access mode: When a node has data to send, the required time slots are allocated to it, and after the data is sent, the node cancels its occupation of the time slots. The advantage of this design is to improve the utilization rate of time slot resources and make the time slot allocation more reasonable. However, if there is a sending conflict, it is difficult to ensure that each node can successfully obtain a time slot, thereby failing to guarantee the normal communication of each node.
[0006] At present, the combination of dynamic access mode and dedicated access mode is the main research object, and the time division multiple access time slot allocation based on genetic algorithm is the most widely used, which to some extent solves the problems of low time slot utilization rate and large time delay jitter. However, the genetic algorithm has the shortcomings of complex programming implementation, inability to use the feedback information of the network in real time, and unreasonable use of the parallel mechanism of the algorithm, etc., resulting in poor local search ability, low search efficiency in the later stage, and slow convergence speed. SUMMARY
[0007] To solve the above problems in the prior art, the application provides a time slot allocation method based on a manta ray algorithm, which is relatively simple to implement, guarantees absolute transmission of nodes, considers priorities of the nodes, meets burstiness and long message transmission of the nodes, improves convergence speed of the algorithm and improves overall network performance.
[0008] The object of the application can be achieved by the following technical solutions.
[0009] The application provides a time slot allocation method based on a manta ray algorithm, which comprises the following steps.
[0010] S1, dividing a time frame into an information collection period and a time slot allocation period, and allocating priorities to nodes according to traffic and load of the nodes in the information collection period;
[0011] S2, allocating a dedicated time slot to a node with the highest priority according to a binary tree block equal division method, and returning a remaining unallocated participating time slot to a dynamic time slot allocation pool;
[0012] S3, listing a time slot allocation sequence according to idle time slots in the dynamic time slot section, and establishing the time slot allocation sequence and an ideal time slot allocation interval;
[0013] S4, solving a time slot jitter model by using the manta ray algorithm, and sending the time slot allocation sequence to the corresponding node when fitness of an optimal population in iteration reaches a certain standard or the number of iterations reaches a maximum.
[0014] Further, step S1 specifically comprises the following steps.
[0015] S11, dividing time into a periodic time frame, cutting the divided time frame into independent time slots, dividing the time frame into an information collection period and a time slot allocation period, and dividing the latter into a dedicated time slot period and a dynamic time slot period;
[0016] S12, in the information collection stage, a node listens to time slot request control packets, request reply control packets and time slot occupation control packets sent by neighbor nodes in time slots not occupied by the node, and according to the time slot occupation control packets, the node updates local time slot occupation information, simultaneously, the node counts the number of node applications in the time frame and the number of time slot applications of different nodes, and gives each node three different priorities.
[0017] Further, step S2 specifically comprises the following steps.
[0018] S21, calculating the required number of dedicated time slots in the time slot allocation period according to the number of time slots applied by nodes and the number of nodes with the highest priority, and then dividing the excess time slots in the time slot period into the dynamic time slot period, wherein all the dedicated time slots form the static time slot period and all the dynamic time slots form the dynamic time slot period;
[0019] S22, using the binary tree block-in method to allocate time slots in the dedicated time slot period: using the time slot group number (A, B, C), the starting index number (0-1536), and the repetition rate (0-15) to define the time slot block occupied by the node;
[0020] S23, when allocating time slots in the static time slot period, it is necessary to ensure that the time slots between nodes are as equal as possible, and the interval between nodes is represented by DI; when the time slots required by a data link node need to be provided by multiple time slot blocks, the sum of the intervals DI between the selected multiple time slot blocks is maximized; wherein, if two time slot blocks are located in the same level of the binary tree, the interval DI between the two time slot blocks is:
[0021] DI = |2 N-1 -|2 N-1 -||B2D(location1)-B2D(location2)|
[0022] In the formula, N is the level of the two time slot blocks, location1 and location2 represent the encoding of the two time slot blocks respectively, and B2D represents a function of converting binary to decimal;
[0023] S24, after the static time slots are allocated to each data link node by the binary tree block-in method, if there are still residual time slots in the static time slot pool, the residual time slots are given the same rights as the dynamic time slots and are included in the dynamic time slot pool.
[0024] The time slot group number represents the type of time slot, the starting index number represents the first time slot of the time slot block, and the repetition rate is the number of time slots occupied by the time slot block in base 2.
[0025] The step S23 further comprises: if the two time slot blocks are located in different levels of the binary tree, the interval between the two time slot blocks is the ancestor of the common level of the lower level time slot block and the higher level time slot block, and the interval between the higher level time slot block.
[0026] Further, the step S3 is specifically:
[0027] S31, for the dynamic time slot pool, selecting a time slot allocation sequence with the smallest population fitness from the time slot allocation population, and sending the time slot allocation sequence to the corresponding node;
[0028] Establish a mathematical model for solving the optimization problem of interval Z of time slots allocated to the data link node adjacent time slots i , wherein:
[0029] Z i = A i+1 -A i i = 1, 2, 3, …, M-1
[0030] In the above formula, A i is the actual allocated time slot position sequence, i = 1, 2, 3, …, M-1, wherein M is the number of time slots applied by the node in the dynamic time slot period;
[0031] S32, establish a time slot jitter model:
[0032]
[0033]
[0034]
[0035] In the above formula, I is the time slot interval under the ideal time slot allocation condition, and Var is the sum of the absolute values of all time slot intervals Z i and I, representing the size of time slot jitter; L1 is the total number of dedicated time slots, L2 is the total number of dynamic time slot allocation, P is the unused time slot in the dedicated time slot period, E is the number of time slots applied by the node in the static time slot period, and specifically, when the number of applications N does not exceed the total number of dedicated time slots L1, P is the difference between the two, and vice versa. 0, E+P=L1.
[0036] Further, the step S4 is specifically:
[0037] S41, using the manta ray algorithm to allocate dynamic time slots, and setting the maximum number of iterations for the algorithm, when the number of iterations reaches the maximum limit, the corresponding dynamic time slot period is allocated to the node;
[0038] S42, when the node sends messages in the allocated time slots, if the node cannot send the message completely in the dynamic time slot period, it will continue to apply for sending messages in the next time frame, and the priority of its message will be improved.
[0039] Further, the step of allocating dynamic time slots using the manta ray algorithm includes the following steps:
[0040] S411, initial population setting: first, determine the population length according to the number of dynamic time slots occupied in the information collection stage, and set the population number;
[0041] S412, encode the population: along with the real number coding in genetic algorithm, record the time slot position of each node in the population, and carry out the following foraging operation;
[0042] S413, fitness calculation: define The function evaluates the fitness of the population, wherein Fitness is the fitness value of the time slot allocation sequence, Z i is the interval of adjacent time slots of the node, i=1, 2, 3, …, M; I is the ideal interval when M time slots are selected from N free time slots;
[0043] S414, select the corresponding foraging mode according to the random probability and the current iteration number and the total iteration number;
[0044] S415, end iteration: the iteration ends when the fitness value is less than the set cutoff value or the maximum iteration number is reached.
[0045] The beneficial effects of the present application are:
[0046] (1) The present application is a dynamic TDMA time slot allocation method based on manta ray algorithm, which replaces the coding mode of genetic algorithm for different convergence strategies, and is simpler to implement
[0047] (2) The algorithm collects node load information in the time slot collection stage of the time slot structure, adjusts the node priority and dynamic time slot segment length in time, feeds back the network in time, and meets the burstiness and long message sending of the node.
[0048] (3) The manta ray algorithm is used instead of the genetic algorithm, the optimal solution is searched through iteration, and the local new solution is generated around the optimal solution by random value, which not only strengthens the local search, but also speeds up the convergence speed of the algorithm and improves the fitness of the target population. BRIEF DESCRIPTION OF DRAWINGS
[0049] In order to facilitate those skilled in the art to understand, the present application will be further described below with reference to the drawings.
[0050] Figure 1 is the overall flow chart of the time slot allocation adopted by the present application;
[0051] Figure 2 is the time slot structure diagram adopted by the present application;
[0052] Figure 3 is the manta ray algorithm flow chart adopted by the present application;
[0053] Figure 4 is the iteration number and population fitness relationship diagram of genetic algorithm;
[0054] Figure 5is the iteration number of the manta ray algorithm and the population fitness relationship diagram. DETAILED DESCRIPTION
[0055] In order to further illustrate the technical means and effects adopted by the present application to achieve the predetermined inventive purpose, the specific embodiments, structures, features and effects according to the present application are described in detail below in combination with the drawings and preferred embodiments.
[0056] A time division multiple access time slot allocation method based on a manta ray algorithm, as shown in Figure 1 The allocation method comprises the following steps:
[0057] S1, dividing a time frame into an information collection period and a time slot allocation period, and allocating priorities to each node according to the traffic and load of each node in the information collection period;
[0058] S2, allocating a dedicated time slot to the node with the highest priority according to the binary tree block equal division method, and returning the remaining unallocated participating time slots to the dynamic time slot allocation pool;
[0059] S3, listing a time slot allocation sequence according to the idle time slots in the dynamic time slot segment, and establishing a time slot allocation sequence and an ideal time slot allocation interval;
[0060] S4, solving a time slot jitter model using a manta ray algorithm, and sending the time slot allocation sequence to the corresponding node when the fitness of the optimal population in the iteration reaches a certain standard or the number of iterations reaches the maximum.
[0061] Step S1 specifically comprises the following steps:
[0062] S11, dividing time into a periodic time frame, cutting the divided time frame into independent time slots, and dividing the time frame into an information collection period and a time slot allocation period, and further dividing the time slot allocation period into a dedicated time slot period and a dynamic time slot period;
[0063] S12, in the information collection stage, the node listens to the time slot request control packet, request reply control packet and time slot occupation control packet sent by its neighbor node in the time slot not occupied by it, and according to the time slot occupation control packet, the local time slot occupation information is counted, the number of node applications in the time frame and the number of time slot applications of different nodes are counted, and three different priorities are given to each node.
[0064] In this embodiment, as shown in Figure 2 The time frame structure design divides the entire time frame into an information collection period and a time slot allocation period, and the latter is further divided into a dedicated time slot period and a dynamic time slot period, all static time slots are divided into a static time slot pool, and all dynamic time slots are divided into a dynamic time slot pool.
[0065] The information collection period comprises C control time slots, each node has its corresponding control time slot, so the maximum capacity of the data link node is C. The time slot allocation period comprises L1+L2 time slots, wherein L1 is the number of dedicated time slot section time slots, L2 is the number of dynamic time slot section time slots, L1+L2>C and L1+L2+C=L, L is the total number of time slots in the time frame;
[0066] In the information collection phase, the node needing to use the time slot applies for using the time slot in this phase, and after the node confirms the time slot application, a time slot is fixedly occupied in the information collection phase. After the start of the time frame period, the node listens to the time slot request control packet, the request reply control packet and the time slot occupation control packet sent by the neighbor node in the non-occupied control time slot of the node, and updates the local time slot occupation information according to the time slot occupation control packet.
[0067] When the current time slot is the information collection time slot occupied by the node, the node calculates the collection time slot occupation of the current time frame according to the received request reply control packet, and combines the local neighbor node time slot occupation to allocate the time slot occupation control packet. If the node receives the time slot release request of the high priority node, but the time slot request of the node has a relatively low priority, a non-occupied collection time slot is randomly selected for release with a probability p, and the node does not initiate a business time slot request. Otherwise, the node selects an idle allocation time slot according to the current time slot occupation and the business volume to initiate an application, and sends a time slot request control packet according to the time slot application; the node completes the allocation of the corresponding time slot according to the listened time slot request control packet, and sends a request recovery control packet according to the time slot allocation.
[0068] After the end of the information collection period, the node sends information in the successfully occupied time slot, and listens to the business information sent by the neighbor node in the non-occupied allocation time slot.
[0069] The step S2 specifically comprises the following steps:
[0070] S21, the number of dedicated time slots required in the time slot allocation period is calculated according to the number of time slots applied by the node and the number of nodes with the highest priority, and the excess time slots in the time slot section are divided into the dynamic time slot section, wherein all the dedicated time slots form the static time slot section, and all the dynamic time slots form the dynamic time slot section;
[0071] S22, the time slot allocation in the dedicated time slot section is performed by the binary tree block average method: the time slot block occupied by the node is defined by using the time slot group number (A, B, C), the starting index number (0-1536) and the repetition rate (0-15);
[0072] S23, when allocating time slots in the static time slot period, the time slots between nodes need to be equalized as much as possible, the interval between nodes is represented by DI; when the time slots required by a data link node need to be provided by multiple time slot blocks, the sum of the interval DI between the selected multiple time slot blocks is maximized; wherein, if two time slot blocks are located in the same level of the binary tree, the interval DI between the two time slot blocks is:
[0073] DI = |2 N-1 -|2 N-1 - |B2D(location1)-B2D(location2)|
[0074] In the formula, N is the level of the two time slot blocks, location1 and location2 represent the encoding of the two time slot blocks respectively, and B2D represents a function of converting binary to decimal;
[0075] S24, after the static time slots are allocated to each data link node by the equal method in the binary tree block, if there are remaining time slots in the static time slot pool, the remaining time slots are assigned the same rights as the dynamic time slots and are included in the dynamic time slot pool.
[0076] The time slot group number represents the type of time slot, the start index number represents the first time slot of the time slot block, and the repetition rate is the number of time slots occupied by the time slot block in base 2.
[0077] The step S23 further comprises: if the two time slot blocks are located in different levels of the binary tree, the interval between the two time slot blocks is the ancestor of the common level of the lower level time slot block and the higher level time slot block, and the interval between the higher level time slot block.
[0078] The step S3 is specifically:
[0079] S31, for the dynamic time slot pool, a time slot allocation sequence with the smallest population fitness is selected from the time slot allocation population, and the time slot allocation sequence is sent to the corresponding node;
[0080] An optimization problem mathematical model is established for solving the interval Z i of the adjacent time slots allocated to the data link node, wherein:
[0081] Z i =A i+1 -A i i = 1, 2, 3, …, M-1
[0082] In the formula, A i is the actual allocated time slot position sequence, i = 1, 2, 3, …, M-1, wherein M is the number of time slots applied by the node in the dynamic time slot period;
[0083] S32, establish time slot jitter model:
[0084]
[0085]
[0086]
[0087] In the above formula, I is the time slot interval under ideal time slot allocation, and Var is the variance of all time slot intervals z i The sum of the absolute values of K represents the time slot jitter size; L1 is the total number of time slots in the dedicated time slot period, L2 is the total number of time slots allocated dynamically, P is the number of unused time slots in the dedicated time slot period, and E is the number of time slots applied for by the node in the static time slot period. In particular, when the number of applications E does not exceed the total number of static time slots L1, P is the sum of the two, and otherwise P is 0; E+P=L1.
[0088] In this embodiment, in order to ensure that each data link node of the communication system has absolute transmission of necessary information under any condition, dedicated time slots are allocated according to the need of the node to transmit data, and a binary tree block allocation method is used to effectively ensure the uniformity of time slot allocation and reduce the time delay caused by node access.
[0089] The binary tree block allocation method is a method developed on the basis of the binary tree allocation method, fully considering the uniformity between time slot blocks. The time slots are allocated in the form of time slot blocks, and a time slot block is represented by a time slot set (Set), an initial slot number (INS), and a recurrence rate number (RRN). In order to ensure the uniformity of time slot allocation, the time slots are divided into three groups A, B, and C. Each group contains multiple time slot blocks, and the initial slot number is a time slot index number, with a value of 0-32767 for each group. The recurrence rate is the logarithmic value of the number of times a time slot repeats in a time unit, with a value of 0-15. This representation of the time slot block determines the position distribution of the time slots, such as A-1-6, which means that the time slot block starts from the first time slot in the time slot group A, contains 1 time slot, and repeats every 1536 time slots. When the number of time slots required by a node needs to be composed of multiple time slot blocks, there are multiple permutation and combination methods to choose from. Considering the uniformity of time slot selection, two criteria must be met when selecting time slot blocks for combination:
[0090] (1) In the same level, the interval of the time slot block is as large as possible.
[0091] The interval of the time slot block is defined as Z i and then according to Zi The obtained time slot jitter Var represents the time slot jitter size. When the Var value is small, it indicates that the time slot allocation interval is more uniform, and approaches the ideal time slot allocation effect.
[0092] (2) In different levels, the low-level time slot block and the high-level time slot block belong to the same ancestor of a level, and the block interval Z of the high-level time slot block i The greater the better.
[0093] After the high-priority nodes are allocated corresponding time slots in the binary tree block, if there are unused residual time slots in the dedicated time slot segment, they are called maneuvering time slots, and the same rights as the dynamic time slots are given to them, which are part of the dynamic time slot segment.
[0094] The step S4 is specifically:
[0095] S41, using a manta ray algorithm to allocate dynamic time slots, and setting a maximum number of iterations for the algorithm, when the number of iterations reaches the maximum limit, allocating corresponding dynamic time slot segment time slots for the nodes;
[0096] S42, when the node sends a message in the allocated time slot, if the node cannot send the message completely in the dynamic time slot period, it will continue to apply for sending the message in the next time frame, and the priority of its message will be improved.
[0097] The dynamic time slot allocation using the manta ray algorithm includes the following steps:
[0098] S411, initial population setting: first, determine the population length according to the number of dynamic time slot occupancies obtained in the information collection stage, and set the population number.
[0099] S412, encode the population: this method uses real number coding in genetic algorithm, records the time slot position of each node in the population, and performs the following foraging operation. Real number coding not only has high precision, but also is convenient for processing multi-variable optimization, and each gene can also represent the actual position of the time slot in the time frame.
[0100] S413, fitness calculation: the fitness reflects the uniformity of the time interval in a population, so how to define the fitness of the population is very important. In the time slot allocation process, we try to make the time slots of the nodes equal, so we define a jitter function to evaluate the uniformity of the time slots, and also define a function to evaluate the fitness of the population. In general, the larger the jitter function value, the larger the fitness value, and the smaller the probability of becoming the optimal individual.
[0101] S414, selecting a corresponding foraging mode according to rand (random probability) and t / T (current iteration number and total iteration number), and a specific foraging selection mode is as shown in the following table: Figure 3 The manta ray foraging optimization algorithm includes three foraging modes:
[0102] (1) Chain foraging: in the chain foraging process, the manta ray population (i.e. the population in the algorithm iteration) is arranged into a foraging chain from head to tail. The moving direction and step length of the next position of the manta ray individual are determined by the current optimal solution and the position of the previous individual. The mathematical model of this position updating mode is as follows:
[0103]
[0104]
[0105] In the formula, represents the position of the ith individual in the d-dimensional space in the tth generation; represents the position of the optimal individual in the d-dimensional space in the tth generation; N represents the number of individuals; r represents a random number uniformly distributed in [0, 1], and a represents the learning rate of the algorithm.
[0106] (2) Spiral foraging: when the manta ray individual finds a prey, it will approach it in a spiral manner. In the MRFO, the manta ray individual is also affected by the previous individual during the spiral movement towards the current solution. The mathematical model of this position updating mode is as follows:
[0107] When t / T > rand, the mathematical equation describing the spiral movement of the manta ray can be defined as:
[0108]
[0109]
[0110] represents the position of the optimal individual in the d-dimensional space in the tth generation; N represents the number of individuals; T is the total number of iterations; r1 is a random number uniformly distributed in [0, 1]; and β represents the individual iteration rate;
[0111] When t / T ≤ rand, the mathematical equation describing the spiral movement of the manta ray can be defined as:
[0112]
[0113]
[0114] represents a random position in the dth dimension in the tth generation. Ub d , Lb dIndicates the upper and lower bounds of the variable value.
[0115] (3) Tumbling foraging: In the tumbling foraging, the manta ray individual takes the current optimal solution as the tumbling fulcrum and tumbles to the other side in mirror relationship with the current position. The mathematical model is expressed as follows:
[0116]
[0117] In the above formula, S = 2, r2 and r3 are random numbers uniformly distributed on [0, 1].
[0118] S415, iteration end condition: the fitness value is less than the set cutoff value, or the maximum number of iterations is reached.
[0119] In fact, in most cases, it is difficult to achieve the ideal situation that the time slot interval is I, so in order to show the uniformity of dynamic time slot allocation, the population fitness function is used Where I = L2 + P / M. The smaller the fitness value, the more uniform the time slot allocation interval. Therefore, the selection of the optimal time slot allocation scheme can be converted into a constrained optimization problem, and the optimization goal is to minimize the population fitness.
[0120] Manta ray foraging optimization algorithm is a new type of intelligent bionic swarm algorithm proposed in recent years. The principle is to simulate the foraging process of manta ray in the ocean, to model different foraging strategies, and to mathematically describe the way of updating the position of manta ray individuals, so as to search for the optimal solution in the complex solution space. Due to the uniqueness of the position updating method, the solution accuracy and robustness of MRFO are also significantly improved compared with traditional bionic swarm algorithms.
[0121] Genetic algorithm and manta ray algorithm are applied to time slot allocation respectively for comparison, as shown in Figure 4 and Figure 5 The simulation scenarios of the two simulations are the same, that is, 30 time slots are selected from 500 idle time slots for allocation. The larger the average distance between the selected time slots, the smaller the corresponding population fitness value, representing more reasonable time slot allocation; the population fitness of genetic algorithm is 500 at the end of 2000 iterations, while that of manta ray algorithm is about 20. It can be seen that under the same number of iterations and sufficient time slots, manta ray algorithm is better than traditional genetic algorithm in time slot allocation scenario.
[0122] The application designs a special dynamic allocation time frame structure combining information collection period and time slot allocation period, collects node information in the information collection period, sets priority for each node, puts high priority nodes into special time slot section, allocates by using binary tree block even distribution method, allocates other nodes in dynamic time slot section by using manta ray algorithm, and sets time slot jitter and fitness function to ensure the adaptability of population, which not only ensures the information transmission of each node, but also guarantees the high priority node to send first, the node burst, long message sending and other requirements.
[0123] The above is only the preferred embodiment of the application, and does not limit the application in any form. Although the application has been disclosed as above, it is not intended to limit the application. Any person skilled in the art can make slight changes or modifications to the above disclosed technical content to obtain equivalent embodiments without departing from the scope of the application. Any modification, equivalent change and modification of the above embodiments based on the technical essence of the application are still within the scope of the application.
Claims
1. A time slot allocation method based on a time division multiple access manta ray algorithm, characterized in that: The allocation method comprises the following steps: S1, dividing a time frame into an information collection period and a time slot allocation period, and allocating priorities to nodes according to the traffic and load of the nodes in the information collection period; S2, allocating dedicated time slots to the node with the highest priority according to the binary tree block equal division method, and returning the remaining unallocated participating time slots to a dynamic time slot allocation pool; S3, listing a time slot allocation sequence according to the idle time slots in the dynamic time slot segment, and establishing the time slot allocation sequence and an ideal time slot allocation interval; S4, solving a time slot jitter model by using a manta ray algorithm, and sending the time slot allocation sequence to the corresponding node when the fitness of the optimal population in the iteration reaches a certain standard or the number of iterations reaches a maximum; The step S4 specifically comprises: S41, performing dynamic time slot allocation by using the manta ray algorithm, and setting a maximum number of iterations for the algorithm, and allocating corresponding dynamic time slot segment time slots to the node when the number of iterations reaches the maximum limit; S42, when a node sends a message in the allocated time slot, if the node cannot completely send the message in the dynamic time slot segment, the node will continue to apply for sending the message in the next time frame, and the priority of the message will be improved; The dynamic time slot allocation by using the manta ray algorithm comprises the following steps: S411, initial population setting: first, determine the population length according to the number of dynamic time slots obtained in the information collection stage, and set the number of populations; S412, encode the population: follow the real number coding in the genetic algorithm, record the time slot position of the node in each population, and perform the following foraging operation; S413, Fitness calculation: definition The function evaluates the fitness of the population, where Fitness is the fitness value of the time slot assignment sequence, is the interval of adjacent time slots for the data link node, i = 1, 2, 3, …, M; I is the ideal interval of the M time slots selected from the N free time slots in the ideal case. S414, select the corresponding foraging mode according to the random probability, the current number of iterations and the total number of iterations; S415, end iteration: the iteration ends when the fitness value is less than the set cutoff value or the maximum number of iterations is reached.
2. The time slot allocation method based on manta ray algorithm for TDMA according to claim 1, wherein: Step S1 specifically comprises the following steps: S11, divide the time into a periodic time frame, then cut the divided time frame into independent time slots, divide the time frame into an information collection period and a time slot allocation period, and further divide the time slot allocation period into a dedicated time slot period and a dynamic time slot period; S12, in the information collection stage, the node listens to the time slot request control packet, the request reply control packet and the time slot occupation control packet sent by the neighbor nodes in the time slots not occupied by the node, and according to the time slot occupation control packet, the local time slot occupation information is obtained, and the number of node applications and the number of time slot applications of different nodes in the time frame are counted, and three different priorities are given to each node.
3. The time slot allocation method based on manta ray algorithm for TDMA system according to claim 1, wherein: Step S2 specifically comprises the following steps: S21, calculate the number of dedicated time slots required in the time slot allocation period according to the number of node application time slots and the number of nodes with the highest priority, and divide the excess time slots in the time slot segment to the dynamic time slot period, wherein all the dedicated time slots form a static time slot period, and all the dynamic time slots form a dynamic time slot period; S22, for the dedicated time slot period, use the binary tree block equal division method for time slot allocation: use time slot group numbers A, B, C, starting index numbers 0-1536 and repetition rates 0-15 to define the time slot block occupied by the node; S23, when allocating time slots in the dedicated time slot period, the time slots between nodes should be equal as far as possible, and the interval between nodes is represented by DI; when the time slots required by a data link node need to be provided by multiple time slot blocks, the sum of the intervals DI between the selected multiple time slot blocks is maximized; wherein, if two time slot blocks are located in the same level of the binary tree, the interval DI between the two time slot blocks is: In the formula, N is the level of the two time slot blocks, location1 and location2 represent the encoding of the two time slot blocks respectively, and B2D represents a function of converting binary to decimal; S24, after the static time slots are allocated to each data link node by the binary tree block equal division method, if there are remaining time slots in the static time slot pool, the remaining time slots are given the same rights as the dynamic time slots and are included in the dynamic time slot pool.
4. The time slot allocation method based on manta ray algorithm for TDMA according to claim 3, characterized in that: The time slot group number represents the type of time slot, the start index number represents the first time slot of the time slot block, and the repetition rate is the logarithm to the base 2 of the number of time slots occupied by the time slot block.
5. The method of claim 4, wherein: The step s23 further comprises: if the two time slot blocks are located in different levels of the binary tree, the interval between the two time slot blocks is the ancestor of the common level of the lower level time slot block and the higher level time slot block, and the interval between the higher level time slot block.
6. The method of claim 1, wherein: The step S3 is specifically: S31, for the dynamic time slot pool, selecting a time slot allocation sequence with the smallest population fitness from the time slot allocation population, and sending the time slot allocation sequence to the corresponding node; Establish the interval used to solve for adjacent time slots allocated to data link nodes. The mathematical model of the optimization problem, where: In the above formula, is a sequence of all time slot positions actually allocated, i = 1, 2, 3, …, M-1, wherein M is the number of time slots applied for by the node in the dynamic time slot period. S32, a time slot jitter model is established: Was = , In the above formula, is the time slot interval for the ideal time slot allocation, and Var is the sum of the absolute values of the differences between all time slot intervals is the sum of the absolute values of the differences between all time slot intervals , which represents the time slot jitter size, is the total number of dynamic time slots, M is the number of dynamic time slots applied for by the node in the dynamic time slot period, P is the unused time slot in the dedicated time slot period, and E is the number of time slots applied for by the node in the static time slot period; in particular, when the number of applications does not exceed the total number of dedicated time slots , P is the difference between the two, and otherwise P is 0, .
Citation Information
Patent Citations
Dynamic TDMA time slot allocation method based on node priority
CN113939030A
Industrial Internet of Things equipment power distribution method based on outdated gradient feedback
CN114172774A