Dynamic task allocation method, system, product and equipment in crowdsourcing environment

By adopting a dynamic task allocation method in the crowdsourcing system, using reinforcement learning models and predicting trajectory information, the problems of low allocation efficiency and high cost in traditional methods are solved, and more efficient and economical task allocation is achieved.

CN119962857APending Publication Date: 2025-05-09SHANDONG KINGSGARDEN TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411821731.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-05-09

AI Technical Summary

Technical Problem

When facing dynamically changing task points and workers, the traditional crowdsourcing task allocation method has low allocation efficiency, high cost and lacks flexibility and intelligence, making it difficult to achieve global optimal task allocation.

Method used

A dynamic task allocation method is adopted to obtain task information of the task to be executed and the workers' prediction trajectory, determine the candidate workers' set, and use the reinforcement learning model to comprehensively consider multiple factors to output the optimal workers' set. This method includes two phases of task assignment: efficiently performing tasks within the first phase of preset, and ensuring smooth execution of tasks by reassigning unfinished tasks in the second phase.

Benefits of technology

By dynamically adjusting the task allocation strategy, the efficiency and quality of task allocation are improved, ensuring that as many tasks as possible are completed within budget constraints, and the overall efficiency and cost-effectiveness of the crowdsourcing system are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119962857A_ABST
    Figure CN119962857A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of task allocation, in particular to a dynamic task allocation method and system in a crowdsourcing environment, a product and equipment. The method comprises the steps of obtaining task information of a to-be-executed task and a prediction trajectory of workers, and determining a candidate worker set based on the prediction trajectory and the task information; obtaining total budget limitation and worker information of the candidate worker set, inputting the total budget limitation, the worker information and the task information into a preset reinforcement learning model, and receiving an optimal worker set output by the preset reinforcement learning model; the to-be-executed task is allocated to the optimal worker set, so that the optimal worker set executes the to-be-executed task in a preset first stage; combining the uncompleted tasks and the unallocated tasks into a task set; and assigning tasks in the task set to the available worker set based on the worker position information and the task position information. The task allocation process can be optimized, and the overall efficiency and cost effectiveness of the crowdsourcing system are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of task allocation, and in particular to a method, system, product and device for dynamic task allocation in a crowdsourcing environment. Background Art

[0002] Spatiotemporal task allocation is crucial in crowdsourcing systems. Its goal is to efficiently schedule workers to complete various tasks and achieve an optimal balance between time efficiency and cost-effectiveness. However, traditional crowdsourcing task allocation methods face a series of challenges in practical applications. First, the allocation efficiency is usually low, and it is difficult to respond to the dynamic changes of task points and worker groups in a timely manner; second, the cost overhead is large, and it is impossible to fully utilize resources to achieve optimal configuration. In addition, traditional methods often rely on static information and simple rules, lacking flexibility and intelligence in complex and changing environments. With the continuous changes of task points and the dynamic adjustment of worker groups in crowdsourcing systems, spatiotemporal characteristics become particularly important in task allocation. Traditional methods are unable to cope with this complexity and cannot effectively handle the extensiveness and timeliness requirements of task distribution. This makes it difficult to achieve global optimization in task allocation, affecting the overall efficiency and cost-effectiveness of the crowdsourcing system. Summary of the invention

[0003] In order to solve the problem of rigid and inefficient crowdsourcing task allocation in the prior art, the present application provides a dynamic task allocation method, system, product and device in a crowdsourcing environment.

[0004] In the first aspect, the present application provides a method for dynamic task allocation in a crowdsourcing environment, which adopts the following technical solutions: A dynamic task allocation method in a crowdsourcing environment, comprising: Acquire task information of a task to be performed and a predicted trajectory of a worker, and determine a set of candidate workers based on the predicted trajectory and the task information; Obtaining a total budget constraint and worker information of the candidate worker set, inputting the total budget constraint, the worker information, and the task information into a preset reinforcement learning model, and receiving an optimal worker set output by the preset reinforcement learning model; Allocating the tasks to be performed to the best set of workers, so that the best set of workers performs the tasks to be performed within a preset first stage; After the preset first stage is completed, searching for a set of available workers, obtaining unfinished tasks and unassigned tasks in the preset first stage, and combining the unfinished tasks and the unassigned tasks into a task set; Obtain worker location information of the available worker set, and obtain task location information of the task set extracted from the task information, and assign tasks in the task set to the available worker set based on the worker location information and the task location information, so that the available worker set executes the task set within a preset second stage.

[0005] By adopting the above technical solution, the task information of the task to be executed and the predicted trajectory of the workers are obtained, and a set of candidate workers that meet the task requirements of the task to be executed can be preliminarily selected based on the task information and the predicted trajectory. The total budget constraint, worker information and task information are input into the preset reinforcement learning model, which can comprehensively consider multiple factors to output the best set of workers. Through continuous learning and optimization, the reinforcement learning model can gradually improve the efficiency and quality of task allocation, ensure that as many tasks as possible are completed within the budget limit, allocate tasks to be executed to the best set of workers, and ensure that these tasks are efficiently executed within the preset first stage. After the preset first stage is completed, the available worker set is found, and the unfinished tasks and unassigned tasks are obtained, and they are combined into a task set. This dynamic adjustment method enables the system to respond flexibly according to actual conditions to ensure that all tasks are properly handled. The task set is allocated to the available worker set based on the worker location information and the task location information. The task redistribution method based on location information improves the accuracy and efficiency of task allocation, and ensures that the tasks are smoothly executed within the preset second stage. This application constitutes a complete task allocation and execution process. From the acquisition of task information to the determination of the worker set, and then to the allocation and execution of tasks, each step is closely linked and coordinated with each other, which optimizes the task allocation process and improves the overall efficiency and cost-effectiveness of the crowdsourcing system.

[0006] In a preferred example, the present application can be further configured as follows: the method further includes: Obtaining historical total budget limits, historical task information, and historical worker information; wherein the historical task information includes task urgency and task location, and the historical worker information includes worker location, worker available time period, worker historical performance, and worker cost per worker; The historical task information and the historical worker information are defined as a state vector; defining a reward function, the reward function including positive rewards for task completion and urgent task completion, negative rewards for exceeding budget, and worker utility; A reinforcement learning algorithm is used to train a model based on the historical total budget limit, the state vector and the reward function to obtain a trained preset reinforcement learning model.

[0007] By adopting the above technical solutions, making use of historical data, defining state vectors, carefully designing reward functions, applying reinforcement learning algorithms, and obtaining preset reinforcement learning models, the efficiency and quality of task allocation can be improved, ensuring that as many tasks as possible are completed while meeting budget constraints, especially urgent tasks, and taking into account the utility of workers, which helps to improve overall work efficiency and resource utilization.

[0008] In a preferred example, the present application may be further configured as follows: the task information includes the task location and the task time limit; The determining a set of candidate workers based on the predicted trajectory and the task information includes: Dividing the task perception area based on the task location of the task to be performed; Finding the intersection of the predicted trajectory and the task perception area, and constructing workers whose predicted trajectory and the task perception area have an intersection as an initial candidate worker set; The worker movement speed is obtained, and based on the worker movement speed, the predicted trajectory and the task time limit, workers who can complete any task to be performed within the preset first stage are determined from the initial candidate worker set to form a candidate worker set.

[0009] By adopting the above technical solution, combined with the task location and task time limit, the task perception area is first divided based on the task location, and then the intersection of the predicted trajectory and the task perception area is found to construct an initial set of candidate workers. Based on the worker movement speed, predicted trajectory and task time limit, workers who can complete the task within the preset first stage are further screened as the candidate worker set, which effectively improves the accuracy and timeliness of task allocation and ensures that the task can be executed by the most suitable worker who can arrive within the specified time.

[0010] In a preferred example, the present application may be further configured as follows: allocating the tasks to be executed to the best set of workers includes: Arrange the tasks to be executed from high to low according to their urgency to obtain a list of tasks to be executed; Starting from the first task in the list of tasks to be executed, performing the assignment step on each task in turn, so as to assign the tasks in the list of tasks to be executed to the best set of workers; Among them, the allocation step includes: based on the task information of the current task and the worker information of the best worker set, calculating the matching degree between each worker in the best worker set and the current task, determining a worker with the highest matching degree from the best worker set as the target worker, allocating the current task to the target worker, and removing the target worker from the best worker set.

[0011] By adopting the above technical solution, the tasks to be executed are sorted by urgency, and the matching degree of the workers in the best worker set is calculated for each task in turn, so that the worker with the highest matching degree is selected to perform the current task and the worker is removed from the set, ensuring that the tasks can be efficiently and accurately assigned to the most suitable workers according to their urgency, thereby improving the priority and overall efficiency of task execution.

[0012] In a preferred example, the present application may be further configured as follows: allocating the tasks in the task set to the set of available workers based on the worker location information and the task location information includes: determining a center location of the task set; Calculate the distance between each task in the task set and the central position based on the task position information, and arrange the tasks in the task set from small to large according to the distance from the central position to obtain a task list; Calculating the distance between each worker in the available worker set and the central position based on the worker position information, and arranging the workers in the available worker set from small to large according to the distance from the central position to obtain a worker list; The tasks in the task list are assigned one by one to the workers in the worker list according to the arrangement order.

[0013] By adopting the above technical solution, the center position of the task set is calculated, and the tasks and workers are sorted according to the distance between the task and the center position and the distance between the worker and the center position, and then the tasks are assigned to the workers in sequence, which effectively balances the distance factor of task allocation, so that tasks can be more evenly distributed to nearby workers, thereby improving the response speed of task execution and the work efficiency of workers.

[0014] In a preferred example, the present application can be further configured as follows: the method further includes: Obtaining the number of workers assigned tasks in the first stage, and calculating the product of a single worker cost and the number of workers as the stage cost in the first stage; Obtaining the task income and distance compensation fee of the workers assigned with the tasks in the second stage after completing the corresponding tasks; Calculating the sum of the stage cost, the mission benefit and the distance compensation cost as the total mission cost, and comparing the total mission cost with the total budget limit; If the total budget limit is greater than the total task cost, then find unpackaged task points at the current moment and assign tasks to the unpackaged task points.

[0015] By adopting the above technical solution, the stage cost in the first stage (based on the number of workers and the cost per person) and the task benefit and distance compensation cost in the second stage are calculated to obtain the total task cost, which is compared with the total budget limit. If the budget is sufficient, the unpackaged task points will continue to be allocated, ensuring cost control in the task allocation process and maximizing the task execution benefits within the budget.

[0016] In the second aspect, the present application provides a dynamic task allocation system in a crowdsourcing environment, which adopts the following technical solutions: A dynamic task allocation system in a crowdsourcing environment, comprising: A prediction unit, configured to obtain task information of a task to be performed and a predicted trajectory of a worker, and determine a set of candidate workers based on the predicted trajectory and the task information; A reinforcement learning unit, configured to obtain a total budget constraint and worker information of the candidate worker set, input the total budget constraint, the worker information and the task information into a preset reinforcement learning model, and receive an optimal worker set output by the preset reinforcement learning model; A first task allocation unit, configured to allocate the to-be-performed task to the best set of workers, so that the best set of workers performs the to-be-performed task within a preset first stage; A combining unit, configured to search for a set of available workers after the preset first stage is completed, obtain unfinished tasks and unassigned tasks in the preset first stage, and combine the unfinished tasks and the unassigned tasks into a task set; A second task allocation unit is used to obtain worker location information of the available worker set, and obtain task location information of the task set extracted from the task information, and allocate the tasks in the task set to the available worker set based on the worker location information and the task location information, so that the available worker set executes the task set within a preset second stage.

[0017] In a third aspect, the present application provides a computer program product, which adopts the following technical solution: A computer program product includes a computer program. When the computer program is executed by a processor, the dynamic task allocation method in a crowdsourcing environment as described in any one of the first aspects is implemented.

[0018] In a fourth aspect, the present application provides an electronic device, which adopts the following technical solution: one or more processors; Memory; At least one application, wherein the at least one application is stored in a memory and configured to be executed by at least one processor, and the at least one application is configured to: execute the dynamic task allocation method in a crowdsourcing environment as described in any one of the first aspects.

[0019] In a fifth aspect, the present application provides a computer-readable storage medium, which adopts the following technical solution: A computer-readable storage medium stores a computer program, which, when executed in a computer, causes the computer to execute the dynamic task allocation method in a crowdsourcing environment as described in any one of the first aspects.

[0020] In summary, this application includes the following beneficial technical effects: By obtaining the task information of the task to be performed and the predicted trajectory of the workers, the application can preliminarily select a set of candidate workers that meet the task requirements of the task to be performed based on the task information and the predicted trajectory, input the total budget constraint, worker information and task information into the preset reinforcement learning model, and can comprehensively consider multiple factors to output the best set of workers. Through continuous learning and optimization, the reinforcement learning model can gradually improve the efficiency and quality of task allocation, ensure that as many tasks as possible are completed within the budget limit, allocate tasks to be executed to the best set of workers, and ensure that these tasks are efficiently executed within the preset first stage. After the preset first stage is completed, the available worker set is found, and the unfinished tasks and unassigned tasks are obtained, and they are combined into a task set. This dynamic adjustment method enables the system to respond flexibly according to actual conditions to ensure that all tasks are properly handled. The task set is allocated to the available worker set based on the worker location information and the task location information. The task redistribution method based on location information improves the accuracy and efficiency of task allocation, and ensures that the tasks are smoothly executed within the preset second stage. This application constitutes a complete task allocation and execution process. From the acquisition of task information to the determination of the worker set, and then to the allocation and execution of tasks, each step is closely linked and coordinated with each other, which optimizes the task allocation process and improves the overall efficiency and cost-effectiveness of the crowdsourcing system. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 It is a flowchart of a dynamic task allocation method in a crowdsourcing environment provided by an embodiment of the present application; Figure 2 A schematic diagram of determining a set of candidate workers for an embodiment of the present application; Figure 3 This is a schematic diagram of using Morton code to divide the perception area in an embodiment of the present application; Figure 4 It is a structural diagram of a dynamic task allocation system in a crowdsourcing environment provided by an embodiment of the present application; Figure 5 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0022] The following is combined with Figure 1 -Attached Figure 5 This application is described in further detail.

[0023] This specific embodiment is merely an explanation of the present application and is not a limitation of the present application. After reading this specification, those skilled in the art may make modifications to the present embodiment without any creative contribution as needed, but such modifications are protected by the patent law as long as they are within the scope of the claims of the present application.

[0024] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0025] In addition, the term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article, unless otherwise specified, generally means that the associated objects before and after are in an "or" relationship.

[0026] It should be noted that in the optional embodiments of the present application, the object information and other related data involved, when the embodiments in the present application are applied to specific products or technologies, need to obtain the permission or consent of the object, and the collection, use and processing of the relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions. In other words, if the embodiments of the present application involve data related to the object, it needs to be obtained with the authorization and consent of the object, the authorization and consent of the relevant departments, and in compliance with the relevant laws, regulations and standards of the country and region. If personal information is involved in the embodiments, the acquisition of all personal information needs to obtain the consent of the individual. If sensitive information is involved, the separate consent of the information subject needs to be obtained. The embodiments also need to be implemented with the authorization and consent of the object.

[0027] In the mobile crowdsourcing platform, there are three key roles: crowdsourcing workers, crowdsourcing tasks and crowdsourcing platforms. For example, for the application scenario of mobile phone ordering and errand running, the food delivery requirements proposed by users are regarded as crowdsourcing tasks, and the errand runners who accept and complete these tasks are crowdsourcing workers. The platform for publishing production requirements and errand runners accepting food delivery tasks is a crowdsourcing platform.

[0028] Specifically, users can post a food delivery request in the app, which is a crowdsourcing task, waiting for suitable errand runners to take the order. At the same time, the errand runners will update their location or idle status on the platform so that the platform can understand their availability. The role of the crowdsourcing platform is to act as an intermediary between the two, responsible for analyzing the nature, requirements and location of the task, while evaluating the skills and free time of the workers. Through intelligent matching algorithms, the platform matches suitable workers with tasks. For example, the ordering application will match nearby errand runners with users' food delivery requests. The errand runners who accept the task need to complete the delivery within the specified time to receive the corresponding reward. This process forms an efficient interactive network, realizing the intelligent connection between tasks and workers through the crowdsourcing platform.

[0029] The present application embodiment provides a method for dynamic task allocation in a crowdsourcing environment, such as Figure 1 As shown, the method provided in the embodiment of the present application is performed by an electronic device, which can be a server or a terminal device, wherein the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The terminal device can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc., but is not limited thereto. The terminal device and the server can be directly or indirectly connected via wired or wireless communication, which is not limited in the embodiment of the present application. The method includes steps S101 to S105, wherein: S101 : Obtain task information of a task to be executed and a predicted trajectory of a worker, and determine a set of candidate workers based on the predicted trajectory and task information.

[0030] In this embodiment, task allocation is performed within a perception cycle, and the perception cycle includes a first stage and a second stage. The first stage is used to select suitable opportunistic workers for task allocation, and the second stage is used to select suitable participatory workers for task allocation. The perception cycle and the division of the first stage and the second stage can be manually set according to actual task requirements and input into the electronic device.

[0031] Specifically, there are two types of workers on the platform, opportunistic workers and participatory workers. Opportunistic workers do not need to go to a specific location, but only need to complete the perception task along their daily driving route. Participatory workers are willing to change and adjust their driving route to reach the designated location to complete the perception task.

[0032] The tasks to be executed are tasks that have been published but not assigned in the platform. The task information includes the task location and task time limit of each task. The task location can be represented by Morton code. The task time limit includes task duration and task time window. Task duration represents the time taken to process the task. Task time window represents that the task must be completed before the start of the second stage. For example, the task duration of a task is 10 minutes, the task is assigned at 2:00, and the start time of the second stage is 3:00. Then the task time window is 2:00-3:00, indicating that any 10 minutes between 2:00-3:00 can be used to execute the task. The platform can be loaded on an electronic device, which schedules each task and worker in the platform.

[0033] Figure 2 A schematic diagram of determining a set of candidate workers for an embodiment of the present application is shown in FIG. Figure 2 As shown, the platform for task release and allocation can be a cloud platform. The process of obtaining the predicted trajectory of the worker includes: obtaining the historical trajectory data of the idle workers on the platform before the current moment. The historical trajectory data includes Figure 2 The time information, trajectory information and location information in the data include timestamp, geographic location information (such as longitude and latitude coordinates), worker ID, etc. The historical trajectory data of each worker forms a time series for trajectory prediction. The historical trajectory data is input into the pre-trained graph neural network (GNN) model, and the GNN model outputs the predicted trajectory of the worker in the future.

[0034] The GNN model training process includes: collecting workers' trajectory data as a training set, representing the geographic location information of each worker in the training set as a node in the graph, and the node features include: worker ID, timestamp and geographic location information. The edge features reflect the distance and time difference between different time stages, and further include dynamic time weighting parameters. Define the loss function, which represents the prediction error of the trajectory point. The mean square error (MSE) is used to calculate the deviation between the predicted position and the actual position. The model parameters are updated using stochastic gradient descent (SGD) or adaptive optimization algorithms (such as Adam). In each iteration, the deviation between the actual and predicted positions is compared by predicting the trajectory points, and the GNN model parameters are updated.

[0035] Task information includes task location and task time limit. Based on the task time limit, the time constraint of the task can be determined so that the workers selected in the first stage must complete the task before the start of the second stage. Based on the task location, the perception area of ​​the task can be determined to obtain the scope constraint. Since the perception area of ​​crowdsourcing workers is limited, the workers determined in the first stage can only receive and complete the task within the perception area of ​​the task. The candidate worker set is an opportunistic worker set, and each of the workers meets the constraints of at least one task in the tasks to be performed, including scope constraints and time constraints.

[0036] S102, obtaining the total budget constraint and the worker information of the candidate worker set, inputting the total budget constraint, the worker information and the task information into a preset reinforcement learning model, and receiving the best worker set output by the preset reinforcement learning model.

[0037] In the perception task, the publisher defines a set of subregions S = {S1, S2, S3…, S m}. When a task collects at least one data point in a sub-region, the sub-region is considered to be covered. Let the final set of recruited workers be , and define Coverage(T) as the area covered by T. Then the spatial coverage can be expressed by the following formula CovR=|Coverage(R(s))| / |S|.

[0038] In practical applications, crowdsourcing workers W i It can be a vehicle equipped with multifunctional sensors that can perform perception tasks. The worker information of crowdsourcing workers includes W i =<(w.ID,wt,wx t ,wy t )>, where (w.ID,wt,wx t ,wy t ) is worker W i The location information includes the worker ID, current time, and the latitude and longitude coordinates of the current time.

[0039] After obtaining the set of candidate workers, a greedy strategy is adopted. The core of the greedy strategy is to give priority to candidate workers who cover the most task-aware areas, thereby maximizing the task space coverage while minimizing the cost of recruiting opportunistic workers, and finally selecting the best set of workers from the candidate worker set.

[0040] Among them, the constraints satisfied by the best worker set include selection constraints and invariant constraints. The selection constraint means that the best worker set must be selected from the candidate worker set, and the invariant constraint means that once the best worker set is determined and tasks are assigned, the match will not be changed subsequently.

[0041] S103: Allocate the tasks to be executed to the best set of workers, so that the best set of workers executes the tasks to be executed within a preset first stage.

[0042] Specifically, the task information of the task to be executed includes the task urgency, which can be represented by a numerical value, and the task urgency ranges from 0 to 1, and the larger the numerical value, the more urgent the task. The tasks to be executed are arranged from high to low according to the task urgency to obtain a list of tasks to be executed.

[0043] Then, starting from the first task in the list of tasks to be executed, select a worker with the highest matching degree with the first task from the best worker set, assign the first task to the worker, and remove the worker from the best worker set to obtain an updated best worker set; for the second task in the list of tasks to be executed, select a worker with the highest matching degree with the second task from the updated best worker set, assign the second task to the worker, and remove the worker from the best worker set to obtain an updated best worker set; and so on, matching tasks and workers one by one until the list of tasks to be executed is completed or there are no available workers in the best worker set. When there are no available workers in the best worker set but there are still unassigned tasks in the list of tasks to be executed, the remaining unassigned tasks can be assigned in the second stage, and the current available workers in the platform can be re-searched and tasks can be re-assigned in the above manner.

[0044] S104: After the preset first stage is completed, search for a set of available workers, obtain unfinished tasks and unassigned tasks in the preset first stage, and combine the unfinished tasks and unassigned tasks into a task set.

[0045] Specifically, the set of available workers includes workers who have not been assigned tasks in the first stage, and workers who have completed tasks in the best worker set in the first stage, and these workers can be reconsidered and utilized in the second stage to handle unfinished and unassigned tasks.

[0046] Unfinished tasks refer to tasks that have not been completed by any worker in the first phase of dynamic task allocation. Some tasks may require more time and resources, but they cannot be completed in the first phase due to time constraints, or the available worker resources may not be fully utilized in the first phase, resulting in some tasks not being assigned or completed. Unassigned tasks refer to tasks that have not been assigned to any worker because no eligible workers were found in the first phase.

[0047] S105, obtaining worker location information of the available worker set, and obtaining task location information of the task set extracted from the task information, and assigning tasks in the task set to the available worker set based on the worker location information and the task location information, so that the available worker set executes the task set within a preset second stage.

[0048] Specifically, at the beginning of the second stage, the worker location information of each worker in the available worker set is obtained. The task location information of the task set includes the location information of each task in the task set, and the center position of the task set is determined. The center position represents the geometric center position of the task set, that is, the point with the smallest sum of Euclidean distances from each task. The center position of the task set can be solved by mathematical optimization methods (such as gradient descent, Newton's method, etc.) or optimization software.

[0049] Furthermore, the worker closest to the available workers is selected based on the central position of the task set. The task allocation in the second stage is carried out in ascending order according to the distance between the workers and the central position. This approach optimizes resource utilization and worker selection strategies, and more effectively responds to task changes and worker resource fluctuations.

[0050] Among them, the perception cycle includes the first stage and the second stage. The time window defines the time range from the start to the end of a task. For a data set with a smaller time window, the second stage can be set to 30 minutes before the end of the perception cycle. For a data set with a larger time window, the second stage can be set to 1 hour before the end of the perception cycle. The start time of the second stage can be adjusted according to actual needs, and this embodiment does not make specific limitations.

[0051] This embodiment integrates technologies such as trajectory prediction, Morton code and reinforcement learning, combined with real-time dynamic scheduling mechanism and adaptive allocation strategy to flexibly respond to environmental changes. By adjusting task allocation in real time, the reinforcement learning algorithm is used to continuously optimize the allocation strategy based on the current position of the worker, trajectory prediction, task progress and environmental changes, and the greedy strategy is used to select the best worker from the candidate workers. In order to maximize the coverage of task space and effectively utilize costs, the solution introduces a dynamic allocation mechanism that does not rely entirely on opportunistic worker selection. At the same time, the system comprehensively considers factors such as the worker's historical performance, real-time trajectory prediction and task urgency, and continuously adjusts the allocation rules with the help of the feedback mechanism of reinforcement learning. In the specific execution of task allocation, Morton code is used to efficiently encode and decode geographic location, and the greedy strategy and task point packaging strategy based on geographic location further optimize task allocation, significantly improve allocation efficiency and cost-effectiveness, ensure the flexible adaptability of task allocation under different environmental conditions, and maximize task completion rate and resource utilization efficiency.

[0052] In a possible implementation manner of the embodiment of the present application, the method further includes: Obtain historical total budget limits, historical task information, and historical worker information; among them, historical task information includes task urgency and task location, and historical worker information includes worker location, worker available time, worker historical performance, and worker cost per worker; Define historical task information and historical worker information as state vector; Define a reward function that includes positive rewards for task completion and urgent task completion, negative rewards for exceeding budget, and worker utility. Using the reinforcement learning algorithm, the model is trained based on the historical total budget limit, state vector and reward function to obtain a preset reinforcement learning model that has been trained.

[0053] In this embodiment, the historical total budget limit represents the total budget of workers used to assign tasks within the historical perception cycle. The urgency of tasks in historical task information can be represented by a numerical value ranging from 0 to 10. The larger the numerical value, the more urgent the task. The task location represents the geographical coordinates of the task (which can be represented by longitude and latitude). The historical worker information includes the location of the worker at the current moment (which can be represented by longitude and latitude). The worker's available time period represents the worker's idleness in one or more time periods. The worker's historical performance includes the efficiency and quality of completing tasks (both efficiency and quality can be represented by scoring numerical values. The higher the numerical value, the higher the efficiency or quality). The worker's single cost represents the recruitment cost of each worker (such as the unified reward paid by the platform for each worker). For each historical task, a state vector containing the historical task information of the historical task and the historical worker information of all historical workers is generated.

[0054] The total cost of recruiting historical workers is the product of the worker unit cost and the number of historical workers, and the expression of worker utility is: OW.uti=|OW.reg| / OW.cos. Among them, OW.uti is the worker utility of recruiting historical workers, OW.cos is the total cost of recruiting historical workers, and |OW.reg| is the number of tasks in the set of perceptual sub-areas covered by the recruited historical workers.

[0055] Define the reward function: set the basic reward for completing a task to +1, set the additional reward for completing a more urgent task (the value corresponding to the urgency is greater than 5) to +0.5, set the negative reward for exceeding the budget to -1, use positive rewards when the worker utility is high, and use negative rewards when the worker utility is low (the criteria for determining the high and low worker utility can be set according to actual needs).

[0056] Reinforcement learning algorithms (such as Q-learning, DQN, etc.) are used for training to optimize the selection strategy through interaction with the environment. Through multiple rounds of training, the model parameters are continuously adjusted so that it can give priority to the set of workers that can complete the most tasks and meet the budget in new task allocation scenarios. The trained model is deployed to the actual production environment to select the best set of workers from the set of candidate workers.

[0057] In actual applications, the total budget constraint, the worker information of the candidate worker set, and the task information of the tasks to be performed are input into the preset reinforcement learning model. The preset reinforcement learning model can select the candidate workers who can complete the most tasks under the constraints to form the best worker set to complete the first stage of dynamic task allocation.

[0058] In a possible implementation of the embodiment of the present application, the task information includes a task location and a task time limit; Determine the set of candidate workers based on the predicted trajectory and task information, including: Divide the task perception area based on the task location of the task to be performed; Find the intersection of the predicted trajectory and the task-aware area, and construct the workers whose predicted trajectory and task-aware area have intersection as the initial candidate worker set; The worker movement speed is obtained, and based on the worker movement speed, predicted trajectory and task time limit, workers who can complete any task to be performed within the preset first stage are determined from the initial candidate worker set to form a candidate worker set.

[0059] See also Figure 3 , which shows a schematic diagram of the task perception area provided by the embodiment of the present application. The process of dividing the task perception area includes: converting the geographical location of the task to be executed, the task location and the trajectory point in the predicted trajectory into Morton code, and locating 8 sub-areas near the task point according to the prefix and accuracy of the Morton code. Figure 3 As shown, taking the task point's Morton code as wx406 as an example, Figure 3 The eight sub-areas corresponding to the task point are shown. n The attribute set is T n =<(Tx,Ty),T.radius,T.area>, where (Tx,Ty) represents task T n The latitude and longitude coordinates of the release location. T.radius represents task T n The perception range radius, T.area represents the task T n The perception area of ​​​​ , with (Tx,Ty) as the center and T.radius as the radius, to represent the task T n The covered perception area T.area. During the entire perception cycle, tasks can be executed. Each task in the tasks to be executed determines the corresponding perception area, and the perception areas of each task are combined into the task perception area.

[0060] The candidate worker set is a set of workers that meet the constraints (including scope constraints and time constraints) of at least one task to be executed. The initial candidate worker set is a set of workers that meet the scope constraints of at least one task. Any worker in the initial candidate worker set is used as the target worker, and all tasks for which the target worker meets its scope constraints (the predicted trajectory of the target worker intersects with the perception area of ​​the task) are determined. Whether the target worker meets the time constraints of the task is determined separately. If the target worker meets both the scope constraints and the time constraints of any task, the target worker is included in the candidate worker set. If the target worker does not meet the time constraints for all tasks for which the target worker meets the scope constraints, the target worker is not included in the candidate worker set.

[0061] Among them, any task that the target worker meets the scope constraint is taken as the target task, and the process of judging whether the target worker meets the time constraint of the target task includes: for the target task, its task time limit includes task time and task time window, and the target task needs to be completed within the task time window, and the required time is the task time. When the target worker enters the perception area of ​​the target task, the target worker receives the target task.

[0062] In one possible case, the predicted trajectory of the target worker happens to pass through the task location of the target task, and the target worker does not need to change the path, and the arrival time of the target worker at the task location of the target task can be determined based on the predicted trajectory.

[0063] In another possible case, the predicted trajectory of the target worker happens to pass through the task location of the target task, then the target worker needs to change the path. Based on the predicted trajectory of the target worker, the intersection time and intersection position at which the perception areas of the target worker and the target task begin to intersect can be determined. At the intersection time, the target worker receives the target task and approaches the target task from the intersection position along the shortest path. The ratio of the distance from the intersection position to the task location of the target task to the worker's moving speed is calculated to obtain the duration, and the time corresponding to the duration after the intersection time is taken as the arrival time.

[0064] Furthermore, assuming that the target worker can execute the target task immediately after arriving at the task location of the target task, the time period corresponding to the task time after the arrival time is taken as the task processing time period, and the time period between the arrival time and the start time of the second stage is taken as the task time window. It is judged whether the task processing time period exceeds the task time window (that is, whether the target task can be completed before the start of the second stage). If not, it is determined that the target worker meets the time constraint of the target task. If exceeded, it is determined that the target worker does not meet the time constraint of the target task.

[0065] A possible implementation of the embodiment of the present application is to assign tasks to be executed to an optimal set of workers, including: Arrange the tasks to be executed from high to low according to their urgency to obtain a list of tasks to be executed; Starting from the first task in the list of tasks to be executed, performing the assignment step for each task in turn, thereby assigning the tasks in the list of tasks to be executed to the best set of workers; Among them, the allocation step includes: based on the task information of the current task and the worker information of the best worker set, calculating the matching degree between each worker in the best worker set and the current task, determining a worker with the highest matching degree from the best worker set as the target worker, allocating the current task to the target worker, and removing the target worker from the best worker set.

[0066] In this embodiment, any worker in the best worker set is taken as the current worker, and any task in the list of tasks to be executed is taken as the current task. The process of calculating the matching degree between the current worker and the current task is as follows: considering the distance between the current worker and the current task and the historical performance of the current worker. The historical performance of the worker can be manually determined based on the worker's historical task completion status, historical task completion efficiency and historical task completion quality and input into the electronic device. The historical performance can be represented by a numerical value. The higher the numerical value, the better the worker's overall historical performance. The weighted sum of the distance between the current worker and the current task and the current worker's historical performance is calculated. The weights corresponding to the distance and the historical performance can be flexibly set according to actual needs, and this embodiment does not make specific limitations.

[0067] A possible implementation of the embodiment of the present application allocates tasks in a task set to a set of available workers based on worker location information and task location information, including: Determine the central location of the task set; Based on the task location information, the distance between each task in the task set and the center location is calculated, and the tasks in the task set are arranged from small to large according to the distance from the center location to obtain a task list; Based on the worker position information, the distance between each worker in the available worker set and the center position is calculated, and the workers in the available worker set are arranged from small to large according to the distance from the center position to obtain a worker list; Assign the tasks in the task list to the workers in the worker list one by one in the order of arrangement.

[0068] In this embodiment, the process of determining the center position of the task set is: geographically package the task set, package it according to a specific radius range SR, and finally form a determined task set. When assigning tasks, the Morton code of the center position of the packaged task point set is used as the new location center. In practical applications, according to the density and data volume of the data set, the radius range SR is set between 5 kilometers and 10 kilometers. Among them, the specific value of SR can be adjusted according to actual needs.

[0069] The tasks in the task list are assigned to the workers in the worker list one by one in the order of arrangement. Specifically, the task closest to the task center (the task with the smallest distance from the center) is selected from the task set. Workers with close distances can reach the task location faster, improving the task response speed. This task is assigned to the worker closest to the center. For the worker second closest to the center, the next closest task to the center is selected for assignment. And so on. Tasks are assigned to workers in order of distance sorting, with priority given to the nearest task that each worker can cover.

[0070] For example, suppose there are 3 workers and 3 tasks. Worker A is 3 km away from the center of the task set, worker B is 5 km away from the center of the task set, worker C is 8 km away from the center of the task set, and the distances of Task 1, Task 2, and Task 3 to the center of the task set are 2 km, 4 km, and 6 km respectively. The allocation process is: Worker A (3 km) is assigned Task 1 (2 km), Worker B (5 km) is assigned Task 2 (4 km), and Worker C (8 km) is assigned Task 3 (6 km). The second stage of task allocation focuses on all available participatory workers, rather than the opportunistic workers selected in the first stage, to ensure the effective execution of tasks.

[0071] The relationship between workers and tasks can be many-to-one, that is, a worker can be assigned multiple tasks, and tasks with higher priorities can be completed first by means of priority assignment and task merging. If there are tasks in the task set that have been assigned and there are remaining workers in the available worker set that have not been assigned, the worker can continue to remain on standby, waiting for the release of subsequent unpackaged tasks or new tasks. If there are no remaining workers in the available worker set, but there are unassigned tasks in the task set, tasks can be merged so that all tasks in the task set are assigned.

[0072] In a possible implementation manner of the embodiment of the present application, the method further includes: Obtain the number of workers assigned tasks in the first stage, and calculate the product of the worker cost and the number of workers as the stage cost in the first stage; Obtain the task income and distance compensation fee of the workers assigned with tasks in the second stage after completing the corresponding tasks; Calculate the sum of the stage cost, mission benefit and distance compensation cost as the total mission cost, and compare the total mission cost with the total budget limit; If the total budget limit is greater than the total task cost, then find the unpackaged task points at the current moment and assign tasks to the unpackaged task points.

[0073] The steps of this embodiment can be performed by deploying a corresponding algorithm in a preset reinforcement learning model, and the preset reinforcement learning model outputs a cost situation based on the task allocation of the first stage and the second stage combined with the input total budget limit, and the cost situation includes a comparison result of the total budget limit and the total task cost. The steps of this embodiment can also be performed by an electronic device to obtain the cost situation.

[0074] For the second stage of participatory workers, workers need to adjust their trajectories and move to specific locations to complete the task. In order to motivate workers to adjust their positions, corresponding distance compensation fees can be set. The calculation formula for distance compensation fees is as follows:

[0075] in, Distance compensation for workers to complete corresponding crowdsourcing tasks, is the unit distance compensation fee given by the platform, For unfinished tasks Participating workers assigned in the second phase Haversine distance between them.

[0076] The number of workers assigned tasks in the second stage is obtained, and the product of the number of workers in the second stage and the cost of each worker is used as the task benefit. The task benefit and the distance compensation fee are the total cost of the workers in the second stage. If the total budget limit does not exceed the total cost of the task, an alarm signal is issued to prompt the platform administrator whether to increase the total budget.

[0077] The unpackaged task points at the current moment are tasks that have not been successfully packaged due to factors such as delayed task release, failure to meet packaging conditions, budget or resource constraints, etc. The tasks are assigned one by one to the workers closest to the tasks.

[0078] The following is the overall training process of the preset reinforcement learning model provided by this solution: Collect trajectory data and task data and perform preprocessing. Trajectory data includes historical trajectory data of workers (drivable vehicles), including timestamps, geographic location information (such as latitude and longitude coordinates), worker ID, etc. Each data point forms a time series for predicting the future trajectory of workers. Task data includes completed task data, including task location, task urgency (the urgency can be based on the completion time limit of the task), and historical task allocation performance (success rate, completion time, etc.). Preprocessing includes feature processing, converting geographic location information into Morton code representation for fast neighborhood query, and processing features according to time and space characteristics, such as inputting location information into the model in the form of time series features.

[0079] Set the model input and output. The model input includes trajectory sequence features and task features, and the model output includes predicted trajectory and task allocation suggestions. Specifically, trajectory sequence features include worker ID, timestamp, and geographic location information. Task features include task urgency, historical completion performance, perception range radius, location (Morton code representation), etc. The predicted trajectory includes the trajectory points of each worker in the future period of time, which serves as a set of candidate workers for dynamic task allocation. The task allocation suggestion is the model calculating the best set of workers for each task point under the greedy strategy, judging the best candidate worker through the utility function, and ensuring the maximum coverage of the task space.

[0080] The goal of training the GNN model is to predict the trajectory of each worker in the future time period. The training process includes: Construct a worker trajectory graph: Based on the worker's historical trajectory, each worker position is represented as a node in the graph, and the weight of the edge is defined by the time relationship and geographical distance.

[0081] Set node features and edge features. Node features include worker ID, timestamp, geographic location information, etc. Edge features reflect the distance and time difference between nodes at different times, and further include dynamic time weighting parameters.

[0082] Define the loss function, which includes trajectory prediction loss and task allocation optimization loss. The trajectory prediction loss is the prediction error of the trajectory point, and the mean square error (MSE) is used to calculate the deviation between the predicted position and the actual position. In order to improve the task allocation effect of the model, the task allocation loss is introduced to measure the gap between the set of perceptual sub-areas covered by the candidate workers and the maximized spatial coverage of the task.

[0083] Perform model training and use stochastic gradient descent (SGD) or adaptive optimization algorithms (such as Adam) to update model parameters. In each iteration, the GNN model parameters are updated by predicting trajectory points and comparing the deviation between the actual and predicted positions.

[0084] During the candidate worker selection phase of task assignment, the model dynamically adjusts the worker utility function in the greedy strategy to ensure that workers covering the most perception areas are preferentially selected.

[0085] After the model training is completed, the model is evaluated. The trajectory prediction accuracy and task allocation efficiency of the model are evaluated through the validation set. The evaluation is performed through evaluation indicators, including trajectory prediction error, coverage, and cost-effectiveness. The trajectory prediction error is used to verify the error between the trajectory point prediction and the actual position, and to measure the trajectory prediction ability of the model. The coverage is used to verify the task space coverage after each task allocation to ensure the rationality and efficiency of the allocation strategy. The cost efficiency is used to compare the total cost of opportunistic workers recruited after task allocation with the expected utility, and to evaluate the cost-effectiveness of the solution.

[0086] The specific process of task allocation in the actual crowdsourcing environment using the trained and verified model includes: Worker trajectory prediction: input the worker trajectory sequence before task allocation, predict the worker's future driving trajectory through the GNN model, and provide a set of candidate workers for the allocation system. Morton code fast matching: match the task point with the Morton code of the predicted trajectory, and determine the set of candidate workers by Morton code prefix matching. Greedy strategy and utility function calculation: according to the greedy strategy, give priority to candidate workers with high coverage and large utility function value, optimize spatial coverage and task allocation cost. Dynamic update of unfinished tasks: check the unfinished tasks again at the beginning of the second stage, and use the packaging strategy to reselect workers to ensure resource optimization and task completion rate. Second stage task allocation: at the end of the first stage, adjust the worker trajectory so that the worker moves to the unfinished task point, and motivate the worker to complete the task through utility calculation, and finally complete all tasks.

[0087] Throughout the entire process, the model’s input includes all task and worker-related characteristics (task urgency, historical performance, location, time, scope, etc.), and the model’s output is the task allocation decision and trajectory prediction results, forming a dynamic task allocation strategy.

[0088] In order to verify the effectiveness of the solution of this embodiment, this embodiment is experimentally verified, and the simulation experiment is as follows: The task allocation system was experimented with four sets of real data sets, including small and large data volumes. Different task allocation algorithms were compared in the experiment, where RDTA represents the method of this embodiment, MaxCov comes from "CrowdRecruiter: Selecting Participants for Piggyback Crowdsensing underProbabilistic Coverage Constraint", Basic-Selector comes from "Hybrid Network AssistedDynamic Worker Recruitment Algorithm", NaiveFast and HG come from "Social-Network-Assisted Worker Recruitment in Mobile Crowd Sensing", and BP-Hybrid comes from "HyTasker: Hybrid Task Allocation in Mobile Crowd Sensing".

[0089] The experiment used taxi data from Beijing and Shanghai as small-scale datasets, while data from Chengdu and Shenzhen were used as large-scale datasets for evaluation. The time required for task allocation and the spatial coverage of tasks were observed by gradually increasing the labor cost, thereby evaluating the practicality and coverage effect of the algorithm. The results show that the proposed method is superior to other online algorithms in terms of allocation effect.

[0090] The present application embodiment provides a dynamic task allocation system in a crowdsourcing environment, such as Figure 4 As shown, the system includes a prediction unit 401, a reinforcement learning unit 402, a first task allocation unit 403, a combination unit 404, and a second task allocation unit 405, wherein: The prediction unit 401 is used to obtain task information of the task to be executed and the predicted trajectory of the worker, and determine a set of candidate workers based on the predicted trajectory and the task information; A reinforcement learning unit 402, configured to obtain a total budget constraint and worker information of a candidate worker set, input the total budget constraint, worker information, and task information into a preset reinforcement learning model, and receive an optimal worker set output by the preset reinforcement learning model; The first task allocation unit 403 is used to allocate the tasks to be executed to the best worker set, so that the best worker set executes the tasks to be executed within a preset first stage; A combining unit 404 is used to search for a set of available workers after the preset first stage is completed, obtain unfinished tasks and unassigned tasks in the preset first stage, and combine the unfinished tasks and unassigned tasks into a task set; The second task allocation unit 405 is used to obtain the worker location information of the available worker set, and obtain the task location information of the task set extracted from the task information, and allocate the tasks in the task set to the available worker set based on the worker location information and the task location information, so that the available worker set executes the task set within a preset second stage.

[0091] An embodiment of the present application provides a computer program product, including a computer program. When the computer program is executed by a processor, the contents shown in the embodiment of the dynamic task allocation method in the crowdsourcing environment are implemented.

[0092] An electronic device is provided in an embodiment of the present application, such as Figure 5 As shown, Figure 5 The electronic device 500 shown includes: a processor 501 and a memory 503. The processor 501 and the memory 503 are connected, such as through a bus 502. Optionally, the electronic device 500 may also include a transceiver 504. It should be noted that in actual applications, the transceiver 504 is not limited to one, and the structure of the electronic device 500 does not constitute a limitation on the embodiments of the present application.

[0093] Processor 501 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. Processor 501 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0094] The bus 502 may include a path to transmit information between the above components. The bus 502 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus 502 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 5 Only one thick line is used in the diagram, but it does not mean that there is only one bus or only one type of bus.

[0095] The memory 503 may be a ROM (Read Only Memory) or other types of static storage devices that can store static information and instructions, a RAM (Random Access Memory) or other types of dynamic storage devices that can store information and instructions, or an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read Only Memory) or other optical disk storage, optical disk storage (including compressed optical disk, laser disk, optical disk, digital versatile disk, Blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.

[0096] The memory 503 is used to store the application code for executing the solution of the present application, and the execution is controlled by the processor 501. The processor 501 is used to execute the application code stored in the memory 503 to implement the content shown in the embodiment of the dynamic task allocation method in the crowdsourcing environment.

[0097] Figure 5 The electronic device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0098] An embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer-readable storage medium is run on a computer, the computer can execute the contents shown in the embodiment of the dynamic task allocation method in the crowdsourcing environment described above.

[0099] It should be understood that, although the steps in the flowchart of the accompanying drawings are displayed in sequence as indicated by the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least a part of the steps in the flowchart of the accompanying drawings may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be executed in turn or alternately with other steps or at least a part of the sub-steps or stages of other steps.

[0100] The above are only some implementation methods of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A dynamic task allocation method in a crowdsourcing environment, characterized in that: include: Acquire task information of a task to be performed and a predicted trajectory of a worker, and determine a set of candidate workers based on the predicted trajectory and the task information; Obtaining a total budget constraint and worker information of the candidate worker set, inputting the total budget constraint, the worker information, and the task information into a preset reinforcement learning model, and receiving an optimal worker set output by the preset reinforcement learning model; Allocating the tasks to be performed to the best set of workers, so that the best set of workers performs the tasks to be performed within a preset first stage; After the preset first stage is completed, searching for a set of available workers, obtaining unfinished tasks and unassigned tasks in the preset first stage, and combining the unfinished tasks and the unassigned tasks into a task set; Obtain worker location information of the available worker set, and obtain task location information of the task set extracted from the task information, and assign tasks in the task set to the available worker set based on the worker location information and the task location information, so that the available worker set executes the task set within a preset second stage.

2. The dynamic task allocation method in a crowdsourcing environment according to claim 1, characterized in that: The method further comprises: Obtaining historical total budget limits, historical task information, and historical worker information; wherein the historical task information includes task urgency and task location, and the historical worker information includes worker location, worker available time period, worker historical performance, and worker cost per worker; The historical task information and the historical worker information are defined as a state vector; defining a reward function, the reward function including positive rewards for task completion and urgent task completion, negative rewards for exceeding budget, and worker utility; A reinforcement learning algorithm is used to train a model based on the historical total budget limit, the state vector and the reward function to obtain a trained preset reinforcement learning model.

3. The dynamic task allocation method in a crowdsourcing environment according to claim 1, characterized in that: The task information includes the task location and the task time limit; The determining a set of candidate workers based on the predicted trajectory and the task information includes: Dividing the task perception area based on the task location of the task to be performed; Finding the intersection of the predicted trajectory and the task perception area, and constructing workers whose predicted trajectory and the task perception area have an intersection as an initial candidate worker set; The worker movement speed is obtained, and based on the worker movement speed, the predicted trajectory and the task time limit, workers who can complete any task to be performed within the preset first stage are determined from the initial candidate worker set to form a candidate worker set.

4. The method for dynamic task allocation in a crowdsourcing environment according to claim 1, characterized in that: The allocating the tasks to be performed to the best set of workers comprises: Arrange the tasks to be executed from high to low according to their urgency to obtain a list of tasks to be executed; Starting from the first task in the list of tasks to be executed, performing the assignment step on each task in turn, so as to assign the tasks in the list of tasks to be executed to the best set of workers; Among them, the allocation step includes: based on the task information of the current task and the worker information of the best worker set, calculating the matching degree between each worker in the best worker set and the current task, determining a worker with the highest matching degree from the best worker set as the target worker, allocating the current task to the target worker, and removing the target worker from the best worker set.

5. The method for dynamic task allocation in a crowdsourcing environment according to claim 1, characterized in that: The allocating the tasks in the task set to the set of available workers based on the worker location information and the task location information comprises: determining a center location of the task set; Calculate the distance between each task in the task set and the central position based on the task position information, and arrange the tasks in the task set from small to large according to the distance from the central position to obtain a task list; Calculating the distance between each worker in the available worker set and the central position based on the worker position information, and arranging the workers in the available worker set from small to large according to the distance from the central position to obtain a worker list; The tasks in the task list are assigned one by one to the workers in the worker list according to the arrangement order.

6. The method for dynamic task allocation in a crowdsourcing environment according to claim 1, characterized in that: The method further comprises: Obtaining the number of workers assigned tasks in the first stage, and calculating the product of a single worker cost and the number of workers as the stage cost in the first stage; Obtaining the task income and distance compensation fee of the workers assigned with the tasks in the second stage after completing the corresponding tasks; Calculating the sum of the stage cost, the mission benefit and the distance compensation cost as the total mission cost, and comparing the total mission cost with the total budget limit; If the total budget limit is greater than the total task cost, then find unpackaged task points at the current moment and assign tasks to the unpackaged task points.

7. A dynamic task allocation system in a crowdsourcing environment, characterized in that: include: A prediction unit, configured to obtain task information of a task to be performed and a predicted trajectory of a worker, and determine a set of candidate workers based on the predicted trajectory and the task information; A reinforcement learning unit, configured to obtain a total budget constraint and worker information of the candidate worker set, input the total budget constraint, the worker information and the task information into a preset reinforcement learning model, and receive an optimal worker set output by the preset reinforcement learning model; A first task allocation unit, configured to allocate the to-be-performed task to the best set of workers, so that the best set of workers performs the to-be-performed task within a preset first stage; A combining unit, configured to search for a set of available workers after the preset first stage is completed, obtain unfinished tasks and unassigned tasks in the preset first stage, and combine the unfinished tasks and the unassigned tasks into a task set; A second task allocation unit is used to obtain worker location information of the available worker set, and obtain task location information of the task set extracted from the task information, and allocate the tasks in the task set to the available worker set based on the worker location information and the task location information, so that the available worker set executes the task set within a preset second stage.

8. A computer program product, characterized in that The method comprises a computer program, which, when executed by a processor, implements the steps of the method for dynamic task allocation in a crowdsourcing environment according to any one of claims 1 to 6.

9. An electronic device, characterized in that: include: at least one processor; Memory; At least one application, wherein the at least one application is stored in a memory and configured to be executed by at least one processor, and the at least one application is configured to: execute the dynamic task allocation method in a crowdsourcing environment as described in any one of claims 1-6.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed in a computer, the computer is caused to execute the dynamic task allocation method in a crowdsourcing environment as described in any one of claims 1 to 6.

Citation Information

Cited By

  • Crowd sensing online fair multi-task allocation method based on distance sorting

    CN122288319A

  • A distance ranking-based online fair multi-task allocation method for crowd sensing

    CN122288319B