Worker selection and task assignment in a crowdsourcing system
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NANJING UNIV
- Filing Date
- 2023-06-06
- Publication Date
- 2026-07-21
AI Technical Summary
In crowdsourcing systems, selecting suitable workers and configuring application environments is difficult, resulting in low task quality and efficiency, and existing technologies have failed to effectively consider the combined benefits of multiple platforms.
An optimization problem model is established with the goal of minimizing the total cost of the crowdsourcing system. The local search algorithm is used to optimize worker selection and task assignment decisions. By combining the interior point method and local search operations, joint decision-making for worker selection and task assignment is achieved.
It improved the efficiency of worker selection and task assignment, enhanced worker enthusiasm, promoted the steady development of crowdsourcing platforms, and optimized the combined benefits of multiple platforms.
Smart Images

Figure CN116681245B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of crowdsourcing in distributed computing, specifically a method and apparatus for worker selection and task assignment in a crowdsourcing system. Background Technology
[0002] Over the past decade, crowdsourcing has become an increasingly popular work model, offering a novel way to complete various tasks and projects. Crowdsourcing utilizes resources from hired workers to perform a wide range of tasks, from simple data entry and processing to complex image tagging, text classification, traffic prediction, and mobile sensing. Crowdsourcing systems have been widely applied in various fields, such as artificial intelligence, data science, and digital marketing, which require large amounts of data and task processing, and crowdsourcing can provide efficient and low-cost solutions. In a typical crowdsourcing system, there are three main types of participants: online crowdsourcing platforms (such as Amazon Mechanical Turk and CrowdFlower), task requesters, and crowdsourcing workers. Online crowdsourcing platforms are the core of the system, providing a communication platform for task requesters and crowdsourcing workers. When a requester posts a task, the platform assigns it to a suitable crowdsourcing worker and monitors the task's execution to ensure quality and accuracy. For crowdsourcing workers, once selected by the platform, they need to configure the appropriate application on a computing device, complete the task, and receive a reward.
[0003] In crowdsourcing systems, crowdsourced workers play a crucial role. They provide requesters with a wide range of skills and experience, helping them complete crowdsourced tasks quickly and efficiently. However, selecting suitable crowdsourced workers to execute tasks is not easy. Requesters need to consider various factors, such as the worker's skills, experience, and reputation. Choosing unsuitable workers may lead to low task quality or inefficiency. Once suitable crowdsourced workers are identified, the next step is to configure the application on the worker's computing device. This process is not simple; it requires setting up a platform environment and storing the application's relevant libraries / databases on the worker's computing device. However, due to the limited computing resources of crowdsourced workers, only a small number of applications can be configured and a limited number of tasks can be run. Different types of application tasks consume different resources, thus the configuration costs of different applications will also vary. This makes determining the workers and configuring the relevant applications a challenging task. Furthermore, crowdsourced workers' computing devices may have different operating systems and software environments, requiring corresponding application configuration and adaptation. For complex tasks, higher-performance computing devices and more storage capacity may be required. Therefore, for crowdsourcing platforms, providing workers with an easy-to-use and efficient environment is crucial, as it helps improve worker productivity and task completion quality. A suitable environment and application configuration can not only increase worker efficiency but also enhance their motivation and job satisfaction, thereby promoting the robust development of the crowdsourcing platform.
[0004] Typically, after receiving tasks from requesters, crowdsourcing platforms need to assign these tasks to one or more crowdsourcing workers. However, since the computing power of crowdsourcing workers' devices is limited, it is necessary to carefully determine which platforms can assign tasks to crowdsourcing workers to avoid wasting or overusing worker equipment resources. Therefore, when determining which platforms to assign tasks to crowdsourcing workers, two popular task allocation paradigms are usually adopted: 0 / 1 allocation and proportional allocation. The 0 / 1 allocation paradigm is suitable for highly integrated tasks that cannot be divided and must be assigned to a crowdsourcing worker as a whole. In this case, the tasks are usually very simple and standardized, so it is only necessary to select the most suitable crowdsourcing worker for allocation. However, in the real world, many applications consist of multiple processes or involve processing blocks of data (e.g., vehicle counting applications in traffic monitoring videos), which can make the computational task can be divided into multiple parts and distributed to different crowdsourcing workers for execution through proportional allocation. In this case, the tasks are usually very complex, so many factors need to be considered to determine which crowdsourcing workers are best suited to perform which tasks, such as their skills, experience, and reliability.
[0005] Furthermore, crowdsourcing platforms also need to consider factors such as the computing power and storage capacity of crowdsourced workers' devices to better allocate tasks. Some applications may require higher-performance computing devices and more storage capacity, while others can run on lower-end devices. Therefore, selecting suitable crowdsourced workers for task allocation is a crucial decision that directly impacts task quality and efficiency. While maximizing the combined benefits of multiple platforms through appropriate task allocation, conflicts of interest between platforms should also be considered. Each worker can be recruited by multiple platforms and perform multiple tasks within each time period. However, due to limited device capabilities (e.g., CPU, RAM), crowdsourced workers will inevitably abandon task requests from some platforms if overloaded. Although worker selection and task allocation have received extensive attention in their respective research areas, their joint design has not been fully studied. A small number of works have addressed the design of worker selection and task allocation, but they do not consider optimizing the combined benefits of multiple platforms. Summary of the Invention
[0006] Purpose of the invention: To address the shortcomings of existing technologies, this invention proposes a method and apparatus for worker selection and task assignment in a crowdsourcing system. Based on considerations of collaborative benefits, it achieves a comprehensive decision-making process for selecting which crowdsourcing workers to configure with corresponding applications and assigning crowdsourcing tasks to which crowdsourcing workers.
[0007] Technical solution: According to a first aspect of the present invention, a method for worker selection and task assignment in a crowdsourcing system is provided, comprising the following steps:
[0008] Obtain crowdsourcing information in a crowdsourcing work scenario based on distributed computing, including the number of tasks / application types to be assigned (T), the number of crowdsourcing platforms (M), the number of crowdsourcing workers (N), the computing device resources of crowdsourcing workers, and the operating cost of computing devices;
[0009] Based on the acquired information, an optimization problem model is established with the objective of minimizing the total cost of multiple platforms in the crowdsourcing system. The optimization problem model is solved by worker selection decision and task assignment decision. The worker selection decision is used to indicate whether to configure a specified type of application on the computing device of the crowdsourcing worker; the task assignment decision is used to indicate the proportion of task computing volume allocated by the crowdsourcing platform to the crowdsourcing worker.
[0010] The optimization problem model is solved by starting with any feasible solution and repeatedly improving the solution by executing a local search algorithm until a near-optimal solution is obtained. Based on the optimal solution, the selection of crowdsourcing workers and the assignment of tasks are completed.
[0011] The optimization problem model, which aims to minimize the total cost of multiple platforms in the crowdsourcing system, is expressed as follows:
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018] Among them, the problem This means that the total cost Ctotal of the crowdsourcing system is minimized under the overall task allocation decision X and worker selection decision Y. M represents the set of M crowdsourcing platforms, M = {1, ..., m, ..., M}; N represents the set of N crowdsourcing workers, N = {1, ..., n, ..., N}; T represents the set of tasks to be assigned, T = {1, ..., t, ..., T}, where there are a total of T task / application types. m,n ∈[0,1] and y n,t ∈{0,1} are the decision variables for task assignment and worker selection, respectively, x m,n y represents the proportion of computational tasks assigned by platform m to worker n. n,t Indicates whether to configure an application of type t on worker n's computing device, ∑ n∈N x m,n =1 ensures that the workload of each platform's tasks will be assigned to one or more workers to complete, ∑ m∈M x m,n l m ≤L n Ensure that the total workload of each worker's computing device does not exceed its workload limit. m For the computational requirements of platform m, L n M represents the upper limit of the computing load of worker n's computing equipment. t It is a collection of crowdsourcing platforms that need to assign tasks of type t, and it is a subset of M.
[0019] Furthermore, the total cost C in the crowdsourcing system total Application configuration cost C c and task execution cost C e Composition, C total =C c +C e ,in,
[0020]
[0021]
[0022] in M represents the cost of configuring an application of type t on the computing device of worker n. n This indicates a set of crowdsourcing platforms that can select workers n. This represents the cost of performing a unit workload on worker n's computing device.
[0023] Furthermore, solving the optimization problem model includes:
[0024] By addressing the original problem The problem involves fixing the worker's choice decision Y to consider the task assignment decision X. That is, given the worker's choice decision Y, the task assignment decision X is determined to minimize the total cost. Simplify to a linear programming problem
[0025]
[0026]
[0027]
[0028]
[0029]
[0030] Solving linear programming problems in polynomial time using the interior point method Obtain the optimal task assignment decision X corresponding to worker selection decision Y;
[0031] Among them, a local search algorithm is used to obtain an approximate optimal worker selection decision.
[0032] Furthermore, given a currently feasible solution corresponding to the set of applications y already configured on the corresponding worker computing devices, y = {(n, t) | y n,t =1, n∈N, t∈T}, the local search algorithm uses local search operations to traverse the neighborhood Nb(y) of y, and sets the next new feasible solution as the set y′ with minimum cost in Nb(y), where the neighborhood Nb(y) of y is defined as Where F is {(n, t)|n∈N, t∈T}.
[0033] Furthermore, the local search operations include: Add operation, Exchange operation, and Remove operation, defining three subsets of Nb(y): The Add, Exchange, and Remove operations are used to move the application set y configured on the corresponding worker's computing device to Nb1(y), Nb2(y), and Nb3(y), respectively; the local search algorithm repeatedly calls the above three local search operations to adjust the worker's selection decision Y.
[0034] Furthermore, the local search algorithm sequentially calls the Add operation, Exchange operation, and Remove operation, or the Add operation, Exchange operation, and Remove operation are executed in parallel, to adjust the worker's selection decision Y.
[0035] According to a second aspect of the present invention, a worker selection and task assignment device in a crowdsourcing system is provided, comprising:
[0036] The data acquisition module is used to acquire crowdsourcing information in a crowdsourcing work scenario based on distributed computing, including the number of tasks / application types to be assigned (T), the number of crowdsourcing platforms (M), the number of crowdsourcing workers (N), the computing device resources of crowdsourcing workers, and the operating cost of computing devices.
[0037] The problem construction module is used to establish an optimization problem model based on the acquired information, with the objective of minimizing the total cost of multiple platforms in the crowdsourcing system. The optimization problem model is solved by worker selection decision and task assignment decision. The worker selection decision is used to indicate whether to configure a specified type of application on the computing device of the crowdsourcing worker; the task assignment decision is used to indicate the proportion of task computing volume allocated to the crowdsourcing worker by the crowdsourcing platform.
[0038] The problem-solving and execution module is used to solve the optimization problem model. Starting from any feasible solution, it repeatedly improves the solution by executing a local search algorithm until a near-optimal solution is obtained. Based on the optimal solution, it completes the selection of crowdsourcing workers and the assignment of tasks.
[0039] According to a third aspect of the present invention, a computer device is provided, the device comprising:
[0040] One or more processors;
[0041] Memory; and
[0042] One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, wherein when the programs are executed by the processors, they implement the steps of the worker selection and task assignment method in the crowdsourcing system described in the first aspect.
[0043] According to a fourth aspect of the present invention, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps of the worker selection and task assignment method in the crowdsourcing system as described in the first aspect of the present invention.
[0044] Beneficial Effects: This invention models the crowdsourcing scenario, treating it as an optimization problem that integrates application configuration overhead and task execution overhead. By combining decision constraints and solving the optimization problem, it obtains worker selection and task assignment schemes in the crowdsourcing system that are geared towards joint benefits. This invention fills a gap in the field, supports multi-platform joint decision-making in crowdsourcing systems, and considers the limited computing resources of workers. It has broad applicability, improves the efficiency of worker selection and task assignment in crowdsourcing scenarios, and thus enhances the multi-platform joint benefits of crowdsourcing systems. Attached Figure Description
[0045] Figure 1 This is a schematic diagram of a crowdsourcing scenario provided in an embodiment of the present invention;
[0046] Figure 2 This is a flowchart of the worker selection and task assignment method in a crowdsourcing scenario provided by an embodiment of the present invention;
[0047] Figure 3 This is an example diagram illustrating the transformation of the joint decision-making problem of worker selection and task assignment provided in an embodiment of the present invention;
[0048] Figure 4 This is an example diagram of the crowdsourcing platform and worker operation algorithm Crowd_Alg provided in the embodiments of the present invention. Detailed Implementation
[0049] The technical solution of the present invention will be further described below with reference to the accompanying drawings.
[0050] Figure 1 This is a schematic diagram of a crowdsourcing scenario provided by an embodiment of the present invention. There are multiple crowdsourcing platforms and multiple crowdsourcing workers. It is necessary to consider which crowdsourcing workers to configure with the corresponding applications and to assign crowdsourcing tasks to which crowdsourcing workers. For this crowdsourcing scenario, the present invention proposes a worker selection and task allocation method, referring to... Figure 2 The method includes the following steps:
[0051] Step (1) Obtain crowdsourcing information in a crowdsourcing work scenario based on distributed computing.
[0052] Figure 2This paper illustrates a crowdsourcing scenario based on distributed computing. Consider a crowdsourcing system consisting of M crowdsourcing platforms and N crowdsourcing workers, denoted as M = {1, ..., m, ..., M} and N = {1, ..., n, ..., N}, respectively. Each platform m needs to assign tasks to one or more crowdsourcing workers, who complete the tasks by running applications on their computing devices. Assume there are a total of T task / application types, denoted as T = {1, ..., t, ..., T}.
[0053] In step (1), this invention obtains crowdsourcing information in a distributed computing-based crowdsourcing scenario, including the number of tasks / application types to be assigned (T), the number of crowdsourcing platforms (M), the number of crowdsourcing workers (N), the computing device resources of the crowdsourcing workers, and the operating costs of the computing devices. The computing device resources of the workers include the maximum workload limit of the computing devices, and the operating costs of the computing devices include the cost of configuring applications and executing tasks on the computing devices.
[0054] Step (2): Based on the information obtained, establish an optimization problem model with the goal of minimizing the total cost of multiple platforms in the crowdsourcing system. The optimization problem model is to solve worker selection decisions and task assignment decisions.
[0055] In a crowdsourcing scenario based on distributed computing, each platform can have multiple workers to choose from, and each worker can be assigned tasks by multiple platforms. Considering the current time period, each platform has a task requiring decisions on worker selection and task computation allocation. Each platform's task m has its computational requirements, denoted as l. m Suppose that the task can be divided into multiple parts, and each part can be assigned to a different worker. Define the decision variable for task assignment as x. m,n ∈[0, 1], it is a continuous variable representing the proportion of task computation allocated from platform m to worker n. Therefore:
[0056]
[0057] Furthermore, the computational workload of the task assigned to worker n by platform m can be calculated as follows: xm , n l m Each worker n has a maximum workload L on their computing device. n This means that in the current time period, the total amount of computational tasks assigned to worker m cannot exceed L. n Therefore, the finite computational resource constraint of worker n can be expressed as:
[0058]
[0059] In addition, it is necessary to select appropriate workers and configure them with corresponding applications; therefore, the decision variable for worker selection is defined as y. n,t ∈{0,1}, it is a 0-1 variable. When y n,t When y = 1, it indicates that an application of type t is configured on the computing device of worker n; when y = 1, it indicates that an application of type t is configured on the computing device of worker n. n,t When y = 0, an application of type t is not configured on the computing device of worker n. Therefore, only when y = 0. n,t When = 1, the crowdsourcing platform can assign a task of type t to user n, that is, satisfying:
[0060]
[0061] in This represents the set of crowdsourcing platforms that need to assign tasks of type 't'. For ease of explanation, we use... and Let these represent the overall task allocation decision and the worker selection decision, respectively.
[0062] Different worker selection and task assignment decisions result in varying application configuration and task execution costs. Since a worker's computing device needs to be configured with the corresponding application before executing a task, application configuration costs are introduced. Once a worker has completed application configuration, they can execute tasks of the same type from multiple crowdsourcing platforms. Therefore, multiple crowdsourcing platforms need to optimize their worker selection decisions. The formula for calculating application configuration costs is defined as follows:
[0063]
[0064] in This represents the cost of configuring an application of type t on the computing device of worker n.
[0065] In addition to application configuration costs, consider task execution costs. Task execution costs are generally proportional to the amount of computation required for the task, and the calculation formula is defined as follows:
[0066]
[0067] Where M is used n Let n represent the set of crowdsourcing platforms that can select workers n. This represents the cost of a worker n performing a unit workload on the computing equipment.
[0068] Considering that application configuration costs and task execution costs are most important for the combined benefits of multiple platforms in a crowdsourcing system, the total cost is calculated based on them as follows:
[0069] C total =C c +C e
[0070] Therefore, in order to maximize the combined benefits of multiple platforms in a crowdsourcing system, it is necessary to minimize their total cost.
[0071] The optimization objective of the model involving the worker selection and task assignment schemes considered above is expressed as follows:
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078] Given the task assignment decision X and the worker selection decision Y, the total cost W(X, Y) = C in the crowdsourcing system can be obtained. total Therefore, the worker selection and task assignment problem oriented towards joint benefits in a crowdsourcing system aimed at minimizing total cost can be modeled as the aforementioned mixed-integer linear programming problem. In this problem, x m,n ∈[0,1] and y n,t ∈{0,1} specifies the domain of the decision variables for task assignment and worker selection, respectively. n∈N x m,n =1 ensures that the workload of each platform's tasks will be distributed to one or more workers for completion. ∑ m∈M x m,n l m ≤L n This ensures that the total workload of tasks assigned to each worker's computing device does not exceed its workload limit.
[0079] Table 1 shows the meaning of the above symbols:
[0080] Table 1. Meaning of symbols used in the mathematical model
[0081]
[0082]
[0083] Step (3) solves the established mathematical model to obtain and execute the worker selection and task assignment scheme for collaborative benefits in the crowdsourcing system.
[0084] This invention proposes a polynomial-time approximation algorithm based on local search for the established optimization problem. It starts with any feasible solution and then iteratively improves the solution by performing local search steps. Within a polynomial number of local search steps, an approximate optimal solution can be obtained.
[0085] To more easily describe the local search operation, we first start with the original problem. To pose a simplified question, such as Figure 3 As shown. Regarding the question... We need to obtain solutions for the overall task assignment decision X and the worker selection decision Y. If we fix the worker selection decision Y, that is, considering the task assignment problem given the worker selection decision Y... So, the original question... This can be simplified to a linear programming problem, which requires determining the task assignment decision X to minimize the total cost W. Y (X)=C total Therefore, the problem is simplified. It can be modeled as:
[0086]
[0087]
[0088]
[0089]
[0090]
[0091] With the question Different, problem Consider only the task assignment decision variable X. Furthermore, due to the problem... This is a linear programming problem, which can be solved efficiently in polynomial time using the interior-point method. For convenience, we use y = {(n, t) | y n,t =1,n∈N,t∈T} represents the set of applications configured on the corresponding worker computing devices, which can be determined by the overall worker selection decision Y.
[0092] Specifically, given the set of applications y configured on the corresponding worker's computing devices, the optimal task assignment decision X is obtained. Furthermore, w(y) represents the total cost minimized when the set of applications configured on the corresponding worker's computing devices is y. Therefore, when the worker chooses the optimal decision Y... * At that time, using the currently mature interior-point method (such as the CPLEX tool based on the interior-point method), linear programming problems can be solved efficiently in polynomial time. To obtain the optimal task assignment decision X, thereby efficiently solving the problem under consideration.
[0093] To obtain a near-optimal worker selection decision, this invention designs three local search operations to progressively bring the worker selection decision Y closer to the optimal solution. Before describing the three local search operations, the problem is introduced. The concept of neighborhood in the problem. In this context, the neighborhood of y is defined as:
[0094]
[0095] Where F is {(n, t)|n∈N, t∈T}.
[0096] Applying a local search-based approach to the problem under consideration If a current feasible solution corresponds to a set of applications y configured on the corresponding worker computing devices, the local search operation traverses the neighborhood of y and sets the next new feasible solution as the set y′ with the minimum cost in Nb(y). Since the neighborhood of y contains a polynomial number of solutions, and the cost of each solution can be computed in polynomial time, the above local search operation can be performed efficiently. Based on the definition of the neighborhood of y, it is further divided into 3 subsets:
[0097]
[0098]
[0099]
[0100] The three local search operations designed in this invention include: Add, Exchange, and Remove. These three local search operations allow the application set y configured on the corresponding worker computing devices to be moved to subsets Nb1(y), Nb2(y), and Nb3(y), respectively. The Add, Exchange, and Remove operations are described below:
[0101] a. Add Operation: The Add operation adds a new element to set y, which means configuring a new application on a worker's computing device. Iterate through the neighborhood of y to find the best neighbor that minimizes the total cost.
[0102] b. Exchange Operation: The Exchange operation replaces an element in set y with an element that is not in set y. This means deleting an already configured application and configuring a new application on a worker's computing device. Therefore, Nb(y) is traversed to find suitable applications to add and delete.
[0103] c. Remove operation: The design of the Remove operation is similar to the Add and Exchange operations. It iterates through the neighborhood of y to find the optimal application to be deleted.
[0104] This invention further designs a local search algorithm, Crowd_Alg, such as... Figure 4 As shown, the algorithm consists of two steps. In step 1, worker selection decisions are initialized and the initial total cost is calculated. In step 2, Crowd_Alg will repeatedly call one of the three local search operations Add, Exchange, and Remove, provided that the cost reduction in each step is large enough.
[0105] Specifically, the Crowd_Alg algorithm based on local search is as follows:
[0106]
[0107] It is worth noting that when implementing Crowd_Alg, the three basic operations Add, Exchange, and Remove called in Crowd_Alg can be executed sequentially or in parallel. When the three basic operations are executed in parallel, the operation with the greatest cost reduction is selected in each iteration, that is, the cost of the three operations is calculated and compared in each round. When the three basic operations are executed sequentially, they are executed according to stage 2 of the Crowd_Alg algorithm flow. At this time, it is not necessary to calculate the cost of the three operations in each round of iteration, and the next round of iteration may be entered in advance by using the continue statement.
[0108] When the Crowd_Alg algorithm's Add, Exchange, and Remove operations fail to reduce the total cost by more than a preset threshold (set as w(y) / (N)...) 2 T 2When the Crowd_Alg algorithm terminates, it can be assumed that the decision and optimization objective value have converged to near-optimal. The near-optimal guarantee of theoretical performance obtained by this algorithm comes from the conclusion in the relevant literature (Korupolu, MR, Plaxton, CG, & Rajaraman, R. (2000). Analysis of a local search heuristic for facility location problems. Journal of Algorithms, 37(1), 146-188), which can obtain an (8+ε) near-optimal solution, where ε is an arbitrary constant.
[0109] This invention utilizes a set y and its neighborhood to continuously adjust worker selection decisions Y. Each time a new worker decision Y is obtained, the interior-point method is used to efficiently solve the linear programming problem in polynomial time. Obtain the optimal task assignment decision X corresponding to worker decision Y in solving the problem. This involves cost and task assignment decisions, thereby achieving joint optimization of worker decisions and task assignment.
[0110] According to another embodiment of the present invention, a worker selection and task assignment device in a crowdsourcing system is provided, comprising:
[0111] The data acquisition module is used to acquire crowdsourcing information in a crowdsourcing work scenario based on distributed computing, including the number of tasks / application types to be assigned (T), the number of crowdsourcing platforms (M), the number of crowdsourcing workers (N), the computing device resources of crowdsourcing workers, and the operating cost of computing devices.
[0112] The problem construction module is used to establish an optimization problem model based on the acquired information, with the objective of minimizing the total cost of multiple platforms in the crowdsourcing system. The optimization problem model is solved by worker selection decision and task assignment decision. The worker selection decision is used to indicate whether to configure a specified type of application on the computing device of the crowdsourcing worker; the task assignment decision is used to indicate the proportion of task computing volume allocated to the crowdsourcing worker by the crowdsourcing platform.
[0113] The problem-solving and execution module is used to solve the optimization problem model. Starting from any feasible solution, it repeatedly improves the solution by executing a local search algorithm until a near-optimal solution is obtained. Based on the optimal solution, it completes the selection of crowdsourcing workers and the assignment of tasks.
[0114] It should be understood that the worker selection and task assignment device in the crowdsourcing system proposed in this embodiment can realize all the technical solutions in the above method embodiments, and the functions of each functional module can be specifically implemented according to the methods in the above method embodiments, which will not be repeated here.
[0115] According to another embodiment of the present invention, a computer device is provided, the device comprising: one or more processors; a memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the programs implementing the steps in the method embodiments when executed by the processors.
[0116] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0117] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0118] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0119] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
Claims
1. A method for worker selection and task assignment in a crowdsourcing system, characterized in that, Includes the following steps: Obtain crowdsourcing information in a crowdsourcing work scenario based on distributed computing, including the number of tasks / application types to be assigned (T), the number of crowdsourcing platforms (M), the number of crowdsourcing workers (N), the computing device resources of crowdsourcing workers, and the operating cost of computing devices; Based on the acquired information, an optimization problem model is established with the objective of minimizing the total cost of multiple platforms in the crowdsourcing system. The solution objects of the optimization problem model are worker selection decisions and task assignment decisions. The worker selection decision is used to indicate whether to configure a specified type of application on the computing devices of crowdsourcing workers; the task assignment decision is used to indicate the proportion of task computation allocated to crowdsourcing workers by the crowdsourcing platform. The optimization problem model with the objective of minimizing the total cost of multiple platforms in the crowdsourcing system is expressed as follows: Among them, the problem This indicates the overall task allocation decision. Worker Choice Decisions Total cost in a crowdsourcing system Minimum, definition | , , Describes a set of M crowdsourcing platforms , Represents a set of N crowdsourced workers , This indicates a total of T task sets of different task types to be assigned. , and These are the decision variables for task allocation and worker selection, respectively. Indicates platform Assigned to workers The proportion of task computation volume Indicate whether or not there are workers The configuration type on the computing device is Applications, Ensure that the workload for each platform is distributed to one or more workers to complete. Ensure that the total workload of each worker's computing device does not exceed its workload limit. For the platform The task's computational requirements For workers The maximum workload limit of computing devices. The assignment type needs to be A collection of crowdsourcing platforms for tasks, it is A subset of; The optimization problem model is solved by starting with any feasible solution and iteratively improving the solution through a local search algorithm until a near-optimal solution is obtained. Based on the optimal solution, crowdsourcing workers are selected and tasks are assigned. Solving the optimization problem model includes: By addressing the original problem Workers' Choice of Decisions Considering fixed approaches to task assignment decisions That is, given the worker's choice decision In this case, determine the task assignment decision. To minimize the total cost, the problem Simplify to a linear programming problem : Solving linear programming problems in polynomial time using the interior point method To obtain worker choice decisions The corresponding optimal task assignment decision ; Among them, a local search algorithm is used to obtain an approximate optimal worker selection decision.
2. The method according to claim 1, characterized in that, The total cost of the crowdsourcing system Application configuration cost and task execution cost constitute, ,in, in Indicates that in the workers The configuration type on the computing device is The cost of application, This indicates that workers can be selected. A collection of crowdsourcing platforms Indicates that in the workers The cost of executing a unit workload on a computing device.
3. The method according to claim 1, characterized in that, Given a currently feasible solution corresponding to the set of applications already configured on the corresponding worker computing devices. , The local search algorithm utilizes local search operations to traverse... neighborhood And set the next new feasible solution as The set with minimum cost ,in neighborhood Defined as ,in yes .
4. The method according to claim 3, characterized in that, The local search operations include: Add, Exchange, and Remove operations, defined as follows: The three subsets: , , The Add, Exchange, and Remove operations are used to add application sets that have been configured on the corresponding worker computing devices. Move to , and The local search algorithm repeatedly calls the three local search operations described above to adjust worker selection decisions. .
5. The method according to claim 4, characterized in that, The local search algorithm sequentially calls the Add, Exchange, and Remove operations, or executes these operations in parallel, to adjust worker selection decisions. .
6. A worker selection and task assignment device in a crowdsourcing system, characterized in that, include: The data acquisition module is used to acquire crowdsourcing information in a crowdsourcing work scenario based on distributed computing, including the number of tasks / application types to be assigned (T), the number of crowdsourcing platforms (M), the number of crowdsourcing workers (N), the computing device resources of crowdsourcing workers, and the operating cost of computing devices. The problem construction module is used to establish an optimization problem model based on the acquired information, with the objective of minimizing the total cost of multiple platforms in the crowdsourcing system. The solution objects of the optimization problem model are worker selection decisions and task assignment decisions. The worker selection decision indicates whether to configure a specified type of application on the computing devices of the crowdsourcing workers; the task assignment decision indicates the proportion of computational tasks allocated to the crowdsourcing workers by the crowdsourcing platforms. The optimization problem model with the objective of minimizing the total cost of multiple platforms in the crowdsourcing system is expressed as follows: Among them, the problem This indicates the overall task allocation decision. Worker Choice Decisions Total cost in a crowdsourcing system Minimum, definition | , , Describes a set of M crowdsourcing platforms , Represents a set of N crowdsourced workers , This indicates a total of T task sets of different task types to be assigned. , and These are the decision variables for task allocation and worker selection, respectively. Indicates platform Assigned to workers The proportion of task computation volume Indicate whether or not there are workers The configuration type on the computing device is Applications, Ensure that the workload for each platform is distributed to one or more workers to complete. Ensure that the total workload of each worker's computing device does not exceed its workload limit. For the platform The task's computational requirements For workers The maximum workload limit of computing devices. The assignment type needs to be A collection of crowdsourcing platforms for tasks, it is A subset of; The problem-solving and execution module is used to solve the optimization problem model. Starting from any feasible solution, it iteratively improves the solution by executing a local search algorithm until a near-optimal solution is obtained. Based on the optimal solution, it completes the selection of crowdsourcing workers and the assignment of tasks. The solution to the optimization problem model includes: By addressing the original problem Workers' Choice of Decisions Considering fixed approaches to task assignment decisions That is, given the worker's choice decision In this case, determine the task assignment decision. To minimize the total cost, the problem Simplify to a linear programming problem : Solving linear programming problems in polynomial time using the interior point method To obtain worker choice decisions The corresponding optimal task assignment decision ; Among them, a local search algorithm is used to obtain an approximate optimal worker selection decision.
7. A computer device, characterized in that, The device includes: One or more processors; Memory; and One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, wherein when the programs are executed by the processors, they implement the steps of the worker selection and task assignment method in the crowdsourcing system as claimed in any one of claims 1-5.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the worker selection and task assignment method in the crowdsourcing system as described in any one of claims 1-5.