Keywords

1 Introduction

With the rise of 5G networks and the continuous development of wireless networks, mobile devices (MDs) have gradually become an irreplaceable part of people’s lives. Meanwhile, according to the continuous improvement of people’s life needs, a large number of high-quality services and applications have been spawned, such as smart homes, VR, face recognition, fingerprint recognition, and other applications. This application would result in high energy consumption and poor equipment performance [1]. However, it is impossible to perform such tasks efficiently, due to the limited storage space and computing power of mobile terminal equipment [2]. Although the emergence of Mobile Cloud Computing (MCC) [3] can provide equipment with insufficient storage space and computing power to handle complex calculations and high storage capabilities, it still has some shortcomings: MCC uses centralized data processing, that is, each task must be transmitted from the MDs to the remote cloud through a remote network. When the amount of tasks continues to increase, because the cloud server is far away from the terminal device, a series of problems such as data loss, high energy consumption, and network delay are prone to occur during data transmission. These problems will seriously affect the user experience.

To further reduce system energy consumption and time delay, improve user experience quality, etc., the introduction of mobile edge computing (MEC) [4]. Mobile edge computing is a further optimization of cloud computing: Adopting a reasonable computation offloading strategy to decentralize computing storage and computing resources to the edge of the network close to mobile devices [3] is conducive to solving the problems of high latency, high energy consumption, network delay, data leakage and other problems caused by centralized cloud computing. At the same time, the calculation and storage pressure of the MDs is relieved, and the service life of the equipment is prolonged. In recent years, computation offloading has become a research hotspot in the field of mobile edge computing. Since 2014, many researchers have begun to study it and have achieved many research results. Computation offloading mainly includes two aspects: offloading decisions and resource allocation. Among them, the offloading decision mainly studies how to divide the tasks generated by the MDs and offload some tasks to the MEC server for execution by measuring the benefits generated by the strategy. That is, how to reasonably allocate the limited MEC server resources to each task is a very critical problem. Therefore, it is very necessary to propose an efficient and reasonable computation offloading strategy.

Luo et al. [5] mainly addressed the problems of high time delay and high energy consumption in industrial production lines and uses particle swarm optimization (PSOA) to solve the problem of the optimal offloading strategy for minimizing time delay under energy consumption constraints. Liu et al. [6] used the Markov decision process to deal with the problem of minimizing power-constrained delay and proposes an efficient one-dimensional search algorithm to find the optimal task scheduling strategy. Liu et.al [7] used population diversity-binary particle swarm optimization (PD-PSO) to find the optimal decision combination under the minimization of energy consumption for intensive task offloading. About the optimization problem of task offloading and resource allocation, Yan et al. [8] used an adaptive genetic algorithm to continuously adjust the offloading decision, and optimize the system overhead in the process of task offloading. Mao et al. [9] and Ulukus et al. [10] mainly focused on the scenario of computation offloading on a single MD, setting time intervals and calculating the cost of task offloading in each time interval to determine whether offloading was required. Chen et al. [11] transformed the task offloading decision problem into a multi-user game problem and proved that an efficient computation offloading strategy can be designed through Nash equilibrium, to obtain the smallest delay.

At present, the most extensive research is to take time delay as the main optimization goal, often neglecting that excessive energy consumption will also affect the performance and service life of the MDs, and also affect the user experience. In this paper, we will investigate the MEC system that includes a multi-user, single MEC server. The resources of a single MEC server are limited, so how to reduce the total energy consumption of task execution through reasonable task offloading strategies and resource allocation techniques is the key to this paper. The main contributions of this paper are as follows.

  1. 1)

    We formally model this computation offloading problem in mobile edge computing for the minimum energy consumption calculation under the time delay constraint, which exploits the penalty function to tradeoff the delay and energy consumption.

  2. 2)

    We propose a computational offloading strategy of the PSO-DE algorithm which is aimed to solve the complexity of the combination of multi-task computation offloading decisions and optimization goals. Also, we can use the PSO-DE algorithm to solve the above computational model and obtain the best task offloading strategy. This algorithm introduces DE to increase the diversity of offloading strategy combinations and improve the accuracy of finding the optimal offloading strategy by improving operations such as mutation and crossover.

  3. 3)

    Simulation experiments are carried out under different time delay constraints, task data volume, and user tasks. The experimental results show that the computation offloading strategy of PSO-DE is better than other offloading schemes.

2 System Model

Fig. 1.
figure 1

MEC system model

This paper considers a MEC system composed of multiple MDs and a base station (BS) (see Fig. 1). MDs can be expressed as \(U=\{\mathrm{1,2},\dots ,n\}\). Each user has a task and the task of user \(i\) can be denoted as \({Task}_{i}=\left\{{D}_{i},{c}_{i},{T}_{i}^{max}\right\},\) where \({D}_{i}\) is the amount of data required for \({Task}_{i}\), \({c}_{i}\) is the number of CPU cycles required to calculate each byte, and \({Task}_{i}^{max}\) is denoted as the maximum time delay that each user can tolerate. \(S\) is defined as a combination of offloading decisions made up of \(n\) tasks, where \(S=\left\{{s}_{1},{s}_{2},\dots ,{s}_{n}\right\},n\epsilon U\). There are 2 possibilities for the offloading decision method for each task. If \({s}_{i}=0\), it means the task \(i\) is locally executed on its device. If \({s}_{i}=1\), it means that the task \(i\) will be offloaded to the MEC server for execution. Note: When task offloading occurs, this paper only considers the processing by a MEC server, and does not consider part of the offloading problem.

2.1 Local Computing Model

When the user task \(i\) is locally executed on its device, we have \({s}_{i}=0\). Note: we assume that the MD has enough computing power and storage space to process tasks. Let \({C}_{i}\) and \({T}_{i}^{local}\) be the number of CPU cycles and the computational time of the task in the local device, which can be respectively defined as

$${C}_{i}={D}_{i}{c}_{i}$$
(1)
$${T}_{i}^{local}=\frac{{C}_{i}}{{f}_{i}^{local}}$$
(2)

where \({f}_{i}^{local}, {F}_{i,max}^{local}\) are defined as the computational capability and maximum computational capability of the MD.

The energy consumption to complete the task in the local device can be defined as

$${E}_{i}^{local}=k{({f}_{i}^{local})}^{2}{C}_{i}$$
(3)

where \(k={10}^{-26}\), and it is a constant related to the chip structure of the MDs [12].

2.2 Edge Computing Model

The storage space and computational capability of MDs are not enough to efficiently process some tasks with complex calculations and high data storage, so some tasks need to be offloaded to the MEC server for processing. When the user chooses to offload the task \(i\) to the MEC for execution, we have \({s}_{i}=1\).

The calculation of the time required for the completion of this task in the MEC server mainly includes two aspects: \({T}_{i,trans}^{MEC}\) and \({T}_{i,commit}^{MEC}\) [13].

\({T}_{i,trans}^{MEC}\) is the time required to transmit task data from the MD \(i\) to the MEC server, which is denoted as

$${T}_{i,trans}^{MEC}=\frac{{D}_{i}}{W{log}_{2}(1+\frac{{P}_{i}{({l}_{i})}^{-\sigma }}{W{N}_{0}})}$$
(4)

where \({R}_{i}=W{log}_{2}(1+\frac{{P}_{i}{({l}_{i})}^{-\sigma }}{W{N}_{0}})\) represents the transmission rate from the MD \(i\) to BS [14]. \(W\) is the channel bandwidth between the MDs and BS. \({P}_{i}\) is denoted as the transmit power of the MD \(i\). \({{(l}_{i})}^{-\sigma }\) represents the channel gain between the MD \(i\) and the BS, \({l}_{i}\) is the distance between the MD \(i\) and the BS and \(\sigma \) is the path loss factor.

\({T}_{i,commit}^{MEC}\) is the time to process this task on the MEC server, which is defined as

$${T}_{i,commit}^{MEC}=\frac{{C}_{i}}{{f}_{i}^{MEC}}$$
(5)

The computational time of the task \(i\) in the MEC server can be defined as

$${T}_{i}^{MEC}={T}_{i,trans}^{MEC}+{T}_{i,commit}^{MEC}$$
(6)

Similarly, offloading tasks to the MEC server will also produce energy consumption, which is mainly reflected in two parts: \({E}_{i,trans}^{MEC}\) and \({E}_{i,commit}^{MEC}\).

\({E}_{i,trans}^{MEC}\) is the energy consumption to transmit task data from the MD \(i\) to the MEC server, which is denoted as

$${E}_{i,trans}^{MEC}=\frac{{P}_{i}{D}_{i}}{W{log}_{2}(1+\frac{{P}_{i}{({l}_{i})}^{-\sigma }}{W{N}_{0}})}$$
(7)

\({E}_{i,commit}^{MEC}\) is the energy consumption to process this task on the MEC server, which is represented as [14]

$${E}_{i,commit}^{MEC}={D}_{i}{q}_{i}$$
(8)

where \({q}_{i}\) is the energy consumption by the MEC server to process each bit of data.

The total energy consumption when this task is offloaded to the MEC serve can be defined as

$${E}_{i}^{MEC}={E}_{i,trans}^{MEC}+{E}_{i,commit}^{MEC}$$
(9)

2.3 Problem Formulation

Computation offloading is to solve the shortage of computing resources and insufficient energy efficiency of the MDs. It can optimize the performance of the equipment and provide users with the best quality service. This paper is mainly aimed at establishing a model in a computationally intensive application task scenario. Due to the limited resources of the MEC server, intensive task offloading will cause problems such as high latency, high energy consumption, and even reduced performance of the MEC server and MDs. The problem of high energy consumption may deplete the battery energy of the MD, which may cause subsequent task offloading to fail to complete. The goal of this paper’s optimization is how to provide users with high-quality services while minimizing the total energy consumption of task execution. To avoid the phenomenon that low energy consumption is exchanged for high time delay, a penalty function is introduced [5]. If the task execution time exceeds the maximum time delay that the user can tolerate, the penalty function is used to increase the total energy consumption of the offloading strategy. Considering the multi-objective constraint problem, the optimization objective of computation offloading can be formulated as

$$\underset{s}{\mathrm{min}}\sum\nolimits_{i=1}^{n}{E}_{i}+\varphi *\sum\nolimits_{i=1}^{n}({T}_{i}-{T}_{max})$$
(10)

Subject to

$${E}_{i}=\{\begin{array}{cc}{E}_{i}^{local},& {s}_{i}=0\\ {E}_{i}^{MEC},& {s}_{i}=1\end{array}$$
(11)
$$0\le \, {f}_{i}^{local}\le {F}_{i,max}^{local}$$
(12)
$$\sum\nolimits_{i=1}^{n}{f}_{i}^{MEC}\le {F}_{max}^{MEC}$$
(13)
$${T}_{i}\le {T}_{i}^{max}, {T}_{i}=\{\begin{array}{cc}{T}_{i}^{local},& {s}_{i}=0\\ {T}_{i}^{MEC},& {s}_{i}=1\end{array}$$
(14)

where \(S=\{{s}_{1},{s}_{2},\dots ,{s}_{n}\}\) is a combination of task offloading strategies in the search for minimizing energy consumption and \(\varphi \) is the coefficient of the penalty function. Constraint (11) represents that the energy consumption of task \(i\) performed on the MEC server or the MDs. Constraint (12) ensures that the computational capability of the MDs in processing tasks cannot exceed its maximum computational capability. Constraint (13) states that the total computational capability of all tasks on the MEC server cannot exceed the maximum computational capability that the server can withstand. Constraint (14) indicates that the time required to complete each task does not exceed the user’s maximum tolerable delay.

3 Approach Design

In the previous chapter, a multi-user MEC system model is constructed. By comparing the energy consumption of tasks at different locations, it is decided whether the task is either executed on the MDs or the MEC server and finally, the optimal offloading decision is found. As the amount of tasks continues to increase, the calculation process is too complicated and the number of combinations of offloading strategies increases exponentially. It is almost impossible to find the best offloading strategy directly through the enumeration method. The advantage of the heuristic algorithm is that it is more efficient than blind search. If a heuristic algorithm is meticulously improved, the optimal solution to an optimization problem can be obtained in a short time. In this paper, we propose a cooperative approach with joint consideration of the PSO-DE algorithm to minimize the energy of computation offloading. Since in the later stage of population evolution, all individuals in the PSO algorithm will move toward the optimal solution, which will cause the population diversity to decrease and fall into a local optimum. Therefore, the combination of mutation and crossover operations in the DE algorithm with PSO can enhance the diversity of the population and makes up for the low accuracy of the later optimization of the PSO algorithm.

3.1 Particle Swarm Optimization

The core idea of PSO comes from the behavior of imitating a flock of birds searching for food in an unknown space [15].

Suppose that in an \(N\)-dimensional search space, \(P\) particles are randomly generated as the initial population \({X}^{0}=\left\{{x}_{1},{x}_{2},\dots ,{x}_{M}\right\},x\in P\). The position of any particle \(i\) in the population can be expressed as \({x}_{i}=\{{x}_{i1},{x}_{i2},\dots ,{x}_{iN}\}\). The velocity of the particle can be expressed as \({v}_{i}=\{{v}_{i1},{v}_{i2},\dots ,{v}_{iN}\}\). The best position of the particle in the current search process, that is, the best individual \({p}_{besti}=\{{p}_{i1},{p}_{i2},\dots ,{p}_{iN}\}\). The best position of the particle in the entire population, that is, the global best \({g}_{best}=\{{g}_{b1},{g}_{b2},\dots ,{g}_{bN}\}\). During each iteration, the particle will update its position by tracking two extreme values (\({p}_{besti}\), \({g}_{best}\)), so the formulas for the particle’s velocity and position can be defined as

$${v}_{ij}^{t}=w*{v}_{ij}^{t-1}+c1*rand*\left({p}_{ij}-{x}_{ij}^{t-1}\right)+c2*rand*({g}_{bj}-{x}_{ij}^{t-1})$$
(15)
$${x}_{ij}^{t}={x}_{ij}^{t-1}+{v}_{ij}^{t-1}$$
(16)

where \(t\) is the number of current iterations, \(w\) is the inertia weighting factor, and \(w\ge 0.c1\), \(c2\) are learning factors, and \(rand\) is a random number from \([\mathrm{0,1}]\).

To avoid the premature phenomenon of particle swarm algorithm in the early search process, the linear weight reduction method [16] is introduced to avoid premature convergence in the early stage and fall into the local optimal solution.

$$w={w}_{max}-\frac{t*({w}_{max}-{w}_{min})}{{t}_{max}}$$
(17)

where \({w}_{max},{w}_{min}\) are the maximum and minimum inertia weights respectively. \(t,{t}_{max}\) are the current number of iterations and the maximum number of iterations respectively.

3.2 Differential Evolution

Storm et al. first proposed the DE algorithm in 1995. It is an efficient global optimization algorithm. The DE algorithm updates the population by performing operations such as mutation, crossover, and selection on the individuals according to the difference information between the individuals in the initial population [17]. In the iterative process, it retains the elite group by the rule of “survival of the fittest” and guides the entire optimization process to gradually approach the optimal solution.

Mutation Operation.

To balance the global and local optimization capabilities of the population, and improved mutation strategy is proposed. Combining the global optimal individual and the random individual in the population to form the basis vector provides an accurate search direction for the individual and also improves the convergence speed. To prevent premature convergence and other phenomena, the mutation factor \( F\) is changed to an adaptive mutation factor. In the early stage of population evolution, the value of \(F\) is very large. At this time, the population needs to expand to find the global optimal solution, which is beneficial to improve global searchability. As the number of iterations continues to increase, \(F\) gradually approaches \({F}_{0}\), which is beneficial to refine the search range and enhance local optimization capabilities. Individual \({x}_{i}^{t}\) performs mutation operation to generate a new individual \({m}_{i}^{t}\) based on the following formula:

$$\mu ={e}^{1-\frac{1}{1+\frac{1-t}{{t}_{max}}}}$$
(18)
$$F={F}_{0}*{2}^{\mu }$$
(19)
$${m}_{i}^{t}=\left(\alpha {g}_{best}^{t}+\beta {x}_{r1}^{t}\right)+F*({x}_{r2}^{t}-{x}_{r3}^{t})$$
(20)

where \(\alpha,\beta \, \epsilon \, [\mathrm{0, 1}]\) and \(\alpha +\beta =1.i\ne r1\ne r2\ne r3\) and \(i,r1,r2,r3\in [1,P]\cap {\mathbb{Z}}\). \({F}_{0}\) is mutation operator and \(F\in [{F}_{0},{2F}_{0}]\).

Crossover Operation.

To effectively enhance the global optimization capability and increase the diversity of the population, the new crossover individual \({u}_{i}^{t}\) is generated by the individual \({x}_{i}^{t}\) in the current population and the mutated individual \({m}_{i}^{t}\).

$${u}_{ij}^{t}=\{\begin{array}{cc}{m}_{ij}^{t},& if\, rand=CR \, or \, j={j}_{rand},\\ {x}_{ij}^{t},& otherwise.\end{array}$$
(21)

where \(j\in \{\mathrm{1,2},\dots ,n\}\), \({j}_{rand}\) is a random integer within the range [1, \(n\)], and \(CR\) is the crossover rate, which is a specific random number from [0, 1].

Selection Operation.

DE algorithm adopts the idea of the greedy algorithm, which calculates the fitness value of the original population individual \({X}^{t}\) and the population individual \({U}^{t}\) that undergoes mutation and crossover operations. Select the first P individuals with better fitness values to form the elite population \({X}^{t+1}\) as the parent of the next iteration and update the global optimal value and optimal solution.

3.3 The Task Offloading Strategy of the PSO-DE Algorithm

Coding Mode.

This paper uses binary coding mode to describe the task offloading decision. Suppose there are currently \(k\) tasks, that is, there are a total of \({2}^{k}\) task offloading strategies. \(S=\{{s}_{1},{s}_{2},\dots ,{s}_{k}\}\) represents one of the task offloading schemes (that is a particle). The problem of finding the optimal task offloading strategy is transformed into a problem of finding the vector \(S\) optimal solution. \({s}_{i}\) represents the position where task \(i\) is executed, and \({s}_{i}\in \left\{\mathrm{0,1}\right\}.\) Table 1 shows the relationship between the particle foraging process and the task offloading strategy.

Table 1. The relationship between particle foraging process and task offloading strategy

Fitness Function.

Each particle represents a feasible solution for the current task offloading, and the degree of the task offloading strategy is measured by calculating the fitness value of each particle. The optimization problem in this paper is to minimize the energy consumed by the task under the constraint of the user’s maximum tolerance time, so the fitness value of the particle is mainly affected by two factors, the delay, and energy consumption of the processing task. The greater the energy consumption to complete the task, the worse the optimization effect; the smaller the energy consumption, the better the optimization effect. The fitness function is defined as

$$fitness=\sum\nolimits_{i=1}^{n}{E}_{i}+\varphi *\sum\nolimits_{i=1}^{n}({T}_{i}-{T}_{max})$$
(22)

3.4 The Task Offloading Process of the PSO-DE Algorithm

This paper proposes the application of the PSO-DE algorithm to the optimal solution problem of task offloading strategy. The specific steps of the algorithm are as follows.

  • Step1: Randomly generate a population \({X}^{0}\) according to the individual particle’s dimension \(N\), particle code, population size \(P\), etc. Set relevant parameters of the PSO-DE algorithm, like \(c1,c2,{t}_{max},{F}_{0},CR,{w}_{max},{w}_{min}\).

  • Step2: Calculate the fitness value of each particle \(i\) according to formula (22) and record the global best position \({g}_{best}\) and its corresponding fitness value. (Note: The best \({p}_{besti}\) for each particle is the initial position of the particle).

  • Step3: Update the velocity and position of each dimension of particle \(i\) according to formulas (15)–(17), and check the boundaries of the velocity and position of each dimension of the particle.

  • Step4: Perform a mutation operation on the particle individual \({X}^{t}\) in the population according to formula (18)–(20) and check the boundaries of each dimension of the new particle individual. Finally, the population \({M}^{t}\) is formed.

  • Step5: Perform a crossover operation of individual \({X}^{t}\) and \({M}^{t}\) of the current population according to formula (21) and check the boundaries of each dimension of the new particle individual. Finally, the population \({U}^{t}\) is formed and the fitness of each particle of the population is calculated.

  • Step6: Sort the fitness value of each particle in the population \({X }^{t}\) and \({U}^{t}\) in descending order and select the first \(P\) individuals with lower fitness values as the initial population for the next iteration \({X}^{t+1}\). Update the best individual \({p}_{besti}^{t+1}\) and the global best \({g}_{best}^{t+1}\) and their fitness values respectively.

  • Step7: Determine whether the end condition is met. If not satisfied, go to step 3 and repeat steps 3–7. Otherwise, exit the loop and directly output the best task offloading strategy and the corresponding fitness value.

4 Experimental Results

In this section, we use simulation experiments to verify the performance of our proposed algorithm. We use Matlab2016a software for simulation. In simulations, we assume that the coverage area is an area with a radius of 100m centered on EMC and base stations. We set the particle swarm size \(P=30\), the maximum number of iterations \({t}_{max}=200\), crossover probability \(CR=0.9\), variation factor \({F}_{0}=0.8\), \({w}_{max}=0.9\), \({w}_{min}=0.4\), \(c1,\) and \(c2=1.5\). We assume that the data size \({D}_{i}\) of each task is ranging from 0.5 to 3MB.The number of CPU cycles required for each byte of each task \({c}_{i}\) is randomly generated from 500 to 1000 cycles. Computational capability and transmission power of the MD are generated from [0.5,1] GHz and [500, 600] mw. We set path loss factor \(\sigma =4\), \(W=4\) MHz, and \({N}_{0}={10}^{-11}\) mw/Hz [16]. Also, we set \({f}_{i}^{MEC}=4\) GHz, \({q}_{i}={10}^{-6}\) J/bit, \({T}_{i}^{max}=1\) s.

Compare the offloading strategy of the PSO-DE algorithm proposed in this paper with the local offloading strategy (all-local), MEC offloading strategy (all-MEC), and other algorithms like PSOA [5], LSWPSO [16], and DE.

Figure 2 shows that the relationship between the size of the task data and the average total energy consumption of the task. Due to the limitation of the computational capability of the MDs, when the amount of tasks continues to increase, the equipment will produce more energy consumption, so some tasks are more suitable to be offloaded to the MEC server for processing. The average energy consumption of offloading strategy of the PSO-DE algorithm proposed in this paper is much lower than the all-local and all-EMC offloading strategy. When the data size of each task is 1MB, compared with all-local, all-EMC, DE, PSOA and LSWPSO, and DE, the average energy consumption generated by the offloading strategy based on the PSO-DE algorithm is reduced by 54.09%, 26.08%, 14.05%, 11.80% and 9.7% respectively.

Fig. 2.
figure 2

The relationship between the data size of each task and the average total energy consumption

Fig. 3.
figure 3

The relationship between the number of tasks and the average total energy consumption of task

Figure 3 reflects the energy consumption of tasks when the number of tasks is different. As the number of tasks continues to increase, the average total energy consumption for executing tasks is also increasing. The average total energy consumption of all-local is still much higher than other offloading strategies. When the number of tasks is less than 15, the average total energy consumption of offloading strategy of the PSO-DE is not very obvious compared with the offloading schemes of other algorithms. But when the number of tasks is greater than 15, the optimization effect of the PSO-DE and other algorithms is gradually obvious, indicating that the algorithm is more suitable for solving the problem of multi-task offloading strategy optimization.

Figure 4 describes the change in the average total energy consumption of tasks under different time constraints. As the time constraint becomes larger, the average total energy consumption of various offloading strategies gradually slows down, and finally gradually stabilizes. Although the optimization effect of the three strategies of LSWPSO, DE, and PSO-DE is not obvious, the effect of the PSO-DE algorithm is still slightly better than other algorithms.

Fig. 4.
figure 4

The relationship between the time constraint and the average total energy consumption of the task

Fig. 5.
figure 5

Convergence analysis of various algorithms under different iteration times

Figure 5 describes the convergence analysis of various algorithms under different iteration times. As the number of algorithm iterations continues to increase, the average total energy consumption of each algorithm first drops rapidly, and finally gradually stabilizes. When the number of iterations is less than 20, the convergence speed of the three algorithms, PSOA, LWSPSO, and DE, is higher than that of the PSO-DE algorithm, but their optimization effects are not ideal. In particular, the fast convergence speed of the DE algorithm in the early stage leads to a decrease in population diversity and a local optimum. In contrast, the PSO-DE algorithm proposed in this paper has strong search capabilities and optimization capabilities.

5 Conclusion

In this paper, we study the problem of minimizing energy consumption in the process of multi-user offloading tasks to MDs or a MEC server and propose a multi-user and single MEC server computation offloading model that comprehensively considers time delay and energy consumption. To prevent the problem of time-to-energy consumption during task offloading, a penalty function is used to maintain the balance between time delay and energy consumption. And we propose an offloading strategy based on the PSO-DE. The algorithm converts the problem of finding the best offloading strategy into a process of particle foraging and introduces operations such as mutation, crossover, and selection in DE to increase the diversity of offloading strategies. Simulation experiment results show that the optimization effect of the offloading strategy of the PSO-DE proposed in this paper is better than other offloading strategies.