Task offloading and resource allocation joint optimization method, device, equipment and medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-19
- Publication Date
- 2026-08-11
AI Technical Summary
[0005]有鉴于此,本发明实施例提供了一种任务卸载和资源分配联合优化方法、装置、设备及存储介质,以解决现有技术缺少对于多用户多MEC服务器系统场景下的任务卸载和资源分配优化方案的技术问题
[0018] This invention provides a method, apparatus, device, and storage medium for joint optimization of task offloading and resource allocation. It generates initial task offloading and initial resource allocation matrices that satisfy constraints based on task and resource parameters of a multi-user, multi-server mobile edge computing network (MEC). Initial values of the offloading utility function are calculated based on these matrices. The initial task offloading matrix is iteratively calculated using a simulated annealing algorithm, and the initial values of the matrix, matrix, and utility function are updated based on the iteration results. When the iteration termination condition is met, task offloading and resource allocation are performed based on the updated initial values. The optimized initial task offloading and initial resource allocation matrices are obtained by iteratively calculating these matrices using the simulated annealing algorithm. This optimizes task offloading and resource allocation decisions in multi-user, multi-server system scenarios, improving the performance of multi-user offloading in power MEC networks.
Smart Images

Figure CN115866690B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication resource scheduling technology, and in particular to a method, apparatus, device and medium for joint optimization of task offloading and resource allocation. Background Technology
[0002] With the continuous development and advancement of IoT applications and heterogeneous network architectures, many new compute-intensive and energy-intensive applications have emerged. This has led to situations where these applications cannot be completed on mobile devices in a timely manner due to insufficient computing power or battery limitations. At the same time, this has greatly increased the demand for highly localized services at the network edge for users closer to the end user.
[0003] Based on this, the concept of Mobile Edge Computing (MEC) was proposed. MEC can help better study latency-sensitive and computationally intensive applications. Combined with cloud computing, MEC can provide powerful cloud services directly at the network edge and be implemented directly on the cellular base station (base station). This means that a server is associated with the base station, allowing applications to run closer to the user, significantly reducing end-to-end latency and alleviating some network congestion.
[0004] However, considering that MEC servers communicate with devices on the uplink wireless channel, task offloading significantly impacts latency and energy consumption. Furthermore, resource constraints on MEC servers in systems with a large number of mobile users exacerbate the impact on task execution latency. Therefore, research on offloading decisions and resource allocation has become a substantial issue for achieving efficient offloading. 5G MEC plays a crucial role in this, utilizing a weighted sum of energy consumption and latency for joint optimization, and considering joint optimization of offloading decisions and resource allocation for multi-user systems. While these methods optimize the total system cost, they only consider single-sided, single-server system scenarios. Currently, there is a lack of optimization schemes for task offloading and resource allocation in multi-user, multi-MEC server system scenarios. Summary of the Invention
[0005] In view of this, embodiments of the present invention provide a method, apparatus, device and storage medium for joint optimization of task offloading and resource allocation, in order to solve the technical problem that the prior art lacks an optimization scheme for task offloading and resource allocation in multi-user multi-MEC server system scenarios.
[0006] The technical solution proposed in this invention is as follows:
[0007] The first aspect of this invention provides a joint optimization method for task offloading and resource allocation, comprising: generating an initial task offloading matrix and an initial resource allocation matrix that satisfy constraints based on task parameters and resource parameters of a multi-user, multi-server mobile edge computing network; calculating an initial value of an offloading utility function based on the initial task offloading matrix and the initial resource allocation matrix; iteratively calculating the initial task offloading matrix using a simulated annealing algorithm; updating the initial task offloading matrix, the initial resource allocation matrix, and the initial value of the offloading utility function based on the iteration results; and performing task offloading and resource allocation based on the updated initial task offloading matrix, the initial resource allocation matrix, and the initial value of the offloading utility function when the iteration termination condition is met.
[0008] Optionally, the step of iteratively calculating the initial task unloading matrix according to the simulated annealing algorithm and updating the initial task unloading matrix, initial resource allocation matrix, and initial value of unloading utility function based on the iteration results includes: obtaining the initialization temperature, temperature reduction coefficient, and preset number of iterations of the simulated annealing algorithm; iterating the initial task unloading matrix at the initialization temperature for the preset number of iterations, updating the initial task unloading matrix, initial resource allocation matrix, and initial value of unloading utility function based on the iteration results at each iteration; reducing the initialization temperature according to the temperature reduction coefficient, and restarting the next round of iterations.
[0009] Optionally, the step of iterating the initial task unloading matrix a preset number of times at the initialization temperature, and updating the initial task unloading matrix, initial resource allocation matrix, and initial value of unloading utility function based on the iteration result at each iteration, includes: obtaining the neighborhood solution of the initial task unloading matrix; obtaining the target resource allocation matrix based on the neighborhood solution; calculating the update value of unloading utility function based on the neighborhood solution and the target resource allocation matrix; determining whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of unloading utility function to the neighborhood solution, the target resource allocation matrix, and the update value of unloading utility function, respectively, based on the magnitude of the update value of unloading utility function and the initial value of unloading utility function; and repeating the above steps for the preset number of iterations at the initialization temperature.
[0010] Optionally, obtaining the neighborhood solution of the initial task offloading matrix includes: randomly selecting a first target user to be disturbed from the initial task offloading matrix; changing the base station and sub-band corresponding to the first target user when performing the offloading task; and generating the neighborhood solution of the initial task offloading matrix based on the change result.
[0011] Optionally, the step of changing the base station and subband corresponding to the first target user when performing the offloading task includes: generating a random seed; if the random seed is greater than a set threshold, replacing the base station and subband corresponding to the first target user when performing the offloading task with base stations and subbands not occupied by the offloading task in the initial task offloading matrix; if the random seed is less than the set threshold, randomly selecting a second target user to be disturbed, and exchanging the base stations and subbands corresponding to the first target user and the second target user when performing the offloading task.
[0012] Optionally, determining whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function to the neighborhood solution, the target resource allocation matrix, and the updated value of the unloading utility function based on the magnitude of the updated value of the unloading utility function and the initial value of the unloading utility function includes: determining whether the updated value of the unloading utility function is greater than the initial value of the unloading utility function; if it is greater, then updating the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function to the neighborhood solution, the target resource allocation matrix, and the updated value of the unloading utility function; if it is less, then determining whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function based on a preset condition.
[0013] Optionally, obtaining the target resource allocation matrix based on the neighborhood solution includes: obtaining the data volume and weight coefficient of each unloading task according to the neighborhood solution, the task parameters, and the resource parameters; and generating the target resource allocation matrix according to the data volume and weight coefficient.
[0014] A second aspect of this invention provides a joint optimization apparatus for task offloading and resource allocation, comprising: an initialization module, configured to generate an initial task offloading matrix and an initial resource allocation matrix that satisfy constraints based on task parameters and resource parameters of a multi-user, multi-server mobile edge computing network, and to calculate an initial value of an offloading utility function based on the initial task offloading matrix and the initial resource allocation matrix; an iteration module, configured to iteratively calculate the initial task offloading matrix using a simulated annealing algorithm, and update the initial task offloading matrix, the initial resource allocation matrix, and the initial value of the offloading utility function based on the iteration results; and an output module, configured to output the initial task offloading matrix, the initial resource allocation matrix, and the initial value of the offloading utility function when the iteration termination condition is met.
[0015] A third aspect of the present invention provides an electronic device, including: a memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to perform the task offloading and resource allocation joint optimization method as described in any of the first aspects of the present invention.
[0016] A fourth aspect of the present invention provides a computer-readable storage medium storing computer instructions for causing the computer to perform the task offloading and resource allocation joint optimization method as described in any of the first aspects of the present invention.
[0017] As can be seen from the above technical solutions, the embodiments of the present invention have the following advantages:
[0018] This invention provides a method, apparatus, device, and storage medium for joint optimization of task offloading and resource allocation. It generates initial task offloading and initial resource allocation matrices that satisfy constraints based on task and resource parameters of a multi-user, multi-server mobile edge computing network (MEC). Initial values of the offloading utility function are calculated based on these matrices. The initial task offloading matrix is iteratively calculated using a simulated annealing algorithm, and the initial values of the matrix, matrix, and utility function are updated based on the iteration results. When the iteration termination condition is met, task offloading and resource allocation are performed based on the updated initial values. The optimized initial task offloading and initial resource allocation matrices are obtained by iteratively calculating these matrices using the simulated annealing algorithm. This optimizes task offloading and resource allocation decisions in multi-user, multi-server system scenarios, improving the performance of multi-user offloading in power MEC networks. Attached Figure Description
[0019] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a flowchart of the joint optimization method for task unloading and resource allocation in an embodiment of the present invention;
[0021] Figure 2 This is a schematic diagram illustrating the application scenario of the joint optimization method for task unloading and resource allocation in an embodiment of the present invention;
[0022] Figure 3 This is a schematic diagram illustrating how the offloading utility function of different algorithms varies with task load in embodiments of the present invention;
[0023] Figure 4 This is a schematic diagram illustrating how the unloading utility function of different algorithms varies with the data size of the task in embodiments of the present invention;
[0024] Figure 5 This is a schematic diagram illustrating the relationship between the unloading utility function of different algorithms and the user in an embodiment of the present invention;
[0025] Figure 6 This is a schematic diagram of the joint optimization device for task unloading and resource allocation in an embodiment of the present invention;
[0026] Figure 7 This is a schematic diagram of the structure of the electronic device in an embodiment of the present invention;
[0027] Figure 8 This is a schematic diagram of the structure of a computer-readable storage medium in an embodiment of the present invention. Detailed Implementation
[0028] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0029] This invention provides a method for joint optimization of task unloading and resource allocation, such as... Figure 1 As shown, it includes:
[0030] Step S100: Generate an initial task offloading matrix and an initial resource allocation matrix that satisfy the constraints based on the task parameters and resource parameters of the multi-user multi-server mobile edge computing network, and calculate the initial value of the offloading utility function based on the initial task offloading matrix and the initial resource allocation matrix.
[0031] Step S200: Iteratively calculate the initial task unloading matrix according to the simulated annealing algorithm, and update the initial task unloading matrix, initial resource allocation matrix and initial value of unloading utility function based on the iteration results;
[0032] Step S300: When the iteration termination condition is met, perform task unloading and resource allocation based on the updated initial task unloading matrix, initial resource allocation matrix, and initial value of the unloading utility function.
[0033] Specifically, a multi-user, multi-server mobile edge computing network scenario consists of numerous power service devices, mobile edge computing (MEC) servers, and cloud servers. Each MEC server is associated with a corresponding base station; that is, one base station is equipped with one MEC server. For example, consider a cellular network system composed of multiple hexagonal sub-cells, with a base station at the center of each cell, and adjacent base stations 1 km apart. Assume that users and base stations each use a single antenna for uplink transmission and reception.
[0034] Multi-user, multi-server edge computing systems offer several significant advantages over single-cloud systems: First, when MEC servers are overloaded, some users can be redirected to nearby servers to offload tasks, improving efficiency. Second, each mobile user can freely choose a base station with good uplink channel conditions for task offloading, saving costs. Finally, the system can coordinate user offloading across multiple base stations to reduce interference and resource contention, thereby increasing overall offloading gain. Therefore, designing a communication and computing resource optimization scheme for multi-user, multi-MEC server systems, aiming to maximize the benefit of computing offloading to the system under limited resources, while considering the differences in computing capabilities of mobile users and the availability of computing resources on different MEC servers—that is, optimizing the overall system utility while flexibly responding to various needs—remains a problem to be solved in current wireless communication network systems.
[0035] The task parameters and resource parameters in this embodiment of the invention include various parameters used in calculating the offload utility function, wherein the task parameters include the number of users, the number of servers, and the task quantity T. u Resource parameters include the user computing power matrix F. u Server computing power matrix F S System bandwidth W, user output power matrix P u The components include the user-to-server gain matrix H, the user's latency preference matrix βtime, the user's energy preference matrix βenergy, and the chip energy consumption coefficient k. The workload T... u Represented by a task matrix, which consists of data size, the number of clock cycles required for computation, and output data. User computing power matrix F. u Including the computing speed of each user Server computing power matrix F S Including the computing speed f of each server s The gain matrix H includes the uplink gain between each user and the base station. The user latency preference matrix βtime includes the user's weights for task completion time. The user's energy preference matrix βenergy includes the weights of the energy required for the user to complete the task. The task unloading matrix X includes task unloading variables. Where u∈U, s∈S, j∈N, U represents the user set, S represents the server set, and N represents the subband set. When, it represents user u's task T u On the base station where the subband is j is unloaded, otherwise The resource allocation matrix F includes the amount of computing resources f allocated by the base station to the offloading task. u,s The task unloading matrix X and resource allocation matrix F are subject to the following constraints:
[0036]
[0037]
[0038]
[0039] The first and second constraints in the formula indicate that each task can be executed locally or offloaded to at most one server on subband j; the third constraint indicates that each base station can serve at most one user on subband j; the fourth constraint represents the user's transmission power budget; and the last two constraints indicate that each MEC server must allocate corresponding computing resources to each user associated with it, and the total computing resources allocated to all related users must not exceed the server's computing capacity. Based on the above constraints, the optimal solution of the offloading utility function is obtained using the Karush-Kuhn-Tucker (KKT) conditions as the initial task offloading matrix X_old, and the initial resource allocation matrix F_old is calculated based on the initial task offloading matrix X_old.
[0040] After obtaining the initial task unloading matrix X_old and the initial resource allocation matrix F_old, the initial value J_old of the unloading utility function is calculated based on these matrices. Then, the initial task unloading matrix is iteratively calculated using the simulated annealing algorithm. Based on the iteration results, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated. Specifically, after iteratively updating the initial task unloading matrix, the updated initial resource allocation matrix and the initial value of the unloading utility function are calculated based on the updated initial value. Finally, it is determined whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function based on the updated initial value of the unloading utility function.
[0041] When the iteration termination condition is met, task unloading and resource allocation are performed based on the updated initial task unloading matrix, initial resource allocation matrix, and initial value of the unloading utility function. Simulated Annealing (SA) is a stochastic optimization algorithm based on a Monte Carlo iterative solution strategy. Its starting point is the similarity between the annealing process of solid materials in physics and general combinatorial optimization problems. Starting from a relatively high initial temperature, as the temperature parameter continuously decreases, it uses probabilistic jump characteristics to randomly search for the global optimum of the objective function in the solution space; that is, it probabilistically escapes local optima and eventually converges to the global optimum.
[0042] The iteration termination condition can be set according to requirements. For example, the iteration termination condition is when the temperature of the simulated annealing algorithm drops to a preset temperature or the initial value of the unloading utility function is updated to a target, such as the updated initial value of the unloading utility function being greater than a set threshold.
[0043] The following example illustrates how to calculate the unloading utility function.
[0044] An application scenario of the joint optimization method for task unloading and resource allocation according to embodiments of the present invention is as follows: Figure 2 As shown, for a multi-cell, multi-base station mobile edge computing network, assume there are S base stations S = {1, 2, ..., S} and U users U = {1, 2, ..., U}. To describe the joint task offloading and resource allocation problem, the offloading utility function for user u is defined as:
[0045]
[0046] in, These refer to the user's weighting of task completion time and energy consumption, and must meet the following requirements: Mobile users can set different power-saving methods. The value of . In the considered scenario, the relative improvement in task completion time and energy consumption is respectively expressed as and As a feature, and These represent the time and energy consumption of the user device when performing tasks locally, t u and E u The total latency and energy consumption of offloading tasks from user equipment to the MEC server (i.e., to the base station). Offloading too many tasks to the base station may lead to excessive latency due to limited bandwidth and computing resources, thus degrading the Quality of Experience (QoE). Therefore, if J... u If the value is ≤0, user u should not offload its tasks to the base station.
[0047] According to formula (1), it can be deduced that the QoE of user u is mainly determined by the total delay t of the unloading task. u Energy E consumed during user-uploaded tasks u The decision is made. The following describes the calculation process for the total latency and energy consumption of user equipment offloading tasks to the base station.
[0048] 1. Calculation of total delay for user uninstallation tasks
[0049] Considering uninstallation strategy Transmission power p u and computational resource allocation f u,s The total latency experienced by user u when uninstalling the task is as follows:
[0050]
[0051] Assume a single user u∈U has only one computational task at a time, i.e., T u Each T u Consisting of two parameters d u c u Composition, in which: d u This indicates the amount of requested data required to execute the program (including system settings, program code, and input parameters) from the local device to the MEC base station; c u This represents the computational workload required to complete the task. In equation (2), This indicates that user u sent task request d uplink. u Transmission time at that time Represents task T u Execution time on the MEC server, R u,s (χ,P) represents the rate at which user u sends data to the base station, f u,s This represents the computing resources allocated by MEC servers to user u. Each task can be offloaded locally on the user's device or offloaded to the MEC server. Offloading computing tasks to the MEC server saves energy for the mobile user, but sending task requests to the uplink consumes additional time and energy. This represents user u's local computing power on the CPU. If user u executes the task locally, the task completion time is:
[0052]
[0053] If user u chooses to assign task T u Offloading to the MEC server introduces latency including the time required to transmit requests to the MEC server on the uplink. Time spent executing tasks on the MEC server And the time it takes to return the result from the MEC server to the user on the downlink. Since the result size is usually much smaller than the request, and the downlink data rate is much higher than the uplink data rate, therefore It can be ignored.
[0054] In the uplink of the system model, orthogonal frequency division multiple access (OFDMA) is used. Assuming there are N subcarriers within the operating bandwidth B, the bandwidth occupied by each subcarrier is W = B / N. To ensure the orthogonality of uplink transmission between users associated with the same base station, each user is allocated a sub-frequency band (i.e., sub-band). Therefore, each base station can serve a maximum of N users simultaneously. Let n = {1, 2, ..., N} be the set of available sub-bands for each base station. Define the task offloading variable. Where u∈U, s∈S, j∈N. When When, it represents user u's task T u On the base station where the subband j is unloaded, otherwise Here, a collection containing all uninstallation tasks is given. u∈
[0055] The task unloading strategy χ is denoted as Y, s∈S, j∈N}. Since each task can be executed locally or offloaded to at most one MEC server, a viable offload strategy must meet the following constraints:
[0056]
[0057] at the same time, This indicates the set of users to offload tasks to the base station. This represents the set of all users performing offloading tasks. Furthermore, each user and base station has an antenna for uplink transmission. Here, it is assumed that the uplink gain between user u and base station S is... This gain represents the effects of path loss, shading, and antenna gain. Assume P =
[0058] { u 0 <p u ≤Pu, u∈U off} represents the user's transmission power, where p u The representative will request task d u The transmission power of user u when uploading to the base station. At that time, p u = 0. Since users transmitting to the same base station use different sub-frequency bands, uplink intra-cell interference is well mitigated, but these users are still affected by inter-cell interference. Therefore, in the j-th sub-band, the ratio of signal strength from user u to base station S to interference plus noise can be written as:
[0059]
[0060]
[0061] In the formula: σ 2 It is the variance of background noise; This represents the cumulative interference within the cell for all users associated with other base stations on subband j. Since each user transmits data only on a single subband, the data transmission rate of user u to the base station is:
[0062] R u,s (χ,P)=Wlog2(1+γ μ,s (6)
[0063] In the formula, the signal-to-interference-plus-noise ratio (SINR) So, user u sends task request d uplink. u The transmission time is:
[0064]
[0065] in, Assume that the MEC server on each base station can provide compute offloading services to multiple users simultaneously. The computing resources provided by each MEC server to associated users are determined by the computing rate f. s Quantification is performed. After receiving the uninstallation task from the user, the server executes the task on behalf of the user and returns the output result to the user upon completion. The computing resource allocation strategy is defined as F = {f us |u∈U,s∈S}, where f u,s >0 is the value assigned by the base station to the offloading task T. u The amount of computing resources required. Therefore, when At that time, f us =0. Furthermore, a feasible computing resource allocation strategy must satisfy computing resource constraints, expressed as:
[0066]
[0067] Given a computing resource allocation {f u,s ,s∈S}, task T u The execution time on the MEC server is:
[0068]
[0069] 2. User unloading energy consumption calculation
[0070] To calculate the energy consumption of user equipment when performing tasks locally, the energy consumption model ε=kf for the calculation cycle is used. 2This is represented by the expression. Here, k is the energy coefficient dependent on the chip architecture, and f is the CPU frequency. Therefore, user u executes task T locally. u Energy consumption per hour Calculated as:
[0071]
[0072] Energy consumed by user u's upload request Where ξ u This represents the power amplifier efficiency for user u. It is generally assumed that ξ... u = 1. Therefore, the uplink energy consumption of user u simplifies to:
[0073]
[0074] For a given offload decision χ, uplink power allocation decision p, and computational resource allocation decision f, the user offload utility function is defined as the weighted sum of all user offload utility functions, i.e.:
[0075] J(χ,p,f)=∑ u∈U λ u J u (12)
[0076] In the formula: λ u This is a user weighting coefficient, which can be set according to user type and the criticality of the computational task. The problem of joint task unloading and resource allocation is transformed into a system utility maximization problem, i.e.:
[0077] max x,p,f J(χ,p,f) (13)
[0078] The constraints are:
[0079]
[0080]
[0081]
[0082] The first and second constraints in the formula indicate that each task can be executed locally or offloaded to at most one server on subband j; the third constraint indicates that each base station can serve at most one user on subband j; the fourth constraint represents the user's transmission power budget; and the last two constraints indicate that each MEC server must allocate corresponding computing resources for each user associated with it, and the total computing resources allocated to all related users must not exceed the server's computing capacity. Since the offload utility function J... uIt is positive definite and the constraints are convex. Feasible task unloading strategies X that satisfy the constraints can be calculated according to the KKT conditions. The task unloading strategy X is the initial task unloading matrix X_old, which is the initial solution of the unloading utility function and will be used to calculate the initial resource allocation matrix F_old.
[0083] By fixing the binary variable {x} u The above equation can be decomposed into multiple subproblems with separate objectives and constraints. Therefore, the constraints in the equation can be decomposed into task unloading with respect to χ.
[0084] Offloading (TO) and resource allocation (RA) regarding p and f:
[0085]
[0086]
[0087]
[0088] J * (χ)=max p,S J(X,p,f) (15)
[0089] st0 <p u ≤ u f u,s >0
[0090] ∑ u∈U f u,s ≤ s
[0091] The problem of solving the joint task unloading and resource allocation is equivalent to solving the optimization problems of task unloading and resource allocation separately. First, we solve the RA problem in equation (15), and then use its solution to derive the solution of the TO problem in equation (14). Given a feasible task unloading decision χ that satisfies the constraints, equation (15) can be rewritten as:
[0092]
[0093]
[0094] in,
[0095] Since the left side of equation (16) is a fixed value, the value of the offloading utility function can be replaced by equation (17). After obtaining the initial task offloading matrix X_old and the initial resource allocation matrix F_old, the corresponding parameters are substituted into equation (17) to obtain the initial value J_old of the offloading utility function. The specific calculation process is as follows: using the system bandwidth W and the number of channels K, the bandwidth of each subcarrier is calculated, and then the signal-to-interference-plus-noise ratio on each link is calculated using the channel gain matrix H, so as to calculate the achievable rate of each link; using the user computing capability matrix F_u, the local computing time matrix Tu is obtained, and then the local computing energy consumption matrix Eu is obtained using the energy consumption coefficient κ; according to the user's delay preference matrix βtime, the user's energy preference matrix βenergy and the local computing energy consumption matrix Eu, the parameter η required for resource allocation is calculated. u Finally, the initial value J_old of the unloading utility function is calculated according to formula (17).
[0096] This invention provides a joint optimization method for task offloading and resource allocation. It generates initial task offloading and initial resource allocation matrices that satisfy constraints based on task and resource parameters of a multi-user, multi-server mobile edge computing network (MEC). Initial values of the offloading utility function are calculated based on these matrices. The initial task offloading matrix is iteratively calculated using a simulated annealing algorithm, and the initial values of the matrix, matrix, and utility function are updated based on the iteration results. When the iteration termination condition is met, task offloading and resource allocation are performed based on the updated initial values. The optimized initial task offloading and initial resource allocation matrices are obtained by iteratively calculating these matrices using the simulated annealing algorithm. This optimizes task offloading and resource allocation decisions in multi-user, multi-MEC server system scenarios, improving the performance of multi-user offloading in power MEC networks.
[0097] In one embodiment, the initial task offloading matrix is iteratively calculated according to the simulated annealing algorithm, and the initial values of the initial task offloading matrix, initial resource allocation matrix, and offloading utility function are updated based on the iteration results, including:
[0098] Step S210: Obtain the initial temperature, temperature reduction coefficient, and preset number of iterations for the simulated annealing algorithm.
[0099] Step S220: Iterate the initial task unloading matrix for a preset number of iterations based on the initial temperature. During each iteration, update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function based on the iteration results.
[0100] Step S230: Reduce the initial temperature according to the temperature reduction coefficient, and restart the next iteration.
[0101] Specifically, the initial temperature is T = 1000℃, the minimum temperature is T_min = 10^(-9), the temperature reduction coefficient is α = 0.97, and the preset number of iterations, i.e., the length of the Markov chain, is L = 5. At each temperature T, for 1...L, the following steps are repeated: update the initial task unloading matrix, update the initial resource allocation matrix and the initial value of the unloading utility function based on the updated initial task unloading matrix, and determine whether to accept a new solution based on the updated initial value of the unloading utility function. After repeating L = 5 times, the initial temperature is reduced according to the temperature reduction coefficient, and the above loop is repeated again for L = 5 times.
[0102] In one embodiment, the initial task unloading matrix is iterated a preset number of times at the initial temperature. During each iteration, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated based on the iteration result, including:
[0103] Step S221: Obtain the neighborhood solution of the initial task unloading matrix, and obtain the target resource allocation matrix based on the neighborhood solution.
[0104] Specifically, a first target user to be perturbed is randomly selected from the initial task offloading matrix; the base station and subband corresponding to the first target user when performing the offloading task are changed; and a neighborhood solution of the initial task offloading matrix is generated based on the change result. Specifying the first target user to be perturbed, the MEC server (server) and subband (band) allocated to the first target user are obtained by searching the initial task offloading matrix X_old. It should be understood that since the MEC server (server) is bound to the base station, obtaining the MEC server (server) is equivalent to obtaining the corresponding base station. Another MEC server (other_server) is randomly selected (other_server), and an idle subband (other_band) is searched for. If no idle subband is found, a subband is randomly allocated for reuse with other users; alternatively, another user, i.e., the second target user (other_user), is randomly selected, and their corresponding MEC servers and subbands are exchanged with those of the first target user (user). This ultimately updates the offloading decision matrix X_new and the resource allocation matrix F_new.
[0105] Specifically, changing the base station and sub-band corresponding to the first target user when performing the offloading task includes: generating a random seed; if the random seed is greater than the set threshold, replacing the base station and sub-band corresponding to the first target user when performing the offloading task with the base station and sub-band not occupied by the offloading tasks in the initial task offloading matrix; if the random seed is less than the set threshold, randomly select the second target user to be perturbed, and swap the base station and sub-band corresponding to the first target user and the second target user when performing the offloading task. Exemplarily, generate a random seed rand within the interval 0.05 - 0.75, set the threshold to 0.2, if 0.2 < rand < 0.75, randomly select another MEC server other_server except the MEC server server, find the idle sub-band other_band of the MEC server other_server, if there is no idle sub-band, randomly allocate a sub-channel to multiplex with other users. If 0.2 > rand > 0.05, randomly select another user, that is, the second target user other_user, and swap the corresponding MEC server and sub-band of the first target user user and the second target user other_user.
[0106] Specifically, obtaining the target resource allocation matrix based on the neighborhood solution includes: obtaining the data volume and weight coefficient of each offloading task according to the neighborhood solution, task parameters, and resource parameters; generating the target resource allocation matrix according to the data volume and weight coefficient. The target resource allocation matrix is obtained by multiplying the weight coefficient and data volume of each task and then adding them up.
[0107] Step S222, calculate the updated value of the offloading utility function according to the neighborhood solution and the target resource allocation matrix. Specifically, use the system bandwidth W and the number of channels K to calculate the bandwidth of each subcarrier, and then use the channel gain matrix H to calculate the signal-to-interference-plus-noise ratio on each link, so as to calculate the achievable rate of each link. Use the user computing power matrix F_u to obtain the local computing time matrix Tu, and then use the energy consumption coefficient κ to obtain the local computing energy consumption matrix Eu. According to the user's delay preference matrix βtime, the user's energy preference matrix βenergy, and the energy consumption matrix Eu, calculate the parameter η required for resource allocation. u Then, according to the neighborhood solution and the target resource allocation matrix, calculate the updated value J_new of the offloading utility function through Equation (17).
[0108] Step S223, judge whether to update the initial task offloading matrix, the initial resource allocation matrix, and the initial value of the offloading utility function to the neighborhood solution, the target resource allocation matrix, and the updated value of the offloading utility function respectively according to the size relationship between the updated value of the offloading utility function and the initial value of the offloading utility function.
[0109] Specifically, it is determined whether the updated value of the unloading utility function is greater than the initial value of the unloading utility function. If it is greater, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated to the neighborhood solution, the target resource allocation matrix, and the updated value of the unloading utility function, respectively. If it is less than the initial value, it is determined whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function according to preset conditions. For example, the difference Δ between the updated value of the unloading utility function and the initial value of the unloading utility function is calculated. If the difference Δ > 0, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated to the neighborhood solution, the target resource allocation matrix, and the updated value of the unloading utility function, respectively. If the difference Δ < 0, it is determined whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function according to preset conditions. The preset conditions are implemented using the Metropolis algorithm. Specifically, a random number t is generated. If t > exp(Δ / T), the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated to the neighborhood solution, the target resource allocation matrix, and the unloading utility function, respectively. Otherwise, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are not updated.
[0110] Step S224: Repeat the above steps for a preset number of iterations at the initial temperature. It should be noted that the initial temperature has been reduced at this point, and is lower than the initial initial temperature value.
[0111] The embodiments of the present invention employ simulated annealing algorithm for iterative calculation. At any temperature, a random perturbation is added to the initial solution to generate a new solution. If the objective function value of the new solution is better than that of the old solution, the new solution is accepted; if the new solution is worse than that of the old solution, the old solution is accepted with a certain probability. Thus, there is a certain probability of escaping the local optimum and finding the global optimum.
[0112] In one embodiment, the specific task and resource parameters are set as follows: the user's maximum transmit power is Pu = 20 dBm, the system bandwidth is set to B = 20 MHz, the background noise variance is assumed to be σ² = -100 dBm, and in terms of computing resources, the CPU performance of each MEC server and user is assumed to be fs = 20 GHz and ful = 1 GHz, respectively. The energy coefficient is set to κ = 5 × 10⁻²⁷. Regarding the computing task, the task request size is selected as du = 420 KB, and other parameters include the user's weighting of task completion time and energy consumption. In addition, users are randomly placed and evenly distributed within the network coverage area, and the number of sub-bands N is set as the number of users in each cell.
[0113] Using the joint optimization method for task offloading and resource allocation based on embodiments of the present invention, along with other optimization methods, the simulation results are shown below, illustrating the variation of different offloading utility functions with task load, task data volume, and number of users. Figures 3 to 5 As shown. Among them, from Figure 3 As can be seen, task load has a significant impact on the offloading feasibility of the greedy algorithm. The local search algorithm performs better than the greedy algorithm in terms of offloading feasibility, but both are lower than the simulated annealing algorithm and the Monte Carlo tree search algorithm. Similar to the Monte Carlo tree search algorithm, the average objective function value of both algorithms increases steadily with the increase of task load. When the task load / megacycle increases from 1 to 5, their average objective function value increases to around 35. However, the offloading feasibility of the simulated annealing algorithm changes within a smaller range. Therefore, it can be concluded that the load offloading feasibility of the simulated annealing algorithm changes steadily with the task load, similar to the Monte Carlo tree search algorithm, and is superior to both the greedy algorithm and the local search algorithm. Figure 4 As can be seen, changes in data volume significantly impact the offloading feasibility of the greedy algorithm. The offloading feasibility performance of the other three algorithms shows similar trends with increasing task data. The simulated annealing algorithm exhibits the smallest decrease in offloading feasibility performance; when the data volume increases from 0.2MB to 1.6MB, the offloading feasibility performance of the simulated annealing algorithm drops from 30 to approximately 10. Therefore, it can be concluded that the task data load offloading feasibility analysis of the simulated annealing algorithm is similar to that of the Monte Carlo tree search algorithm and the local search algorithm, but it demonstrates better stability. Figure 5 The results show that the number of users significantly impacts the offloading feasibility of the greedy algorithm. The local search algorithm performs better than the greedy algorithm in terms of offloading feasibility, but both are inferior to the simulated annealing and Monte Carlo tree search algorithms. Similar to the Monte Carlo tree search algorithm, the average objective function value of both algorithms is insensitive to the increase in the number of users. When the number of users increases from 1 to 100, their average objective function value increases to around 40. However, the simulated annealing algorithm exhibits better stability. Therefore, it can be concluded that the simulated annealing algorithm is superior to the greedy algorithm and the local search algorithm in terms of multi-user load offloading feasibility analysis.
[0114] In summary, the joint optimization method for task offloading and resource allocation in this embodiment of the invention improves the performance of multi-user offloading in power MEC networks by using simulated annealing algorithm to optimize task offloading and resource allocation decisions.
[0115] This invention also provides a joint optimization device for task unloading and resource allocation, such as... Figure 6 As shown, it includes:
[0116] The initialization module 701 is used to generate an initial task offloading matrix and an initial resource allocation matrix that satisfy the constraints based on the task parameters and resource parameters of the multi-user, multi-server mobile edge computing network, and to calculate the initial value of the offloading utility function based on the initial task offloading matrix and the initial resource allocation matrix. For details, please refer to the corresponding sections of the above method embodiments, which will not be repeated here.
[0117] The iteration module 702 is used to iteratively calculate the initial task unloading matrix according to the simulated annealing algorithm, and update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function based on the iteration results. For details, please refer to the corresponding sections of the above method embodiments, which will not be repeated here.
[0118] Output module 703 is used to output the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function when the iteration termination condition is met. For details, please refer to the corresponding sections of the above method embodiments, which will not be repeated here.
[0119] This invention provides a joint optimization device for task offloading and resource allocation. It generates initial task offloading and initial resource allocation matrices that satisfy constraints based on task and resource parameters of a multi-user, multi-server mobile edge computing network. It then calculates initial values for the offloading utility function based on these matrices. The device iteratively calculates the initial task offloading matrix using a simulated annealing algorithm, updating the initial task offloading matrix, initial resource allocation matrix, and initial values of the offloading utility function based on the iteration results. When the iteration termination condition is met, task offloading and resource allocation are performed based on the updated initial task offloading matrix, initial resource allocation matrix, and initial values of the offloading utility function. By iteratively calculating the initial task offloading matrix, initial resource allocation matrix, and initial values of the offloading utility function using the simulated annealing algorithm, optimized initial task offloading and initial resource allocation matrices are obtained. This optimizes task offloading and resource allocation decisions in multi-user, multi-MEC server system scenarios, improving the performance of multi-user offloading in power MEC networks.
[0120] In one embodiment, the iteration module 702 includes:
[0121] The initialization module is used to obtain the initialization temperature, temperature reduction factor, and preset number of iterations for the simulated annealing algorithm;
[0122] The update module is used to iterate the initial task unloading matrix a preset number of times at the initial temperature. During each iteration, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated based on the iteration results.
[0123] The first iterative module is used to reduce the initial temperature according to the temperature reduction coefficient and restart the next round of iteration.
[0124] In one embodiment, the update module includes:
[0125] The neighborhood solution acquisition module is used to obtain the neighborhood solution of the initial task unloading matrix and obtain the target resource allocation matrix based on the neighborhood solution;
[0126] The update value module is used to calculate the update value of the unloading utility function based on the neighborhood solution and the target resource allocation matrix;
[0127] The judgment module is used to determine whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function to the neighborhood solution, the target resource allocation matrix, and the unloading utility function update value, respectively, based on the magnitude of the unloading utility function update value and the unloading utility function initial value.
[0128] The second iterative module is used to repeatedly execute the above steps a preset number of iterations at the initial temperature.
[0129] In one embodiment, the neighborhood solution acquisition module includes:
[0130] The first selection module is used to randomly select the first target user to be disturbed from the initial task unloading matrix;
[0131] The data modification module is used to modify the base station and sub-band corresponding to the first target user when performing the unloading task;
[0132] The neighborhood solution generation module is used to generate neighborhood solutions for the initial task unloading matrix based on the change results.
[0133] In one embodiment, the data modification module includes:
[0134] The random seed module is used to generate random seeds;
[0135] The first modification module is used to replace the base station and sub-band corresponding to the first target user when performing the unloading task with base stations and sub-bands that are not occupied by the unloading task in the initial task unloading matrix if the random seed is greater than a set threshold.
[0136] The second modification module is used to randomly select a second target user to be disturbed if the random seed is less than a set threshold, and to exchange the base station and sub-band corresponding to the first target user and the second target user when performing the offloading task.
[0137] In one embodiment, the determination module includes:
[0138] The utility judgment module is used to determine whether the updated value of the unloading utility function is greater than the initial value of the unloading utility function. If it is greater, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated to the neighborhood solution, the target resource allocation matrix, and the updated value of the unloading utility function, respectively. If it is less than, the module determines whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function according to preset conditions.
[0139] In one embodiment, the neighborhood solution acquisition module includes:
[0140] The target resource acquisition module is used to obtain the data volume and weight coefficient of each unloading task based on the neighborhood solution, task parameters and resource parameters, and generate the target resource allocation matrix based on the data volume and weight coefficient.
[0141] This invention also provides an electronic device, such as... Figure 7As shown, the system includes a memory 501 and a processor 502, which are interconnected. The memory 501 stores computer instructions, and the processor 502 executes these computer instructions to perform the task offloading and resource allocation joint optimization method as described in the above embodiments of the present invention. The processor 502 and the memory 501 can be connected via a bus or other means. The processor 502 can be a central processing unit (CPU). The processor 502 can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations thereof. The memory 501, as a non-transitory computer storage medium, can be used to store non-transitory software programs, non-transitory executable programs, and modules, such as the corresponding program instructions / modules in the embodiments of the present invention. Processor 502 executes various functional applications and data processing by running non-transitory software programs, instructions, and modules stored in memory 501, thereby implementing the task offloading and resource allocation joint optimization method in the above method embodiments. Memory 501 may include a program storage area and a data storage area. The program storage area may store applications required for operating the device and at least one function; the data storage area may store data created by processor 502, etc. Furthermore, memory 501 may include high-speed random access memory 501, and may also include non-transitory memory 501, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory 501 may optionally include remotely located memories 501 relative to processor 502, which can be connected to processor 502 via a network. Examples of such networks include, but are not limited to, the Internet, enterprise intranets, local area networks, mobile communication networks, and combinations thereof. One or more modules are stored in memory 501, and when executed by processor 502, perform the task offloading and resource allocation joint optimization method as described in the above method embodiments. The specific details of the aforementioned electronic device can be understood by referring to the relevant descriptions and effects in the above method embodiments, and will not be repeated here.
[0142] This invention also provides a computer-readable storage medium, such as... Figure 8As shown, a computer program 13 is stored on the storage medium. When executed by a processor, this program implements the steps of the task unloading and resource allocation joint optimization method described in the above embodiments. The storage medium also stores audio and video stream data, feature frame data, interactive request signaling, encrypted data, and preset data sizes. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk drive (HDD), or solid-state drive (SSD), etc.; the storage medium can also include combinations of the above types of memory. Those skilled in the art will understand that all or part of the processes in the methods described in the above embodiments can be implemented by a computer program instructing related hardware. The computer program 13 can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk drive (HDD), or solid-state drive (SSD), etc.; the storage medium can also include a combination of the above types of memory.
[0143] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A joint optimization method for task unloading and resource allocation, characterized in that, include: The problem of solving joint task unloading and resource allocation is equivalent to the optimization problem of task unloading and resource allocation. An initial task unloading matrix and an initial resource allocation matrix that satisfy the constraints are generated based on the task parameters and resource parameters of the multi-user multi-server mobile edge computing network. The initial value of the unloading utility function is calculated based on the initial task unloading matrix and the initial resource allocation matrix. The initial task unloading matrix is iteratively calculated using the simulated annealing algorithm. At each temperature, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated based on the iteration results. The optimal solution of the unloading utility function is obtained using the Karush-Kuhn-Tucker condition as the initial task unloading matrix, and the initial value of the unloading utility function is calculated based on the initial task unloading matrix and the initial resource allocation matrix. When the iteration termination condition is met, task unloading and resource allocation are performed based on the updated initial task unloading matrix, initial resource allocation matrix and initial value of unloading utility function. The step of iteratively calculating the initial task unloading matrix according to the simulated annealing algorithm, and updating the initial task unloading matrix, initial resource allocation matrix, and initial value of the unloading utility function based on the iteration results includes: Step a1: Obtain the initial temperature, temperature reduction coefficient, and preset number of iterations for the simulated annealing algorithm; Step a2: Obtain the neighborhood solution of the initial task unloading matrix, and obtain the target resource allocation matrix based on the neighborhood solution; Step a3: Calculate the unloading utility function update value based on the neighborhood solution and the target resource allocation matrix; Step a4: Determine whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function to the neighborhood solution, the target resource allocation matrix, and the unloading utility function update value, respectively, based on the magnitude of the unloading utility function update value and the initial value of the unloading utility function; Step a5: Repeat steps a2 to a4 for the preset number of iterations at the initial temperature; Step a6: Reduce the initial temperature according to the temperature reduction coefficient, and restart the next round of iterations; Step a2, obtaining the neighborhood solution of the initial task unloading matrix, includes: Randomly select a first target user to be perturbed from the initial task offloading matrix; change the base station and sub-band corresponding to the first target user when performing the offloading task; generate a neighborhood solution of the initial task offloading matrix based on the change result; The change of the base station and sub-band corresponding to the first target user when performing the uninstallation task includes: Generate a random seed; if the random seed is greater than a set threshold, replace the base station and subband corresponding to the first target user when performing the offload task with a base station and subband not occupied by the offload task in the initial task offload matrix; if the random seed is less than the set threshold, randomly select a second target user to be disturbed, and swap the base station and subband corresponding to the first target user and the second target user when performing the offload task.
2. The joint optimization method for task unloading and resource allocation according to claim 1, characterized in that, The step of determining whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function to the neighborhood solution, the target resource allocation matrix, and the updated value of the unloading utility function based on the magnitude of the updated value of the unloading utility function and the initial value of the unloading utility function includes: Determine whether the updated value of the uninstallation utility function is greater than the initial value of the uninstallation utility function; If it is greater than, then the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated to the neighborhood solution, the target resource allocation matrix, and the updated value of the unloading utility function, respectively. If the value is less than the preset condition, then it is determined whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function.
3. The joint optimization method for task unloading and resource allocation according to claim 1, characterized in that, The step of obtaining the target resource allocation matrix based on the neighborhood solution includes: The data volume and weight coefficient of each unloading task are obtained based on the neighborhood solution, the task parameters, and the resource parameters; The target resource allocation matrix is generated based on the data volume and weighting coefficients.
4. A joint optimization device for task unloading and resource allocation, characterized in that, include: The initial module is used to generate an initial task offloading matrix and an initial resource allocation matrix that satisfy the constraints based on the task parameters and resource parameters of the multi-user multi-server mobile edge computing network, and to calculate the initial value of the offloading utility function based on the initial task offloading matrix and the initial resource allocation matrix. The iteration module is used to iteratively calculate the initial task unloading matrix according to the simulated annealing algorithm, and update the initial task unloading matrix, the initial resource allocation matrix and the initial value of the unloading utility function based on the iteration results. The output module is used to output the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function when the iteration termination condition is met. The iteration module includes: The initialization module is used to obtain the initialization temperature, temperature reduction factor, and preset number of iterations for the simulated annealing algorithm; The update module is used to iterate the initial task unloading matrix a preset number of times at the initial temperature. During each iteration, the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function are updated based on the iteration results. The first iterative module is used to reduce the initial temperature according to the temperature reduction coefficient and restart the next round of iteration; The updated modules include: The neighborhood solution acquisition module is used to obtain the neighborhood solution of the initial task unloading matrix and obtain the target resource allocation matrix based on the neighborhood solution; The update value module is used to calculate the update value of the unloading utility function based on the neighborhood solution and the target resource allocation matrix; The judgment module is used to determine whether to update the initial task unloading matrix, the initial resource allocation matrix, and the initial value of the unloading utility function to the neighborhood solution, the target resource allocation matrix, and the unloading utility function update value, respectively, based on the magnitude of the unloading utility function update value and the unloading utility function initial value. The second iterative module is used to repeatedly execute the steps in the neighborhood solution acquisition module, update value module, and judgment module for a preset number of iterations at the initial temperature. The neighborhood solution acquisition module includes: The first selection module is used to randomly select the first target user to be disturbed from the initial task unloading matrix; The data modification module is used to modify the base station and sub-band corresponding to the first target user when performing the unloading task; The neighborhood solution generation module is used to generate neighborhood solutions for the initial task unloading matrix based on the change results; The data change module includes: The random seed module is used to generate random seeds; The first modification module is used to replace the base station and sub-band corresponding to the first target user when performing the unloading task with base stations and sub-bands that are not occupied by the unloading task in the initial task unloading matrix if the random seed is greater than a set threshold. The second modification module is used to randomly select a second target user to be disturbed if the random seed is less than a set threshold, and to exchange the base station and sub-band corresponding to the first target user and the second target user when performing the offloading task.
5. An electronic device, characterized in that, include: A memory and a processor are communicatively connected, the memory stores computer instructions, and the processor executes the computer instructions to perform the task offloading and resource allocation joint optimization method as described in any one of claims 1 to 3.
6. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to perform the task offloading and resource allocation joint optimization method as described in any one of claims 1 to 3.
Citation Information
Patent Citations
Wireless sensor network resource allocation method based on improved simulated annealing
CN110351679A
Joint task unloading and resource allocation method, device and equipment for heterogeneous Internet of Vehicles
CN114845272A