Collaboration-based crowd-sensing task allocation method
By dividing the system into regions and selecting group leaders, and utilizing an improved t-swarm optimization algorithm and an adaptive t-distribution mutation operator, task allocation is optimized, solving the problems of low efficiency and low accuracy in task allocation in the swarm intelligence sensing system. This achieves the minimization of task completion time and the balance of user task load.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HEBEI UNIV OF TECH
- Filing Date
- 2022-12-22
- Publication Date
- 2026-04-17
AI Technical Summary
Existing crowd-sensing task allocation methods are inefficient and inaccurate, making it difficult to allocate tasks reasonably while taking into account users' processing speed and proficiency, resulting in poor task quality and completion time.
By dividing the crowd-sensing scenario into multiple regions and selecting a group leader for each group, an objective function is constructed using an improved tuna swarm optimization algorithm and an adaptive t-distribution mutation operator to optimize task allocation, taking into account the balance between task deadlines, user task load, and processing speed.
It effectively reduced the overall task completion time, improved the accuracy of task allocation and the balance of user task load, and reduced operating costs.
Smart Images

Figure CN115907419B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of crowd sensing technology, and in particular relates to a crowd sensing task allocation method based on proficiency collaboration. Background Technology
[0002] Crowdsourcing sensing refers to using intelligent terminals as basic sensing units, leveraging their computing and sensing capabilities to perceive surrounding information or complete certain tasks, and solving large-scale and complex problems through collection and distribution. Unlike traditional sensing technologies that rely on professionals and equipment, mobile crowdsourcing sensing relies more on a large number of ordinary users. Ordinary users serve as the sensing source, utilizing their portable intelligent mobile terminals such as smartphones and wearable devices. This relies on their widespread distribution, flexible mobility, and opportunistic connectivity to form a large-scale, ubiquitous sensing system closely related to people's daily lives, providing intelligent auxiliary support for urban and social management. Crowdsourcing sensing can be applied in many important fields, such as intelligent transportation, public safety, social recommendation, environmental monitoring, and urban public management. Task allocation is the foundation of crowdsourcing sensing; its purpose is to find an optimal task allocation scheme that satisfies several constraints in a stochastic environment.
[0003] The general process of task allocation is as follows: task requesters publish tasks through a sensing platform, the platform assigns tasks to specific users, and users upload sensing data to the platform after completing the tasks. Existing technologies typically rely on dedicated task allocation personnel. After receiving and confirming a task, these personnel manually allocate tasks based on the specific problem and target. This allocation method is not only inefficient and unsuitable for handling large numbers of complex tasks, but also lacks accuracy, making it difficult to find the optimal allocation method. Currently, task allocation in crowdsourcing sensing mainly falls into two categories: allocation based on quality or cost, and allocation based on distance. Distance-based allocation assigns tasks to nearby users. If task requesters publish too many tasks in close proximity, it may lead to one or more users having too many sensing tasks to perform, resulting in decreased task quality or failure to complete tasks within the allotted time. Furthermore, users have limited time to complete tasks; therefore, how to rationally allocate tasks to users so that they can complete more tasks within a limited time is a problem that crowdsourcing sensing systems need to solve. Sensing tasks often have time-sensitive requirements, and the processes of user movement and task completion all require time. Existing crowd-sensing methods do not take into account user processing speed when assigning tasks. User processing speed is related to user proficiency and device processing speed. An increase in user processing speed means an increase in sensing speed, that is, less time is required to complete the sensing task.
[0004] This invention proposes a group-based intelligent perception task allocation method based on proficiency collaboration. When the number of user tasks suddenly increases, the tasks are redistributed. This not only disperses the sudden increase in user tasks, but also strives to minimize the overall task completion time while balancing the amount of tasks and processing speed of each user, thereby effectively reducing operating costs. Summary of the Invention
[0005] To address the shortcomings of existing technologies, the technical problem this invention aims to solve is to provide a method for collective intelligence-based task allocation based on proficiency collaboration.
[0006] The technical solution of the present invention to solve the aforementioned technical problem is as follows:
[0007] A method for group-based intelligent perception task allocation based on proficiency collaboration, characterized by the following steps:
[0008] Step 1: Divide the crowd perception scene into multiple areas, and divide the users in each area into a group. Select a group leader for each group to be responsible for task allocation within the group.
[0009] Step 2: The task publisher issues tasks to the perception platform, which then distributes the tasks to users based on their proximity and sends their respective task sets to each user. Users sort the tasks from earliest to latest according to their deadlines to obtain a task queue. When a user receives a new task, the new task is inserted into the task queue according to its deadline.
[0010] Step 3: When the user's workload does not suddenly increase, the user executes tasks in the order of the task queue; when the workload suddenly increases, the user sends the task queue to the team leader and executes Step 4; if the team leader's own workload suddenly increases, the team leader reports to the perception platform and requests assistance from nearby user groups; a sudden increase in workload means that the ratio of the user's pending tasks to the processing speed is greater than a set threshold.
[0011] Step 4: Treat the task queue as a population, and each task as an individual in the population; use swarm intelligence algorithms to find the global optimal solution of the objective function, and allocate tasks based on the global optimal solution;
[0012] The expression for the objective function is:
[0013] F = min(aT + bS) task +cS vel )
[0014] Where T represents the time required to complete all tasks, and S... task S represents the standard deviation of the total number of tasks to be completed by all users in the group. vel The standard deviation of the processing speed of all users in the group is represented by a, b, and c, which are all weighting factors, and a+b+c=1.
[0015] The time T required to complete all tasks is expressed as:
[0016]
[0017]
[0018] time_task i,j =length_task i,j / vel_u i
[0019]
[0020]
[0021] in, Indicates user u i The time required to complete all tasks, where n represents the number of users, and time_task i,j Indicates user u i Complete the task i,j The required time, m represents the number of tasks, and length_task i,j Indicates task i,j The amount of work, vel_u i Indicates user u i The processing speed, prof_u i Indicates user u i proficiency, vel_u i 'Indicates the updated user u i The processing speed, prof_u i 'Indicates the updated user u i The proficiency level, where ρ≥1 represents the update coefficient;
[0022] The standard deviation S of the total number of tasks to be completed by all users in the group task and the standard deviation of processing speed S vel They are represented as follows:
[0023]
[0024]
[0025] In the formula, tasklength_u i , tasklength_avg represent user u i The number of tasks to be completed and the average number of tasks to be completed by all users in the group. vel_avg represents the average processing speed of all users in the group.
[0026] Furthermore, the swarm intelligence algorithm is a tuna swarm optimization algorithm, an improved tuna swarm optimization algorithm, a particle swarm algorithm, or an improved particle swarm algorithm.
[0027] Furthermore, the objective function is optimized using an improved tuna swarm optimization algorithm, including the following:
[0028] First, randomly initialize the individual positions;
[0029] Then, generate random numbers to update the positions of all individuals, and obtain the global optimal individual and the global optimal solution for the current iteration number; add the explosion operator to the remaining individuals except the global optimal individual to generate explosion sparks; that is, generate a random number e_r1 between 0 and 1. If e_r1 > 0.5, then generate a random number e_r2 between 0 and 1, and generate explosion sparks according to the following formula.
[0030]
[0031] If e_r1≤0.5, generate a random number e_r3 between 0 and 1, and generate the explosion spark according to the following formula;
[0032]
[0033] a1=α+(1-α)·C
[0034] a2=(1-α)-(1-α)·C
[0035] β=e bl ·cos(2πb)
[0036]
[0037] In the formula, ex g (t+1), ex g (t) represents the g-th explosion spark generated in the (t+1)-th and t-th iterations, respectively, 1≤g≤G, where G represents the number of explosion sparks generated by each individual; a1 and a2 are weighting coefficients controlling the individual's movement trend towards the optimal individual and the previous individual, respectively, x rand (t), x rand (t-1) represent the reference points randomly generated in the search space during the t-th and t-1-th iterations, respectively, x best (t), x best (t-1) represent the globally optimal individuals obtained in the t-th and t-1-th iterations, respectively, and C represents the current iteration number and the maximum iteration number t. max The ratio, b∈(0,1) represents a random number, r3 represents a random number generated by the tuna school during the parabolic feeding phase, TF represents a random number taking the value -1 or 1, A kThe blast radius;
[0038] The formula for calculating the explosion radius is as follows:
[0039]
[0040] p = (1 - C) C
[0041] Among them, fitness k Let fitness be the fitness value of the k-th individual in the current iteration. Best The optimal fitness value is represented by ε, which indicates the minimum value that can be represented by the specified floating-point number type.
[0042] Controlling the position boundaries, the above process is repeated to generate explosion sparks for all individuals except the globally optimal individual while updating the individual position and the global optimal solution, until each individual generates a certain number of explosion sparks; the fitness value of each explosion spark is calculated, and the position of the explosion spark whose fitness value is closest to the optimal fitness value is selected as the optimal position of the individual.
[0043] Next, an adaptive t-distribution mutation is performed on each individual obtained by the explosion operator, and all individuals except the globally optimal individual obtain the optimal position after mutation.
[0044] Finally, randomly select some individuals from the population to undergo adaptive t-distribution mutation, calculate the fitness value of the mutated individuals, and update the fitness value and position of the mutated individuals if the fitness value of the mutated individuals is better, and update the global optimal solution and the global optimal individual.
[0045] Repeat the above process until the optimization accuracy is reached and the global optimal solution is obtained.
[0046] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0047] (1) In order to disperse the sudden increase in user tasks, this invention comprehensively considers factors such as task deadline, completion time, user proficiency, and device processing speed to construct an optimized objective function; by solving the objective function, the optimal execution order of tasks is obtained, which strives to minimize the overall task completion time while taking into account the balance of task volume and processing speed of each user, thereby effectively reducing operating costs.
[0048] (2) This invention draws upon the Fireworks Algorithm and the t-distribution mutation of the degree-of-freedom parameters with the number of iterations as t, and improves the Tuna Swarm Optimization Algorithm by adding an explosion operator and a mutation operator. The improved Tuna Swarm Optimization Algorithm is then used for swarm intelligence sensing task allocation. The explosion concept of the Fireworks Algorithm enhances the development capability of the Tuna Swarm Optimization Algorithm. The t-distribution mutation of the degree-of-freedom parameters with the number of iterations as t perturbs the position of individuals, enabling the algorithm to have better global development capability in the early stages of iteration and better local exploration capability in the later stages. This also improves the convergence speed of the algorithm, avoids getting trapped in local optima, and improves allocation accuracy. Attached Figure Description
[0049] Figure 1 This is an overall flowchart of the present invention;
[0050] Figure 2 The flowchart is the improved tuna swarm optimization algorithm of the present invention;
[0051] Figure 3 This is a flowchart illustrating the generation of explosive sparks according to the present invention;
[0052] Figure 4 This is a flowchart of the t-distribution variation of the present invention;
[0053] Figure 5 The algorithms in the embodiments of the present invention are tested in a single-peak test function. The convergence curve below;
[0054] Figure 6 The algorithms in the embodiments of the present invention are tested in a multi-peak test function. The convergence curve below;
[0055] Figure 7 The algorithms in the embodiments of the present invention are tested in a multi-peak test function. The convergence curve below;
[0056] Figure 8 The algorithms in the embodiments of the present invention are tested in a multi-peak test function. The convergence curve below;
[0057] Figure 9 A graph showing the comparison of the time required for various algorithms to complete tasks under different numbers of users. Detailed Implementation
[0058] Specific embodiments of the present invention are given below. These specific embodiments are only used to further illustrate the technical solution of the present invention and do not limit the scope of protection of this application.
[0059] This invention provides a method for group intelligence perception task allocation based on proficiency collaboration (hereinafter referred to as the method, see below). Figures 1-9 This includes the following steps:
[0060] Step 1: Deploy the crowd-sensing system in the crowd-sensing scenario. The crowd-sensing system includes a sensing platform and users. The sensing platform acts as an intermediary platform for receiving and issuing tasks. The set of all users is denoted as U = {u1, u2, ..., u...} i ,…,u n}, where n represents the number of users; the crowd sensing scenario is divided into multiple areas, and the users in each area are divided into a group; for each group of users, based on proficiency and device processing speed, the user with the strongest overall ability is selected as the group leader, who is responsible for scheduling and allocating tasks within the group;
[0061] Step 2: The task publisher issues tasks to the perception platform, which then distributes the tasks to users based on proximity and sends each user their respective task set; User u i The set of tasks is denoted as task. i ={task i,1 ,task i,2 ,…,task i,j ,…,task i,m}, where task i,j Indicates user u i The j-th task, m represents the size of the task set, i.e., the number of tasks in the task set; the number of tasks received by each user is different, and the tasks are independent of each other and have no dependency relationship.
[0062] Users sort tasks according to their deadlines from earliest to latest, thus creating a task queue; when a user receives a new task, the new task is inserted into the task queue according to its deadline.
[0063] Step 3: When a user's workload does not suddenly increase, the user executes tasks in the order of the task queue. When the workload suddenly increases, the user sends the task queue to the group leader and executes Step 4. If the group leader's workload suddenly increases, the group leader reports to the perception platform and requests assistance from nearby user groups. A sudden increase in workload means that the ratio of a user's pending tasks to processing speed is greater than a set threshold.
[0064] Step 4: After receiving the user's task queue, the team leader allocates tasks using the improved Tuna Swarm Optimization Algorithm. This involves transforming the task allocation problem into a mathematical optimization problem, designing the objective function of the optimization problem, and using the objective function as the fitness function of the improved Tuna Swarm Optimization Algorithm. The objective function is then optimized to obtain the global optimal solution. Tasks are then allocated based on the global optimal solution.
[0065] This invention comprehensively considers the time required to complete all tasks in the task queue, the amount of tasks to be completed by the user, and the user's processing speed to construct an objective function, the expression of which is:
[0066] F = min(aT + bS) task +cS vel (1)
[0067] Where T represents the time required to complete all tasks in the task queue, and S... task S represents the standard deviation of the total number of tasks to be completed by all users in the group. vel The standard deviation of the processing speed of all users in the group is represented by a, b, and c, which are all weighting factors, and a+b+c=1.
[0068] Since users within a group complete their tasks simultaneously, the time required to complete all tasks in the task queue is the maximum time required for each user to complete all their individual tasks. The time a user takes to complete a task is related to their proficiency and processing speed, as shown in the following expression:
[0069]
[0070]
[0071] time_task i,j =length_task i,j / vel_u i (4)
[0072]
[0073]
[0074] in, Indicates user u i The time required to complete all of your tasks, time_task i,j Indicates user u i Complete the task i,j The required time, length_task i,j Indicates task i,j Workload size; vel_u i Indicates user u i The processing speed is related to the processing speed of the user's device and the user's proficiency; it will update as proficiency increases. i Indicates user u i The proficiency level updates as the user completes more tasks, and stops increasing once it reaches 1; vel_u i 'Indicates the updated user u i The processing speed, prof_u i 'Indicates the updated user u iThe proficiency level, where ρ≥1 represents the update coefficient;
[0075] A crowd-sensing system needs to consider the balance between the amount of tasks to be completed among users and the balance between processing speeds among users. Using standard deviation as a metric, the standard deviation S of the amount of tasks to be completed by all users is... task and the standard deviation of processing speed S vel The calculation formula is as follows:
[0076]
[0077]
[0078] In the formula, tasklength_u i , tasklength_avg represent user u i The number of tasks to be completed and the average number of tasks to be completed by all users in the group. vel_avg represents the average processing speed of all users in the group.
[0079] The task queue is treated as a tuna swarm, and each task is represented as an individual tuna. Therefore, the number of individuals in the swarm is equal to the number of tasks, m. An improved tuna swarm optimization algorithm is used to optimize the individual positions, obtaining the globally optimal solution, i.e., the globally optimal solution for task allocation. The specific steps are as follows:
[0080] S4.1 Initialize parameters, including the maximum number of iterations t max The population size, number of explosion sparks G, population mutation rate, and parameter α used to determine the degree to which tuna follow the optimal individual and the previous individual in the initial stage; random initialization of individual positions;
[0081] S4.2. Generate a random number r1∈(0,1). If r1>0.5, enter the spiral foraging stage and execute step S4.3; if r1≤0.5, enter the parabolic foraging stage and execute step S4.4.
[0082] S4.3. In the spiral foraging phase, firstly, a random number r2∈(0,1) is generated. If r2<C, then a broad global exploration phase is entered to update the individual's position; if r2≥C, then a precise local development phase is entered to update the individual's position; C=t / t max This represents the ratio of the current iteration count to the maximum iteration count, where t represents the current iteration count.
[0083] The extensive global exploration phase uses formula (9) to update individual positions, while the precise local development phase uses formula (10) to update individual positions.
[0084]
[0085]
[0086] a1=α+(1-α)·C(11)
[0087] a2=(1-α)-(1-α)·C(12)
[0088] β=e bl ·cos(2πb)(13)
[0089]
[0090] In the formula, x k (t+1),x k (t) represents the k-th individual in the (t+1)-th and t-th iterations, respectively, x rand (t), x rand (t-1) represent the reference points randomly generated in the search space during the t-th and t-1-th iterations, respectively, x best (t), x best (t-1) represent the globally optimal individuals obtained in the t-th and t-1-th iterations, respectively; a1 and a2 are weight coefficients that control the movement trend of individuals towards the optimal individual and the previous individual; b∈(0,1) represents a random number.
[0091] S4.4 During the parabolic foraging phase, tuna not only forage parabolically but also cooperate foraging, and the probability of choosing both methods is 50%; generate random numbers r3∈(0,1) and update the individual position using equation (15);
[0092]
[0093] p = (1 - C) C (16)
[0094] In the formula, TF represents a random number that takes the value of -1 or 1;
[0095] S4.5. Control the position boundary, repeat steps S4.2 to S4.4, iteratively update the position of all individuals in the population until the position of all individuals has been updated, and obtain the global optimal individual and the global optimal solution for the current iteration;
[0096] S4.6 To enhance the algorithm development capability, based on the global optimal solution of the current iteration, a better solution with a better fitness value is found near the global optimal solution. Drawing on the explosion idea of the fireworks algorithm, an explosion operator is added to the individuals other than the global optimal individual to generate explosion sparks.
[0097] The specific process of generating the explosion spark is as follows: generate a random number e_r1 between 0 and 1. If e_r1 > 0.5, generate a random number e_r2 between 0 and 1 and generate the explosion spark according to formula (17); if e_r1 ≤ 0.5, generate a random number e_r3 between 0 and 1 and generate the explosion spark according to formula (18).
[0098]
[0099]
[0100] In the formula, ex g (t+1), ex g (t) represents the g-th explosion spark generated in the (t+1)-th and t-th iterations, respectively, 1≤g≤G, where G represents the number of explosion sparks generated by each individual;
[0101] A k The explosion radius, calculated using the fitness value of the k-th individual in the current iteration, is the explosion radius centered on the k-th individual. The formula for calculating the explosion radius is as follows:
[0102]
[0103] Among them, fitness k Let fitness be the fitness value of the k-th individual in the current iteration. Best The optimal fitness value is represented by ε, which indicates the minimum value that can be represented by the specified floating-point number type.
[0104] S4.7 Controlling the position boundaries, repeat steps S4.2 to 4.6 to generate explosion sparks for all individuals except the globally optimal individual while updating the individual positions and the global optimal solution, until each individual has generated G explosion sparks; calculate the fitness value of each explosion spark, and select the position of the explosion spark whose fitness value is closest to the optimal fitness value as the individual's optimal position; at this point, each individual in the population has obtained an optimal position;
[0105] S4.8 To increase population diversity and avoid getting trapped in local optima, an adaptive t-distribution mutation operator is added. The t-distribution is also called the student distribution. Each individual obtained by the explosion operator is mutated using an adaptive t-distribution. The adaptive t-distribution is a t-distribution with the number of iterations as the degree of freedom. Except for the globally optimal individual, all other individuals obtain the optimal position after mutation.
[0106] S4.9 Set the mutation probability of the population, randomly select H individuals from the population that need to be mutated, and then perform adaptive t-distribution mutation on the H individuals according to the following formula to obtain the positions of these H individuals after mutation;
[0107] xh =x h0 ·trnd(t)(20)
[0108] In equation (20), trnd represents a random number distributed by a t-distribution with the number of iterations as its degrees of freedom, and x h0 x h These represent the positions of the h-th individual among H individuals before and after the mutation, respectively;
[0109] S4.10 If the fitness value of the mutated individual is better, update the fitness value and position coordinates of the individual, and update the global optimal solution and the global optimal individual; determine whether the optimization accuracy has been reached; if so, return the global optimal solution and perform task allocation based on the global optimal solution; otherwise, increment the current iteration number by 1 and return to step S4.2, repeating steps S4.2 to 4.10 until the optimization accuracy is reached.
[0110] Example
[0111] This embodiment takes urban vehicle monitoring as an example. A swarm intelligence sensing system is deployed on urban roads. The swarm intelligence sensing platform refers to the traffic management and dispatch platform. The task issuer refers to the traffic management and dispatch center or management department. Users refer to pedestrians, vehicles, and monitoring equipment on the road. The city is divided into multiple areas according to streets, and users in each area are grouped together. It is assumed that the initial processing speed of each user is a random number between 1 and 2. The task queue to be assigned contains 50 tasks, i.e., the number of individuals in the population m = 50, and the size of each task is a random number between 40 and 70. In the initial stage, the tuna follows the optimal individual and the previous individual with a degree parameter α = 0.7, the number of explosion sparks L = 60, the population mutation probability is 0.2, and the maximum number of iterations t... max =1000.
[0112] To verify the superiority of the method of this invention, different test functions were selected as fitness functions, and the Tuna Swarm Optimization (TSO), Fireworks Algorithm (FWA), Particle Swarm Optimization (PSO), and the improved Tuna Swarm Optimization (t-Fireworks Tuna Swarm Optimization, tFTSO) of this invention were tested respectively. The test results are shown in [link to test results]. Figures 5-8 .
[0113] Figure 5 For each algorithm, test it on a single-peaked function. The convergence curve below shows that the optimal value of the test function is 0. The TSO algorithm found the optimal fitness value of 0 after 944 iterations, the FWA algorithm found the optimal fitness value of 166.6188 after 997 iterations, the PSO algorithm found the optimal fitness value of 13.9177 after 1000 iterations, while the t-FTSO algorithm found the optimal fitness value of 0 after 851 iterations. Compared with TSO, FWA and PSO, the convergence speed of t-FTSO is improved by 14.6%, 14.9% and 14.9%, respectively.
[0114] Figure 6 For each algorithm, test the function in a multi-peaked manner. The convergence curves below show that the optimal value of the test function is 0. The TSO algorithm found the optimal fitness value of 0 after 283 iterations, the FWA algorithm found the optimal fitness value of 9.3425E-01 after 984 iterations, the PSO algorithm found the optimal fitness value of 2.1155E-2 after 1000 iterations, while the t-FTSO algorithm found the optimal fitness value of 0 after 58 iterations. Compared with TSO, FWA, and PSO, the convergence speed of t-FTSO is improved by 79.5%, 94.1%, and 97.2%, respectively.
[0115] Figure 7 For each algorithm, test the function in a multi-peaked manner. The convergence curves were analyzed, and the optimal value of the test function was 3.0E-04. The TSO algorithm found the optimal fitness value of 3.0749E-04 after 985 iterations, FWA after 991 iterations (9.1374E-03), PSO after 1000 iterations (6.8509E-04), while t-FTSO found the optimal fitness value of 3.0749E-04 after only 514 iterations. Compared to TSO, FWA, and PSO, t-FTSO improved convergence speed by 47.8%, 48.1%, and 48.6%, respectively.
[0116] Figure 8 For each algorithm, test the function in a multi-peaked manner. The convergence curves under the given conditions show that the optimal value of the test function is -10.1532. TSO found the optimal fitness value of -10.1532 after 311 iterations, FWA after 996 iterations, PSO after 1000 iterations, and t-FTSO after 86 iterations. Compared to PSO, FWA, and PSO, t-FTSO improved convergence speed by 47.8%, 60.1%, and 37.1%, respectively.
[0117] Figure 9The curves show the time required for each algorithm to complete all tasks under different numbers of users. Compared with PSO, FWA and TSO, the time to complete tasks using the t-FTSO method is significantly shorter when the number of users is the same.
[0118] Any aspects not covered in this invention are applicable to existing technologies.
Claims
1.A method for task allocation in a crowd-sensing system based on proficiency collaboration, the method comprising: The method includes the following steps: Step 1: Divide the crowd perception scene into multiple areas, and divide the users in each area into a group. Select a group leader for each group to be responsible for task allocation within the group. Step 2: The task publisher issues tasks to the perception platform, which then distributes the tasks to users based on their proximity and sends their respective task sets to each user. Users sort the tasks from earliest to latest according to their deadlines to obtain a task queue. When a user receives a new task, the new task is inserted into the task queue according to its deadline. Step 3: When the user's workload does not suddenly increase, the user executes tasks in the order of the task queue; when the workload suddenly increases, the user sends the task queue to the team leader and executes Step 4; if the team leader's own workload suddenly increases, the team leader reports to the perception platform and requests assistance from nearby user groups; a sudden increase in workload means that the ratio of the user's pending tasks to the processing speed is greater than a set threshold. Step 4: Treat the task queue as a population, and each task as an individual in the population; use swarm intelligence algorithms to find the global optimal solution of the objective function, and allocate tasks based on the global optimal solution; The expression for the objective function is: F = min(aT + bS task +cS vel ) Where T represents the time required to complete all tasks, and S... task S represents the standard deviation of the total number of tasks to be completed by all users in the group. vel This represents the standard deviation of the processing speed of all users in the group, where a, b, and c are all weighting factors, and a+b+c=1. The time T required to complete all tasks is expressed as: time_task i,j = length_task i,j / vel_u i in, Indicates user u i The time required to complete all tasks, where n represents the number of users, and time_task i,j Indicates user u i Complete the task i,j The required time, m represents the number of tasks, and length_task i,j Indicates task i,j The amount of work, vel_u i Indicates user u i The processing speed, prof_u i Indicates user u i proficiency, vel_u i 'Indicates the updated user u i The processing speed, prof_u i 'Indicates the updated user u i The proficiency level, where ρ≥1 represents the update coefficient; Standard deviation S of the amount of tasks to be completed by all users in the group task Standard deviation S of the processing speed vel Respectively In the formula, tasklength_u i , tasklength_avg represent user u i The number of tasks to be completed and the average number of tasks to be completed by all users in the group. vel_avg represents the average processing speed of all users in the group. 2.The proficiency-based collaboration crowd sensing task allocation method according to claim 1, characterized in that, The swarm intelligence algorithm is the tuna swarm optimization algorithm, an improved tuna swarm optimization algorithm, a particle swarm algorithm, or an improved particle swarm algorithm. 3.The method of claim 2, wherein, An improved tuna swarm optimization algorithm is used to optimize the objective function, including the following: First, randomly initialize the individual positions; Then, generate random numbers to update the positions of all individuals, and obtain the global optimal individual and the global optimal solution for the current iteration number; add the explosion operator to the remaining individuals except the global optimal individual to generate explosion sparks; that is, generate a random number e_r1 between 0 and 1. If e_r1 > 0.5, then generate a random number e_r2 between 0 and 1, and generate explosion sparks according to the following formula. If e_r1≤0.5, generate a random number e_r3 between 0 and 1, and generate the explosion spark according to the following formula; a1=α+(1-α)·C a2=(1-α)-(1-α)·C β = e bl • cos(2πb) In the formula, ex g (t+1), ex g (t) represents the g-th explosion spark generated in the (t+1)-th and t-th iterations, respectively, 1≤g≤G, where G represents the number of explosion sparks generated by each individual; a1 and a2 are weighting coefficients controlling the individual's movement trend towards the optimal individual and the previous individual, x rand (t), x rand (t-1) represent the reference points randomly generated in the search space during the t-th and t-1-th iterations, respectively, x best (t), x best (t-1) represent the globally optimal individuals obtained in the t-th and t-1-th iterations, respectively, and C represents the current iteration number and the maximum iteration number t. max The ratio, b∈(0,1) represents a random number, r3 represents a random number generated by the tuna school during the parabolic feeding phase, TF represents a random number taking the value -1 or 1, A k The blast radius; The formula for calculating the explosion radius is as follows: p = (1 - C) C Among them, fitness k Let fitness be the fitness value of the k-th individual in the current iteration. Best The optimal fitness value is represented by ε, which indicates the minimum value that can be represented by the specified floating-point number type. Controlling the position boundaries, the above process is repeated to generate explosion sparks for all individuals except the globally optimal individual while updating the individual position and the global optimal solution, until each individual generates a certain number of explosion sparks; the fitness value of each explosion spark is calculated, and the position of the explosion spark whose fitness value is closest to the optimal fitness value is selected as the optimal position of the individual. Next, an adaptive t-distribution mutation is performed on each individual obtained by the explosion operator, and all individuals except the globally optimal individual obtain the optimal position after mutation. Finally, randomly select some individuals from the population to undergo adaptive t-distribution mutation, calculate the fitness value of the mutated individuals, and update the fitness value and position of the mutated individuals if the fitness value of the mutated individuals is better, and update the global optimal solution and the global optimal individual. Repeat the above process until the optimization accuracy is reached and the global optimal solution is obtained.
Citation Information
Patent Citations
Method for scheduling tasks among resource-constrained edge servers oriented collaboration mechanism
CN113282394A
Improved fireworks algorithm-based image processing method
WO2018157272A1