Improved crown porcupine multi-objective optimization task allocation method based on decentralized calculation

By constructing a decentralized computing network system model and task allocation model in a decentralized computing environment, combining Markov prediction and good point set to improve the crown porcupine optimization algorithm, the calculation complexity and local optimal solution problems in multi-objective optimization task allocation in a decentralized computing environment are solved, and efficient multi-objective optimization task allocation is achieved.

CN120018211APending Publication Date: 2025-05-16NANJING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510080274.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-17
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

The prior art is difficult to effectively solve the balance problem between the computational complexity and solution space exploration capabilities in multi-objective optimization task allocation in the dispersed computing environment, and ignores the optimization of the initial parameters of the algorithm, resulting in the algorithm converging to the local optimal solution prematurely.

Method used

A method of improving multi-objective optimization task allocation based on decentralized computing is proposed. By constructing a decentralized computing network system model and task allocation model, combining Markov prediction method to determine the communication status between nodes, and using the Good Point Set to improve the optimization algorithm of the Crown Porcupine to optimize the multi-objective problems of task completion delay, energy consumption and service quality.

Benefits of technology

Under limited resources and constraints, the calculation complexity of solving multi-objective optimization problems is reduced, the algorithm search accuracy is improved, and the optimal unloading strategy that meets the multi-objective needs of the task is quickly found.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120018211A_ABST
    Figure CN120018211A_ABST
Patent Text Reader

Abstract

The invention discloses an improved crown porcupine multi-objective optimization task allocation method based on decentralized computing, which is applied to the technical field of decentralized computing and comprises the following steps of: constructing a dynamically communicated decentralized computing network system model; building a resource, task, communication, time delay, energy consumption and service quality model; constructing a time, energy consumption and service quality multi-objective optimization problem model based on constraint conditions such as time delay, energy consumption, communication state and storage limitation; and constructing an improved crown porcupine optimization algorithm based on a good point set, and obtaining and implementing an optimal task allocation strategy. According to the method disclosed by the invention, real factors such as task diversity requirements, dynamic communication environments and heterogeneous resource bodies are fully considered, the global search capability of the algorithm can be improved under various constraint conditions, relatively low calculation complexity can be kept, and the optimal unloading strategy meeting the task multi-target requirements can be quickly found.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of distributed computing, and in particular to an improved crested porcupine multi-objective optimization task allocation method based on distributed computing. Background Art

[0002] With the rapid development of computer hardware and networks, the number and capabilities of computing resources such as storage, memory and processors have become increasingly abundant and powerful. In order to enable users to use the Internet to request computing on demand anytime and anywhere, the concept of cloud computing was proposed. However, as more and more access devices are connected to cloud servers, the network communication pressure in the cloud has greatly increased, and it cannot meet the growing latency requirements of users. A variety of computing resources are widely distributed at the edge of the network closer to the user. Using network edge computing resources close to the data source to provide computing services is an efficient method, and edge computing and fog computing have gradually developed. Compared with cloud computing, these two paradigms have achieved significant advantages in reducing latency and improving real-time performance, but in some specific scenarios (such as complex network topology, highly dynamic network links, or limited available resources), network throughput is limited and real-time response is not possible.

[0003] In order to make up for the shortcomings of the above computing paradigm, DARPA launched the Dispersed Computing (DCOMP) project in November 2017. As a resource-centric computing paradigm, it makes full use of the advantages of widely distributed computing resources, sinks the computing location of the task as much as possible, makes it closer to the data source, further reduces the computing processing delay, and improves the system throughput by performing data cooperative storage and forwarding calculations among multiple nodes near the data source. This paradigm abandons the traditional master-slave architecture and adopts a resource-centric architecture. All perceptible network computing nodes (Networked Computation Point, NCP) participate in the computing task process together, and each NCP is an entity that can perceive, access, and share execution information and resource information with each other. It can be a communication base station, car, smart phone, computer, router and other terminal devices. They are both the initiator and the executor of the task, and provide computing services to users in a fair and cooperative manner. It is based on this non-master-slave structure that makes it more scalable than the traditional computing paradigm, faster and more efficient in processing tasks, and more suitable for dynamic network environments.

[0004] At present, there are not many studies related to task allocation in distributed computing environments, especially multi-objective optimization research. Existing methods usually find it difficult to strike a good balance between the computational complexity of the algorithm and the ability to explore the solution space. In addition, most of these studies ignore the optimization of the initial parameters of the algorithm. In fact, if the quality of the initial population is not high or the diversity is insufficient, it will directly lead to the algorithm converging to the local optimal solution prematurely and forming a population aggregation phenomenon, and failing to find the global optimal solution. Therefore, there is an urgent need for a task allocation algorithm with low computational complexity and the ability to accurately and comprehensively search for feasible solutions and obtain multi-objective optimal solutions, so as to fill the gap in the research work on multi-objective optimization task scheduling in the field of distributed computing. Summary of the invention

[0005] In view of the shortcomings of existing research, the present invention proposes an improved crested porcupine multi-objective optimization task allocation method based on distributed computing, which can maintain a low computational complexity while improving the global search capability of the algorithm, and explore the multi-objective optimal unloading strategy for task completion delay, energy consumption and service quality.

[0006] The specific technical solution adopted by the present invention is as follows:

[0007] 1. An improved multi-objective optimization task allocation method for crested porcupine based on distributed computing, characterized in that it comprises the following steps:

[0008] S1. Construct a distributed computing network system model, wherein the distributed computing network system model is composed of a group of dynamically connected network computing nodes NCPs such as drones and mobile devices;

[0009] S2. Construct a task allocation model between resource bodies NCPs, wherein the task allocation model includes a task model, a resource model, a communication model, a delay model, an energy consumption model, and a service quality model;

[0010] S3. Construct and formulate a multi-objective optimization problem model to optimize task completion delay, energy consumption, and service quality under constraints such as specified time, energy consumption, communication distance, communication window period, and storage limit;

[0011] S4. Establish the crested porcupine optimization algorithm based on the improved good point set to solve the multi-objective problem formula to obtain the task allocation plan and implement it.

[0012] 2. An improved crested porcupine multi-objective optimization task allocation method based on distributed computing according to claim 1, characterized in that, in step S1, the communication status between each node is determined by a Markov prediction method, and the model state space is defined as:

[0013] E={E1,E2}

[0014] Among them, E1 means that communication is possible, E2 means that communication is impossible, and the state transition probability matrix is ​​defined as:

[0015]

[0016] Among them, p ij Indicated by state E i Change to state E j The state transition probability is defined as the initial probability vector π(0) = [1, 0], then the probability vector of the communication situation in the kth time slot is π(k) = π(0)P k The value of k is based on the number of time slots occupied by the maximum completion time of the full unloading of the current task. The basis for judging whether the NCP can continue to communicate is defined as follows:

[0017]

[0018] Where p2 is the second component of the obtained probability vector π(k), ξ is a random number that obeys the normal distribution, and when ξ is greater than or equal to the loss of connection probability, it means that the NCP will lose connection, otherwise the NCP will continue to communicate with the NCP that assigns the task.

[0019] 3. An improved crested porcupine multi-objective optimization task allocation method based on distributed computing according to claim 1, characterized in that step S2 comprises the following sub-steps:

[0020] S201. Construct a task model T, whose mathematical expression is as follows:

[0021] TS={T1,T2,…,T t}

[0022] In the formula, the task set TS of the current time slot of the system contains multiple tasks to be assigned, each task is represented by T i = <in i ,out i ,p i , i , exp i > indicates that, in i is the input data volume of the i-th task, out i is the output data volume of the i-th task, p i is the CPU computing cycle required per unit data volume, de i is the demand vector, which indicates the demand for delay, energy consumption, and service quality. i The maximum completion time allowed for the task;

[0023] S202. Construct a resource model R, whose mathematical expression is as follows:

[0024] NCPS = {NS1, NS2, ..., NS i}

[0025] In the formula, the set of computing resources that the system can provide in the current time slot NCPS includes multiple resource bodies, each of which is composed of NS i = <c i, d i , b i ,e i , cum i ,loc i > indicates that, where c i For NCP i Can provide CPU computing resources, i For NCP i Disk space available, b i For NCP i Can provide communication bandwidth, e i For NCP i The remaining energy, cum i For NCP i List of NCPs that can communicate, loc i = <x i ,y i > for NCP i Location;

[0026] S203. Construct a communication model V, whose mathematical expression is as follows:

[0027]

[0028] Where b ij NCP i Assigned to NCP j The bandwidth, p i NCP i The transmission power, σ 2 NCP i Gaussian white noise power, g ij NCP i and NCP j The channel gain between

[0029] S204. Construct a time delay model TT, whose mathematical expression is as follows:

[0030] TT=max{tu ikj +tp ikj +td jki}, k∈K

[0031] In the formula, tu ikj is the time consumption of resource body i uploading the kth part of data after the task to be assigned to resource body j, tpikj This is the processing time of this part of unloaded data, td jki The mathematical expressions for the result acceptance time of this part of the unloaded data are as follows:

[0032]

[0033] In the formula, pin k is the amount of uploaded data in the kth part after the task to be assigned is divided, satisfying c ji NCP j Assigned to NCP i If this part of the data adopts the local computing strategy, then tu ikj =0,td jki =0;

[0034] S205. Construct an energy consumption model TE, whose mathematical expression is as follows:

[0035]

[0036] In the formula, eu ikj is the energy consumption of uploading the kth part of the data in the current task, ep ikj is the energy consumption for computing this part of data, ed ikj The energy consumption of this part of the data is accepted, and its mathematical expressions are as follows:

[0037]

[0038] Where P ij is the transmitted or calculated power, which satisfies ε is a power consumption constant, C i NCP i The CPU clock frequency allocated for communication or data processing, t ikj is the time to transmit or process the kth part of data. If this part of data is calculated locally, then eu ikj =0,ed jki =0;

[0039] S206. Construct a service quality model TQ, whose mathematical expression is as follows:

[0040]

[0041] In the formula, Q ij For NCP i About NCP j The evaluation value of the past service quality is expressed as follows:

[0042]

[0043] In the formula, success ij is the number of times of cooperation and task offloading completed by both parties in history, and total ij is the total number of times of cooperation between both parties.

[0044] 4. An improved crown porcupine multi-objective optimization task allocation method based on decentralized computing according to claim 1, characterized in that, in step S3, it is necessary to ensure that task T t The size of each part of the task x k after division should be a non-negative number, that is, 0 ≤ pin k ≤ in t , Task T t The sum of the subtask data after division is less than or equal to the input data size of task T t , that is Task T t Each part of the task task k after division can be received by NCP j , that is All NCPs participating in the cooperation j and the NCP currently assigned the task i are within the communication range of each other, that is, Dist(N i , N j ) ≤ δ; all NCPs participating in the cooperation can keep the communication link from being interrupted before the task is completed, that is Complete the task within the maximum completion time constrained by task Ti, that is, TT < expi; all nodes NCPj performing calculations have sufficient remaining energy to execute the assigned task task k , that is, eu ikj + epikj +e d ikj < ej; Here, minimizing the maximum completion time of the task, minimizing the system energy consumption and maximizing the quality of service are used as optimization objectives. After normalization, a problem formula is obtained, and this formula is used as the fitness function of the improved crown porcupine optimization algorithm:

[0045]

[0046] In the formula, W is the multi-objective weight, which is a row vector with one row and three columns.

[0047] 5. An improved crown porcupine multi-objective optimization task allocation method based on decentralized computing according to claim 1, characterized in that, in step S4, the population initialization operation of the improved crown porcupine optimization algorithm is improved through the good point set theory, including the following sub-steps:

[0048] S401. Find the smallest prime number p that satisfies p≥2D+3, where D is the dimension of the solution space, that is, the number of NCPs that can maintain communication;

[0049] S402. Calculate R = (r1, r2, ..., r D ,) value, where r j =mod(2 cos(2πj / p)X i , 1 ), 1≤j≤D,X i is the i-th individual;

[0050] S403. Construct a good point set P containing N individuals N (i) = {(R1i1, R2i2, ..., R n i n )}, i=1,2,...D;

[0051] S404. Utilization Map the good point set to the feasible strategy space, where i = 1, 2, ... N, j = 1, 2, ... D, lb j Indicates the lower limit of the current dimension, up j Indicates the upper limit of the current dimension;

[0052] S405. Generate two random numbers 1 and 2 that obey uniform distribution. If the random number 1 is smaller than the random number 2, enter the exploration phase, otherwise enter the utilization phase;

[0053] S4061. When entering the exploration phase, two random numbers 3 and 4 are generated that obey uniform distribution. If the random number 3 is smaller than the random number 4, the first defense strategy is adopted, otherwise the second defense strategy is adopted;

[0054] The first defense strategy formula is:

[0055]

[0056] In the formula, is the position of the i-th individual in the t-th iteration, is the global optimal solution in the tth iteration, τ1 is a random number that obeys the normal distribution, τ2 is a random number between [0, 1], It is a vector generated by the current individual and a random individual in the population. Its mathematical expression is as follows:

[0057]

[0058] Where r is a random integer between [1, N];

[0059] The second defense strategy formula is:

[0060]

[0061] Where U1 is a D-dimensional random matrix consisting of only 0 and 1, r1 and r2 are both random integers between [1, N], τ3 is a random integer between [1, N], The definition is the same as the first defense strategy;

[0062] S4062. When entering the exploitation phase, a random number between [0,1] is generated that follows a uniform distribution. If the value is less than the defense trade-off ratio set by the algorithm, the third defense strategy is adopted, otherwise the fourth defense strategy is adopted;

[0063] The third defense strategy formula is:

[0064]

[0065] In the formula, r1, r2 and r3 is a random integer between [1, N], τ4 is a random number between [0, 1], U1 is a D-dimensional random matrix consisting of only 0 and 1, U2 is a D-dimensional random matrix consisting of only -1 and 1, rand is a random number between [0, 1]; t is the current iteration number, t max is the maximum number of iterations, rand is a random number between [0, 1], is the fitness function value of the ith individual in the tth iteration, σ is a very small value, which is used to avoid the divisor being 0;

[0066] The fourth defense strategy formula is:

[0067]

[0068] In the formula, is the optimal solution recorded in the tth iteration, τ5 and τ6 are random numbers between [0, 1], α is the convergence speed factor, τ7 is a random number between [0, 1], r4 is a random integer between [1, N], is the fitness function value of the ith individual in the tth iteration, σ is a very small value, which is used to avoid the divisor being 0;

[0069] S407. Update the global optimal solution and use the cyclic dynamic population adjustment mechanism to control the number of individuals in the population. The formula of this mechanism is:

[0070]

[0071] In the formula, N0 is the initial population size, T is the number of cycles, t is the current iteration round, and t max is the maximum number of iterations, Nmin is the minimum number of individuals in the population;

[0072] S408. Determine whether the configured maximum number of iterations has been reached. If so, output the individual with the smallest fitness function value as the unloading solution and implement it. Otherwise, return to step S405.

[0073] Compared with the prior art, the present invention has the following beneficial effects:

[0074] The present invention fully considers realistic factors such as task diversity requirements, dynamic communication environment and heterogeneous resource bodies when allocating tasks. It can reduce the computational complexity of solving multi-objective optimization problems under constraints such as limited resources, delay, energy consumption and communication conditions, and improve the algorithm search accuracy, so as to quickly find the optimal offloading strategy that meets the multi-objective requirements of the task. BRIEF DESCRIPTION OF THE DRAWINGS

[0075] Figure 1 It is a schematic diagram of a distributed computing network system model constructed by the present invention.

[0076] Figure 2 It is a flow chart of constructing the task allocation model of the present invention.

[0077] Figure 3 It is a flow chart of the crested porcupine optimization algorithm improved based on the good point set of the present invention. DETAILED DESCRIPTION

[0078] In order to highlight the technical solutions, objectives and advantages of the present invention, Figures 1 to 3 Further detailed description of the present invention is only to help those skilled in the art better understand and learn the implementation method of the present invention, and is not intended to limit the scope of protection of the present invention. Those skilled in the art may create various combinations and transformations based on the technical ideas disclosed in the present invention, which still fall within the scope of protection of the present invention.

[0079] As attached Figures 1 to 3 As shown, an improved multi-objective optimization task allocation method for crested porcupines based on distributed computing includes the following steps:

[0080] S1. Construct a distributed computing network system model, wherein the distributed computing network system model is composed of a group of dynamically connected network computing nodes NCPs such as drones and mobile devices;

[0081] S2. Construct a task allocation model between resource bodies NCPs, wherein the task allocation model includes a task model, a resource model, a communication model, a delay model, an energy consumption model, and a service quality model;

[0082] S3. Construct and formulate a multi-objective optimization problem model to optimize task completion delay, energy consumption, and service quality under constraints such as specified time, energy consumption, communication distance, communication window period, and storage limit;

[0083] S4. Establish the crested porcupine optimization algorithm based on the improved good point set to solve the multi-objective problem formula to obtain the task allocation plan and implement it.

[0084] In one embodiment of the present invention, the communication status between nodes is determined by a Markov prediction method, and the model state space is defined as:

[0085] E={E1,E2}

[0086] Among them, E1 means that communication is possible, E2 means that communication is impossible, and the state transition probability matrix is ​​defined as:

[0087]

[0088] Among them, p ij Indicated by state E i Change to state E j The state transition probability is defined as the initial probability vector π(0) = [1, 0], then the probability vector of the communication situation in the kth time slot is π(k) = π(0)P k The value of k is based on the number of time slots occupied by the maximum completion time of the full unloading of the current task. The basis for judging whether the NCP can continue to communicate is defined as follows:

[0089]

[0090] Where p2 is the second component of the obtained probability vector π(k), ξ is a random number that obeys the normal distribution, and when ξ is greater than or equal to the loss of connection probability, it means that the NCP will lose connection, otherwise the NCP will continue to communicate with the NCP that assigns the task.

[0091] In one embodiment of the present invention, step S2 includes the following sub-steps:

[0092] S201. Construct a task model T, whose mathematical expression is as follows:

[0093] TS={T1,T2,…,T t}

[0094] In the formula, the task set TS of the current time slot of the system contains multiple tasks to be assigned, each task is represented by T i = <in i ,out i , p i , i ,exp i> indicates that, in i is the input data volume of the i-th task, out i is the output data volume of the i-th task, p i is the CPU computing cycle required per unit data volume, de i is the demand vector, which indicates the demand for delay, energy consumption, and service quality. i is the maximum completion time allowed for the task, and these parameters are randomly generated within a certain range;

[0095] S202. Construct a resource model R, whose mathematical expression is as follows:

[0096] NCPS = {NS1, NS2, ..., NS i}

[0097] In the formula, the set of computing resources that the system can provide in the current time slot NCPS includes multiple resource bodies, each of which is composed of NS i = <c i , d i , b i ,e i , cum i ,loc i > indicates that, where c i For NCP i Can provide CPU computing resources, i For NCP i Disk space available, b i For NCP i Can provide communication bandwidth, e i For NCP i The remaining energy, cum i For NCP i List of NCPs that can communicate, loc i = <x i ,y i > for NCP i At the location, these parameters are randomly generated within a certain range;

[0098] S203. Construct a communication model V, whose mathematical expression is as follows:

[0099]

[0100] Where b ij NCP i Assigned to NCP j The bandwidth, p i NCP i The transmission power, σ 2 NCP i Gaussian white noise power, gij NCP i and NCP j The channel gain between , whose value depends on the corresponding NCP configuration;

[0101] S204. Construct a time delay model TT, whose mathematical expression is as follows:

[0102] TT=max{tu ikj +tp ikj +td jki}, k∈K

[0103] In the formula, tu ikj is the time consumption of resource body i uploading the kth part of data after the task to be assigned to resource body j, tp ikj This is the processing time of this part of unloaded data, td jki The mathematical expressions for the result acceptance time of this part of the unloaded data are as follows:

[0104]

[0105] In the formula, pin k is the amount of uploaded data in the kth part after the task to be assigned is divided, satisfying c ji NCP j Assigned to NCP i If this part of the data adopts the local computing strategy, then tu ikj =0,td jki =0;

[0106] S205. Construct an energy consumption model TE, whose mathematical expression is as follows:

[0107]

[0108] In the formula, eu ikj is the energy consumption of uploading the kth part of the data in the current task, ep ikj is the energy consumption for computing this part of data, ed ikj The energy consumption of this part of the data is accepted, and its mathematical expressions are as follows:

[0109]

[0110] Where P ij is the transmitted or calculated power, which satisfies ε is a power consumption constant, C i NCP i The CPU clock frequency allocated for communication or data processing, t ikjis the time to transmit or process the kth part of data. If this part of data is calculated locally, then eu ikj =0,ed jki =0;

[0111] S206. Construct a service quality model TQ, whose mathematical expression is as follows:

[0112]

[0113] In the formula, Q ij For NCP i About NCP j The evaluation value of the past service quality is expressed as follows:

[0114]

[0115] In the formula, success ij is the number of times the two parties have cooperated and completed task unloading in history, total ij is the total number of cooperations between the two parties, and all Q values ​​are initially 0.5.

[0116] In one embodiment of the present invention, in step S3, it is necessary to ensure that task T t Each task after division is x k The size of pin should be non-negative, that is, 0≤pin k ≤in t , Task T t The sum of the divided subtask data is less than or equal to task T t The input data size is Task T t Each task after division k Can be NCP j Receive, that is All participating NCPs j NCP with current assigned tasks i They are within the communication range, that is, Dist(N i , N j )≤δ; all NCPs participating in the cooperation j The communication link can be kept uninterrupted until the task is completed. In Task T i Complete the task within the maximum completion time of the constraint, that is, TT<exp i ; All nodes performing calculations NCP j There is enough remaining energy to perform the assigned task k , that is, eu ikj +ep ikj+ed ikj <e j Here, minimizing the maximum completion time of the task, minimizing the system energy consumption and maximizing the service quality are taken as the optimization objectives. After normalization operation, the problem formula is obtained and the formula is used as the fitness function of the improved crown porcupine optimization algorithm:

[0117]

[0118] Where W is the multi-objective weight, which is a row vector with one row and three columns, consisting of the task requirement vector.

[0119] In one embodiment of the present invention, in step S4, the population initialization operation of the crested porcupine optimization algorithm is improved by using the good point set theory, including the following sub-steps:

[0120] S401. Find the smallest prime number p that satisfies p≥2D+3, where D is the dimension of the solution space, that is, the number of NCPs that can maintain communication;

[0121] S402. Calculate R = (r1, r2, ..., r D ,) value, where r j =mod(2 cos(2πj / p)X i , 1), 1≤j≤D, X i is the i-th individual;

[0122] S403. Construct a good point set P containing N individuals N (i) = {(R1i1, R2i2, ..., R n i n )}, i=1,2,...D;

[0123] S404. Utilization Map the good point set to the feasible strategy space, where i = 1, 2, ... N, j = 1, 2, ... D, lb j Indicates the lower limit of the current dimension, up j Indicates the upper limit of the current dimension;

[0124] S405. Generate two random numbers 1 and 2 that obey uniform distribution. If the random number 1 is smaller than the random number 2, enter the exploration phase, otherwise enter the utilization phase;

[0125] S4061. When entering the exploration phase, two random numbers 3 and 4 are generated that obey uniform distribution. If the random number 3 is smaller than the random number 4, the first defense strategy is adopted, otherwise the second defense strategy is adopted;

[0126] The first defense strategy formula is:

[0127]

[0128] In the formula, is the position of the i-th individual in the t-th iteration, is the global optimal solution in the tth iteration, τ1 is a random number that obeys the normal distribution, τ2 is a random number between [0, 1], It is a vector generated by the current individual and a random individual in the population. Its mathematical expression is as follows:

[0129]

[0130] Where r is a random integer between [1, N];

[0131] The second defense strategy formula is:

[0132]

[0133] Where U1 is a D-dimensional random matrix consisting of only 0 and 1, r1 and r2 are both random integers between [1, N], τ3 is a random integer between [1, N], The definition is the same as the first defense strategy;

[0134] S4062. When entering the exploitation phase, a random number between [0, 1] is generated that follows a uniform distribution. If the value is less than the defense tradeoff ratio set by the algorithm, which is 0.8, the third defense strategy is adopted, otherwise the fourth defense strategy is adopted;

[0135] The third defense strategy formula is:

[0136]

[0137] Where r1, r2 and r3 are random integers between [1, N], τ4 is a random number between [0, 1], U1 is a D-dimensional random matrix consisting of only 0 and 1, U2 is a D-dimensional random matrix consisting of only -1 and 1, rand is a random number between [0, 1]; t is the number of current iterations, t max is the maximum number of iterations, rand is a random number between [0, 1], is the fitness function value of the ith individual in the tth iteration, σ is a very small value, which is 10 -8 , which is used to avoid the divisor being 0;

[0138] The fourth defense strategy formula is:

[0139]

[0140] In the formula, is the optimal solution recorded in the tth iteration, τ5 and τ6 are random numbers between [0, 1], α is the convergence speed factor, τ7 is a random number between [0, 1], r4 is a random integer between [1, N], is the fitness function value of the ith individual in the tth iteration, σ is a very small value, which is 10 -8 , which is used to avoid the divisor being 0;

[0141] S407. Update the global optimal solution and use the cyclic dynamic population adjustment mechanism to control the number of individuals in the population. The formula of this mechanism is:

[0142]

[0143] In the formula, N0 is the initial population size, which is 250, T is the number of cycles, which is 2, and t is the current iteration round. max is the maximum number of iterations, the value is 500, N min is the minimum number of individuals in the population, and its value is 200;

[0144] S408. Determine whether the configured maximum number of iterations, i.e., 500 rounds, has been reached. If so, output the individual with the smallest fitness function value as the unloading plan and implement it. Otherwise, return to step S405.

[0145] The above embodiment is a case description for this application, and its purpose is to help those skilled in the art better understand and learn the implementation method of the present invention, and it is not intended to limit the scope of protection of the present invention. Those skilled in the art may create various combinations and transformations based on the technical ideas disclosed in the present invention, which still fall within the scope of protection of the present invention.

Claims

1. An improved multi-objective optimization task allocation method for crested porcupine based on distributed computing, characterized in that: The following steps are involved: S1. Construct a distributed computing network system model, wherein the distributed computing network system model is composed of a group of dynamically connected network computing nodes NCPs such as drones and mobile devices; S2. Construct a task allocation model between resource bodies NCPs, wherein the task allocation model includes a task model, a resource model, a communication model, a delay model, an energy consumption model, and a service quality model; S3. Construct and formulate a multi-objective optimization problem model to optimize task completion delay, energy consumption, and service quality under constraints such as specified time, energy consumption, communication distance, communication window period, and storage limit; S4. Establish the crested porcupine optimization algorithm based on the improved good point set to solve the multi-objective problem formula to obtain the task allocation plan and implement it.

2. An improved multi-objective optimization task allocation method for crested porcupines based on distributed computing according to claim 1, characterized in that: In step S1, the communication status between nodes is determined by the Markov prediction method, and the state space of the model is defined as: E={E1,E2} Among them, E1 means that communication is possible, E2 means that communication is impossible, and the state transition probability matrix is ​​defined as: Among them, p ij Indicated by state E i Change to state E j The state transition probability is defined as the initial probability vector π(0) = [1, 0], then the probability vector of the communication situation in the kth time slot is π(k) = π(0)P k The value of k is based on the number of time slots occupied by the maximum completion time of the full unloading of the current task. The basis for judging whether the NCP can continue to communicate is defined as follows: Where p2 is the second component of the obtained probability vector π(k), ξ is a random number that obeys the normal distribution, and when ξ is greater than or equal to the loss of connection probability, it means that the NCP will lose connection, otherwise the NCP will continue to communicate with the NCP that assigns the task.

3. The improved multi-objective optimization task allocation method for crested porcupines based on distributed computing described in claim 1 is characterized in that: Step S2 includes the following sub-steps: S201. Construct a task model T, whose mathematical expression is as follows: TS={T1,T2,…,T t ] In the formula, the task set TS of the current time slot of the system contains multiple tasks to be assigned, each task is represented by T i =<in i ,out i , p i , i ,exp i > indicates that, in i is the input data volume of the i-th task, out i is the output data volume of the i-th task, p i is the CPU computing cycle required per unit data volume, de i is the demand vector, which indicates the demand for delay, energy consumption, and service quality. i The maximum completion time allowed for the task; S202. Construct a resource model R, whose mathematical expression is as follows: NCPS = {NS1, NS 2, …, NS i ] In the formula, the set of computing resources that the system can provide in the current time slot NCPS includes multiple resource bodies, each of which is composed of NS i =<c i , d i , b i , e i ,cum i ,loc i > indicates that, among them, c i For NCP i Can provide CPU computing resources, i For NCP i Disk space available, b i For NCP i Can provide communication bandwidth, e i For NCP i The remaining energy, cum i For NCP i List of NCPs that can communicate, loc i = < x i ,y i >For NCP i Location; S203. Construct a communication model V, whose mathematical expression is as follows: Where b ij NCP i Assigned to NCP j The bandwidth, p i NCP i The transmission power, σ 2 NCP i Gaussian white noise power, g ij NCP i and NCP j The channel gain between S204. Construct a time delay model TT, whose mathematical expression is as follows: TT=max{tu ikj +tp ikj +td jki },k∈K In the formula, tu ikj is the time consumption of resource body i uploading the kth part of data after the task to be assigned to resource body j, tp ikj This is the processing time of this part of unloaded data, td jki The mathematical expressions for the result acceptance time of this part of the unloaded data are as follows: In the formula, pin k is the amount of uploaded data in the kth part after the task to be assigned is divided, satisfying c ji NCP j Assigned to NCP i If this part of the data adopts the local computing strategy, then tu ikj =0,td jki =0; S205. Construct an energy consumption model TE, whose mathematical expression is as follows: In the formula, eu ikj is the energy consumption of uploading the kth part of the data in the current task, ep ikj is the computational energy consumption of this part of data, ed ikj The energy consumption of this part of the data is accepted, and its mathematical expressions are as follows: Where P ij , is the transmission or computation power, which satisfies ε is a power consumption constant, C i NCP i The CPU clock frequency allocated for communication or data processing, t ikj , is the time to transmit or process the kth part of data. If this part of data is calculated locally, then eu ikj =0,ed jki =0; S206. Construct a service quality model TQ, whose mathematical expression is as follows: In the formula, Q ij For NCP i About NCP j The evaluation value of the past service quality is expressed as follows: In the formula, success ij is the number of times the two parties have cooperated and completed task unloading in history, total ij The total number of cooperations between the two parties.

4. The improved multi-objective optimization task allocation method for crested porcupines based on distributed computing described in claim 1 is characterized in that: In step S3, it is necessary to ensure that task T t Each task after division is x k The size of should be non-negative, i.e. Task T t The sum of the divided subtask data is less than or equal to task T t The input data size is Task T t Each task after division k Can be NCP j Receive, that is All participating NCPs j NCP with current assigned tasks i They are within the communication range, that is, Dist(N i , N j )≤δ; all NCPs participating in the cooperation j The communication link can be kept uninterrupted until the task is completed. In Task T i Complete the task within the maximum completion time of the constraint, that is, TT <exp i ; All nodes performing calculations NCP j There is enough remaining energy to perform the assigned task k , that is, eu ikj +ep ikj +ed ikj <e f Here, minimizing the maximum completion time of the task, minimizing the system energy consumption and maximizing the service quality are taken as the optimization objectives. After normalization operation, the problem formula is obtained and the formula is used as the fitness function of the improved crown porcupine optimization algorithm: Where W is the multi-objective weight, which is a row vector with one row and three columns.

5. The improved multi-objective optimization task allocation method for crested porcupines based on distributed computing according to claim 1 is characterized in that: In step S4, the population initialization operation of the crested porcupine optimization algorithm is improved by using the good point set theory, including the following sub-steps: S401. Find the smallest prime number p that satisfies p≥2D+3, where D is the dimension of the solution space, that is, the number of NCPs that can maintain communication; S402. Calculate R = (r1, r2, ..., r D ,) value, where r j =mod(2cos(2πj / p)X i , 1), 1≤j≤D, X i is the i-th individual; S403. Construct a good point set P containing N individuals N (i) = {(R1i1, R2i2, ..., R n i n )}, i=1, 2, ... D; S404. Utilization Map the good point set to the feasible strategy space, where i = 1, 2, ... N, j = 1, 2, ... D, lb j Indicates the lower limit of the current dimension, up j Indicates the upper limit of the current dimension; S405. Generate two random numbers 1 and 2 that obey uniform distribution. If the random number 1 is smaller than the random number 2, enter the exploration phase, otherwise enter the utilization phase; S4061. When entering the exploration phase, two random numbers 3 and 4 are generated that obey uniform distribution. If the random number 3 is smaller than the random number 4, the first defense strategy is adopted, otherwise the second defense strategy is adopted; The first defense strategy formula is: In the formula, is the position of the i-th individual in the t-th iteration, is the global optimal solution in the tth iteration, τ1 is a random number that obeys the normal distribution, τ2 is a random number between [0, 1], It is a vector generated by the current individual and a random individual in the population. Its mathematical expression is as follows: Where r is a random integer between [1, N]; The second defense strategy formula is: Where U1 is a D-dimensional random matrix consisting of only 0 and 1, r1 and r2 are both random integers between [1, N], τ3 is a random integer between [1, N], The definition is the same as the first defense strategy; S4062. When entering the exploitation phase, a random number between [0,1] is generated that follows a uniform distribution. If the value is less than the defense trade-off ratio set by the algorithm, the third defense strategy is adopted, otherwise the fourth defense strategy is adopted; The third defense strategy formula is: Where r1, r2 and r3 are random integers between [1, N], τ4 is a random number between [0, 1], U1 is a D-dimensional random matrix consisting of only 0 and 1, U2 is a D-dimensional random matrix consisting of only -1 and 1, rand is a random number between [0, 1]; t is the current iteration number, t max is the maximum number of iterations, rand is a random number between [0,1], is the fitness function value of the ith individual in the tth iteration, σ is a very small value, which is used to avoid the divisor being 0; The fourth defense strategy formula is: In the formula, is the optimal solution recorded in the tth iteration, τ5 and τ6 is a random number between [0,1], α is the convergence speed factor, τ7 is a random number between [0,1], r4 is a random integer between [1,N], is the fitness function value of the ith individual in the tth iteration, σ is a very small value, which is used to avoid the divisor being 0; S407. Update the global optimal solution and use the cyclic dynamic population adjustment mechanism to control the number of individuals in the population. The formula of this mechanism is: In the formula, N0 is the initial population size, T is the number of cycles, t is the current iteration round, and t max is the maximum number of iterations, N min is the minimum number of individuals in the population; S408. Determine whether the configured maximum number of iterations has been reached. If so, output the individual with the smallest fitness function value as the unloading solution and implement it. Otherwise, return to step S405.