A multi-level random characteristic particle swarm optimization-based crowdsourcing resource scheduling method
By using a multi-level stochastic particle swarm optimization algorithm, the shortcomings of resource allocation and task dependency in crowdsourced resource scheduling are addressed, resulting in shorter project duration and improved resource utilization efficiency. This algorithm is suitable for complex project management and engineering scheduling.
Patent Information
- Application Number
- CN202411819989.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-11
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2044-12-11
AI Technical Summary
In existing crowdsourced resource scheduling problems, the skill diversity of resources and the resource allocation constraints of tasks are not fully considered, resulting in low scheduling efficiency. Existing particle swarm optimization techniques are insufficient in handling complex resource allocation and task dependencies.
A multi-level stochastic particle swarm optimization algorithm is adopted. By constructing a dynamically adaptive crowdsourcing resource project scheduling model, combined with an adaptive inertia weight adjustment strategy and a multi-level optimization framework, resource allocation and task dependencies are optimized. Particle swarm optimization strategies in the exploration and development phases are introduced to improve scheduling efficiency.
It effectively shortens project duration, improves resource utilization efficiency, balances the contradiction between resource competition and task order, and is suitable for complex project management and engineering scheduling scenarios, achieving more efficient resource utilization and project execution results.
Smart Images

Figure CN119647890B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of project scheduling optimization, specifically to a crowdsourced resource scheduling method based on multi-level stochastic particle swarm optimization. Background Technology
[0002] The diversity of skills and resource allocation constraints on tasks are two real-world factors that are generally overlooked in existing research on the crowdsourced resource scheduling problem (MS-RCPSP). Few studies have delved into the project scheduling problem constrained by crowdsourced resources. However, the foundations of crowdsourced resource scheduling problems, such as the classic resource scheduling problem (RCPSP) and the crowdsourced resource allocation problem, have received widespread attention. Furthermore, particle swarm optimization (PSO) techniques have been successfully applied to task scheduling and resource allocation optimization problems, laying the foundation for solving the MS-RCPSP problem. In conclusion, designing a new method to solve the crowdsourced resource scheduling problem is urgently needed, and employing multi-level stochastic particle swarm optimization (RND-PSO) techniques to construct optimization strategies for solving the MS-RCPSP problem is a feasible approach. Summary of the Invention
[0003] This invention provides a crowdsourcing resource scheduling method based on multi-level stochastic particle swarm optimization. Its purpose is to overcome the shortcomings of existing crowdsourcing resource problems in handling complex resource allocation and task dependencies by introducing a multi-level optimization strategy.
[0004] The technical solution adopted in this invention is as follows:
[0005] A crowdsourced resource scheduling method based on multi-level stochastic particle swarm optimization includes the following steps:
[0006] Step 1: Construct a dynamically adaptive crowdsourcing resource project scheduling model that integrates factors such as task dependence, resource constraints, and skill matching. Through a multi-objective design that optimizes resource allocation and shortens project duration, the model can both reduce project duration and improve resource utilization efficiency, effectively balancing the conflict between "resource competition" and "task order."
[0007] Step 2: Introduce an adaptive inertia weight adjustment strategy. In the early iterations, a higher inertia weight is used to achieve broad search, ensuring that the solution fully covers the space and avoiding missing optimal solutions. In later iterations, the weight is gradually reduced, causing particles to gather near the current optimal solution for optimization. This strategy balances the exploration and convergence problems of the particle swarm optimization algorithm and dynamically adjusts parameters by monitoring fitness, better adapting to complex scheduling requirements.
[0008] Step 3: Implement the stochastic particle swarm optimization algorithm within a multi-level optimization framework. The exploration phase involves randomly initializing particle positions to comprehensively screen potential optimal solutions; the development phase focuses on optimizing the scheduling scheme near the current optimal solution, gradually improving scheduling quality. This multi-level collaboration enhances the algorithm's global search and local optimization capabilities.
[0009] Step 4: Generate and validate the scheduling scheme. The scheduling order of tasks is determined by decoding particle positions, and the start and end times of tasks are calculated. Simultaneously, the scheme is validated to ensure it meets constraints such as resource allocation, task dependencies, and skill matching. The optimization effect is evaluated by comparing it with other methods, confirming its superiority and applicability in complex scenarios.
[0010] Step 1: Construct a crowdsourcing resource scheduling model based on a multi-level optimization strategy and dynamically adjust it. The specific steps are as follows:
[0011] Step 1.1: Define the index, which consists of four parts: task index j (j = 1, 2, ..., J), resource index r (r = 1, 2, ..., K), time index t, and skill index k (k = 1, 2, ..., N). The task index j defines the index of each task in the task set, with values ranging from j = 1, 2, ..., J; the resource index r defines the index of each resource in the resource set, with values ranging from r = 1, 2, ..., K; the time index t defines the index of a specific time point, used to represent the execution status of a task at a particular time; and the skill index k defines the index of each skill in the skill set, with values ranging from k = 1, 2, ..., N.
[0012] Step 1.2: Define the model parameters, which consist of six parts: resource set R, task set J, skill plan S, number of tasks J, number of resources K, and number of skills N. Resource set R contains all available resources; task set J contains all tasks that need to be scheduled; skill plan S contains all skills required for task execution; number of tasks J is the total number of tasks in the project; number of resources K is the total number of resources in the project; and number of skills N is the total number of skills in the project.
[0013] Step 1.3: Define model variables, which consist of eight parts, namely resources R r Task T j Skill S k Task duration d j Task start time s j Skill requirements and proficiency level jk Resource mastery level Q rk Prerequisite task set P j Resource R r The r-th resource represents a specific resource within the resource set; task Tj The j-th task is a specific task within the task set; skill S k The k-th skill represents a specific skill within the skill set; the task duration d... j It is task T j Execution duration; task start time (s) j It is task T j Start time; skill requirement proficiency level jk It is task T j Skill S k Proficiency requirements; resource mastery level Q rk It is resource R r Skill S k Mastery and proficiency, prerequisite task set P j It is task T j The set of prerequisite tasks;
[0014] Step 1.4: Define the decision variables, which consist of two parts: the allocation variable x. jr and execution variable y jrt :
[0015]
[0016] Assignment variable x jr It is a binary decision variable used to indicate whether to perform task T. j Allocate to resource R r ; Execution variable y jrt Used to represent resource R at time t r Execute task T? j ;
[0017] Step 1.5: Construct the objective function. The core of this step is to optimize the project's completion time (Makespan) by constructing the objective function. The objective function describes the maximum completion time of all tasks in the project, i.e., the total project duration. The specific definition is as follows:
[0018] Minimize max{s j +d j ,j∈J}
[0019] In both the exploration and development phases, task priority weights are adjusted based on task importance to make the optimization objectives more adaptable to the optimization needs of different phases.
[0020]
[0021] Where w1+w2=1, and w1 and w2 are dynamically adjusted according to the stage;
[0022] Step 1.6: Constructing Constraints. A series of constraints need to be introduced into the model to ensure the feasibility of task scheduling and the rationality of resource allocation. These constraints include the following categories:
[0023] The task priority constraints are as follows:
[0024]
[0025] This constraint ensures that task T j Only in all its prerequisite tasks T j Start after completion.
[0026] Skill matching constraints are as follows:
[0027]
[0028] This constraint ensures that the allocated resources R r Task T must be satisfied j Required skills S k Proficiency requirements
[0029] The unique assignment constraint is as follows:
[0030]
[0031] This constraint stipulates that each task can only be assigned to one resource for execution.
[0032] The resource usage restrictions are as follows:
[0033]
[0034] This constraint ensures that each resource can only process one task at a time.
[0035] The range of variable values is constrained as follows:
[0036]
[0037] These constraints define the range of values for the variables, making the construction of solutions reasonable;
[0038] Step 1.7: Setting up a multi-level optimization strategy. To improve algorithm performance, a multi-level optimization strategy is implemented in both the exploration and development phases, targeting different objectives, as detailed below:
[0039] Exploration Phase Setup: The goal of the exploration phase is to comprehensively search the solution space and avoid the algorithm getting stuck in local optima. This phase initializes the position and velocity of the particle swarm, where each particle represents a possible task scheduling order, its position reflects the task order, and its velocity represents the direction and magnitude of the change in scheduling order. A relatively high inertia weight (w), typically between 0.8 and 1.2, is set to allow particles to move over a wider area. The cognitive coefficient (c1) and social coefficient (c2) can be set to smaller values (e.g., 1.0 and 1.2) to reduce the possibility of excessive convergence to local or global optima. Each particle updates its velocity and position based on its historical best position (pbest) and global best position (gbest). The particle velocity and position update formulas are shown below. Through these formulas, particles can perform diverse searches in different regions, thereby improving the algorithm's initial exploration capability.
[0040] v i+1 =ω·v i +c1·r1·(p local -x i )+c2·r2·(p global -x i )
[0041] x i+1 =x i +v i+1
[0042] Development Phase Setup: After the exploration phase, the algorithm enters the development phase, focusing on optimizing the region near the current solution. Specific settings are as follows: A linear decreasing strategy is used to gradually reduce the inertia weight (w), typically between 0.4 and 0.6, to encourage particles to cluster near the optimal solution, as shown in the formula below:
[0043]
[0044] Gradually increase the social coefficient and cognitive coefficient (e.g., c1 = 2.0, c2 = 2.5) to enhance the particle's ability to approach the local and global optimal solutions. During the development phase, constrain the particle velocity to avoid excessive fluctuations that could cause deviations from the current optimal solution. Each particle updates its position and velocity based on the reduced inertia weight (w) and the increased cognitive and social coefficients, gradually converging to the optimal solution and recording the current global optimal value to ensure the stability and efficiency of the final solution.
[0045] Phase transition criteria: The transition between the exploration phase and the development phase can be dynamically determined based on the number of iterations, the fitness change rate, and the dynamic adjustment mechanism. Based on the number of iterations, the phase can automatically switch to the development phase when half of the total number of iterations has been reached. Based on the fitness change rate, if the fitness value does not change significantly after multiple consecutive iterations, the phase can enter the development phase ahead of schedule. The dynamic adjustment mechanism is to flexibly determine the switching time by analyzing the fitness distribution and change trend of particles to ensure the sufficiency of the search in the exploration phase.
[0046] Step 2: Introduce an adaptive inertia weight adjustment strategy. In early iterations, a higher inertia weight is used to achieve broad search, ensuring that the solution fully covers the space and avoiding missing optimal solutions. In later iterations, the weight is gradually reduced, causing particles to gather near the current optimal solution for optimization. This strategy balances the exploration and convergence problems of the particle swarm optimization algorithm and dynamically adjusts parameters by monitoring fitness, better adapting to complex scheduling requirements. The specific steps are as follows:
[0047] Step 2.1, Dynamic Adjustment Formula for Inertia Weight: In each iteration, the inertia weight (w) is adjusted according to the following formula:
[0048] Where w max and w min These are the initial and minimum inertia weights, respectively; t is the current iteration number, T max It represents the total number of iterations; α is an exponential parameter that controls the deceleration rate and determines the deceleration rate of the inertia weight.
[0049] Step 2.2, Adaptive Adjustment Scheme: In the initial stage of the algorithm, the inertia weight is set to a relatively high value to encourage the particle swarm to conduct a comprehensive search across the broad solution space, enhancing diversity and exploration capabilities. As iterations progress, the inertia weight gradually decreases in a linear or non-linear manner, approaching a smaller value, thereby strengthening the convergence performance of the particles and allowing them to focus more on optimization and refinement near the current solution. Simultaneously, to adapt to the current solution distribution of the particle swarm, the update rule of the inertia weight is adaptively and dynamically adjusted by monitoring the change in fitness, ensuring that the change in inertia weight matches the balance between the convergence requirements of the solution and the exploration depth, thus effectively improving the quality of the solution and optimization efficiency.
[0050] Step 3: Implement the stochastic particle swarm optimization algorithm within a multi-level optimization framework. The exploration phase involves randomly initializing particle positions to comprehensively screen potential optimal solutions; the development phase focuses on optimizing the scheduling scheme near the current optimal solution, gradually improving scheduling quality. Multi-level collaboration enhances the algorithm's global search and local optimization capabilities. Specific steps include:
[0051] Step 3.1: Initialize the particle swarm: Randomly generate the initial position and velocity of each particle. Position represents the task scheduling order, and velocity represents the rate at which the scheduling order changes. Set the initial inertia weight w. max The cognitive coefficient (c1) and the social coefficient (c2) provide sufficient flexibility for the initial search of particles;
[0052] Step 3.2, Update particle velocity and position: The velocity update formula is as follows:
[0053]
[0054] v id Let x represent the velocity of the particle on the i-th task. id Let pbest represent the position of the particle in the i-th task, and gbest represent the local optimum and global optimum positions, respectively.
[0055] The position update formula is as follows: By using the position update formula, particles gradually move closer to the optimal solution region, improving optimization efficiency;
[0056] Step 3.3: Update local and global optima: If the current fitness of a particle is better than the historical best, then update the local optimal position of the particle. If the local optimal value of all particles is better than the current global best, then update the global optimal position.
[0057] Step 4: Generate and validate the scheduling scheme. The scheduling order of tasks is determined by decoding particle positions, and the start and end times of tasks are calculated. Simultaneously, the scheme is validated to ensure it meets constraints such as resource allocation, task dependencies, and skill matching. The optimization effect is evaluated by comparing it with other methods, confirming its superiority and applicability in complex scenarios. Specific steps include:
[0058] Step 4.1: Generate Scheduling Scheme: In this stage, based on the final positions of the particles, the task scheduling order is decoded, and the start and completion times of each task are calculated. The final position of each particle represents the execution order of the tasks; according to the scheduling order, the start time s of each task is calculated sequentially. j and completion time f j =s j +d j Ensure that the timing of all tasks meets the initial conditions;
[0059] Step 4.2, Verify Constraints: Resource Constraint Check: Check whether the allocation of each resource at any time point t meets its capacity limit; ensure that the resource usage does not exceed its available quantity. Task dependency check: Verify that the start time of a task meets the completion time requirements of its predecessor tasks.
[0060] Advantages and benefits of the present invention
[0061] This invention proposes a crowdsourced resource scheduling method based on a multi-level stochastic particle swarm optimization algorithm. Addressing the characteristics of the crowdsourced resource scheduling problem, it combines multi-level particle swarm optimization technology to design an optimization algorithm that includes exploration and development phases. This method comprehensively considers the impact of multiple factors such as resource allocation, task dependency, and skill matching on scheduling performance, aiming to improve project scheduling efficiency and shorten project duration. This invention is applicable to scenarios such as complex project management, engineering scheduling, and manufacturing system optimization, enabling more efficient resource utilization and project execution, and providing effective technical support for improving productivity and economic benefits. Attached Figure Description
[0062] Figure 1 This is a flowchart of a crowdsourcing resource scheduling method for a multi-level stochastic particle swarm optimization algorithm according to the present invention.
[0063] Figure 2 It is a topology diagram of task dependencies and resource constraints in crowdsourced resource scheduling. Detailed Implementation
[0064] The present invention will now be described in detail with reference to the accompanying drawings and examples.
[0065] A crowdsourced resource scheduling method based on a multi-level stochastic particle swarm optimization algorithm is proposed. This method addresses a crowdsourced resource scheduling problem with five task nodes and several dependencies (structure information is shown in Table 1). It constructs a multi-level optimization approach to solve for the optimal scheduling scheme of resources and tasks within a finite time unit. The specific implementation plan includes the following contents and steps:
[0066] Table 1 shows the structural information of a crowdsourcing resource scheduling system.
[0067]
[0068]
[0069]
[0070] Step 1: Construct a crowdsourcing resource scheduling model based on a multi-level optimization strategy and dynamically adjust it. The specific steps are as follows:
[0071] Step 1.1: Define the index, which consists of four parts: task index j (j = 1, 2, ..., J), resource index r (r = 1, 2, ..., K), time index t, and skill index k (k = 1, 2, ..., N). The task index j defines the index of each task in the task set, with values ranging from j = 1, 2, ..., J; the resource index r defines the index of each resource in the resource set, with values ranging from r = 1, 2, ..., K; the time index t defines the index of a specific time point, used to represent the execution status of a task at a particular time; and the skill index k defines the index of each skill in the skill set, with values ranging from k = 1, 2, ..., N.
[0072] Step 1.2: Define the model parameters, which consist of six parts: resource set R, task set J, skill plan S, number of tasks J, number of resources K, and number of skills N. The resource set R contains all available resources; the task set J contains all tasks that need to be scheduled; the skill plan S contains all skills required for task execution; the number of tasks J is the total number of tasks in the project; the number of resources K is the total number of resources in the project; and the number of skills N is the total number of skills in the project.
[0073] Step 1.3: Define model variables, which consist of eight parts, namely resources R r Task T j Skill S k Task duration d j Task start time s j Skill requirements and proficiency level jk Resource mastery level Q rk Prerequisite task set P j Resource R r The r-th resource represents a specific resource within the resource set; task T j The j-th task is a specific task within the task set; skill S k The k-th skill represents a specific skill within the skill set; the task duration d... j It is task T j Execution duration; task start time (s) j It is task T j Start time; skill requirement proficiency level jk It is task T j Skill S k Proficiency requirements; resource mastery level Q rk It is resource R r Skill S k Mastery and proficiency, prerequisite task set P j It is task T j The set of prerequisite tasks;
[0074] Step 1.4: Define the decision variables, which consist of two parts: the allocation variable x. jr and execution variable y jrt Assign variable x jr It is a binary decision variable used to indicate whether to perform task T. j Allocate to resource R r ; Execution variable y jrt Used to represent resource R at time t r Execute task T? j :
[0075]
[0076] Step 1.5: Construct the objective function. The core of this step is to optimize the project's completion time (Makespan) by constructing the objective function. The objective function describes the maximum completion time of all tasks in the project, i.e., the total project duration. The specific definition is as follows:
[0077] Minimize max{s j +d j ,j∈J}
[0078] In both the exploration and development phases, task priority weights are adjusted based on task importance to make the optimization objectives more adaptable to the optimization needs of different phases.
[0079]
[0080] Where w1+w2=1, and w1 and w2 are dynamically adjusted according to the stage.
[0081] Step 1.6: Constructing Constraints. A series of constraints need to be introduced into the model to ensure the feasibility of task scheduling and the rationality of resource allocation. These constraints include the following categories:
[0082] The task priority constraints are as follows:
[0083]
[0084] This constraint ensures that task T j Only in all its prerequisite tasks T j Start once completed.
[0085] Skill matching constraints are as follows:
[0086]
[0087] This constraint ensures that the allocated resources R r Task T must be satisfied j Required skills Sk The required level of proficiency.
[0088] The unique assignment constraint is as follows:
[0089]
[0090] This constraint stipulates that each task can only be assigned to one resource for execution.
[0091] The resource usage restrictions are as follows:
[0092]
[0093] This constraint ensures that each resource can only process one task at a time.
[0094] The range of variable values is constrained as follows:
[0095]
[0096] These constraints define the range of values for the variables, making the construction of solutions reasonable.
[0097] Step 1.7: Setting up a multi-level optimization strategy. To improve algorithm performance, a multi-level optimization strategy is implemented in both the exploration and development phases, targeting different objectives, as detailed below:
[0098] Exploration Phase Setup: The goal of the exploration phase is to comprehensively search the solution space and avoid the algorithm getting stuck in local optima. This phase initializes the position and velocity of the particle swarm, where each particle represents a possible task scheduling order. The particle's position reflects the task order, and its velocity represents the direction and magnitude of the change in scheduling order. A relatively high inertia weight (w), typically between 0.8 and 1.2, is set to allow particles to move over a wider area. The cognitive coefficient (c1) and social coefficient (c2) can be set to smaller values (e.g., 1.0 and 1.2) to reduce the possibility of excessive convergence to local or global optima. Each particle updates its velocity and position based on its historical best position (pbest) and global best position (gbest). The particle velocity and position update formulas are shown below. Through these formulas, particles can perform diverse searches in different regions, thereby improving the algorithm's initial exploration capabilities.
[0099] v i+1 =ω·v i +c1·r1·(p local -x i )+c2·r2·(p global -x i )
[0100] x i+1 =x i +v i+1
[0101] Development Phase Setup: After the exploration phase, the algorithm enters the development phase, focusing on optimizing the region near the current solution. Specific settings are as follows: A linear decreasing strategy is used to gradually reduce the inertia weight (w), typically between 0.4 and 0.6, to encourage particles to cluster near the optimal solution, as shown in the formula below.
[0102]
[0103] Gradually increase the social coefficient and cognitive coefficient (e.g., c1 = 2.0, c2 = 2.5) to enhance the particle's ability to approach the local and global optimal solutions. During the development phase, constrain the particle velocity to avoid excessive fluctuations that could cause deviations from the current optimal solution. Each particle updates its position and velocity based on the reduced inertia weight (w) and the increased cognitive and social coefficients, gradually converging to the optimal solution and recording the current global optimal value to ensure the stability and efficiency of the final solution.
[0104] Phase transition criteria: The transition between the exploration phase and the development phase can be dynamically determined based on the number of iterations, the fitness change rate, and the dynamic adjustment mechanism. Based on the number of iterations, the phase can automatically switch to the development phase when half of the total number of iterations has been reached. Based on the fitness change rate, if the fitness value does not change significantly after multiple consecutive iterations, the phase can enter the development phase ahead of schedule. The dynamic adjustment mechanism is to flexibly determine the switching time by analyzing the fitness distribution and change trend of particles to ensure the sufficiency of the search in the exploration phase.
[0105] Step 2: Introduce an adaptive inertia weight adjustment strategy. In early iterations, a higher inertia weight is used to achieve broad search, ensuring that the solution fully covers the space and avoiding missing optimal solutions. In later iterations, the weight is gradually reduced, causing particles to gather near the current optimal solution for optimization. This strategy balances the exploration and convergence problems of the particle swarm optimization algorithm and dynamically adjusts parameters by monitoring fitness, better adapting to complex scheduling requirements. The specific steps are as follows:
[0106] Step 2.1, Dynamic Adjustment Formula for Inertia Weight: In each iteration, the inertia weight (w) is adjusted according to the following formula:
[0107] Where w max and w min These are the initial and minimum inertia weights, respectively; t is the current iteration number, T max α is the total number of iterations; α is an exponential parameter that controls the deceleration rate and determines the deceleration rate of the inertia weight.
[0108] Step 2.2, Adaptive Adjustment Scheme: In the initial stage of the algorithm, the inertia weight is set to a relatively high value to encourage the particle swarm to conduct a comprehensive search across the broad solution space, enhancing diversity and exploration capabilities. As iterations progress, the inertia weight gradually decreases in a linear or non-linear manner, approaching a smaller value, thereby strengthening the convergence performance of the particles and allowing them to focus more on optimization and refinement near the current solution. Simultaneously, to adapt to the current solution distribution of the particle swarm, the update rule of the inertia weight is adaptively and dynamically adjusted by monitoring the change in fitness, ensuring that the change in inertia weight matches the balance between the convergence requirements of the solution and the exploration depth, thus effectively improving the quality of the solution and optimization efficiency.
[0109] Step 3: Implement the stochastic particle swarm optimization algorithm within a multi-level optimization framework. The exploration phase involves randomly initializing particle positions to comprehensively screen potential optimal solutions; the development phase focuses on optimizing the scheduling scheme near the current optimal solution, gradually improving scheduling quality. Multi-level collaboration enhances the algorithm's global search and local optimization capabilities. Specific steps include:
[0110] Step 3.1: Initialize the particle swarm: Randomly generate the initial position and velocity of each particle. Position represents the task scheduling order, and velocity represents the rate at which the scheduling order changes. Set the initial inertia weight w. max The cognitive coefficient (c1) and the social coefficient (c2) provide sufficient flexibility for the initial search of particles;
[0111] Step 3.2, Update particle velocity and position: The velocity update formula is as follows:
[0112]
[0113] v id Let x represent the velocity of the particle on the i-th task. id Let pbest represent the position of the particle in the i-th task, and gbest represent the local optimum and global optimum positions, respectively.
[0114] The position update formula is as follows: By using the position update formula, particles gradually move closer to the optimal solution region, improving optimization efficiency.
[0115] Step 3.3: Update local and global optima: If the current fitness of a particle is better than the historical best, then update the local optimal position of the particle. If the local optimal value of all particles is better than the current global best, then update the global optimal position.
[0116] Step 4: Generate and validate the scheduling scheme. The scheduling order of tasks is determined by decoding particle positions, and the start and end times of tasks are calculated. Simultaneously, the scheme is validated to ensure it meets constraints such as resource allocation, task dependencies, and skill matching. The optimization effect is evaluated by comparing it with other methods, confirming its superiority and applicability in complex scenarios. Specific steps include:
[0117] Step 4.1: Generate Scheduling Scheme: In this stage, based on the final positions of the particles, the task scheduling order is decoded, and the start and completion times of each task are calculated. The final position of each particle represents the execution order of the tasks; according to the scheduling order, the start time s of each task is calculated sequentially. j and completion time f j =s j +d j Ensure that the timing of all tasks meets the initial conditions.
[0118] Step 4.2, Verify Constraints: Resource Constraint Check: Check whether the allocation of each resource at any time point t meets its capacity limit; ensure that the resource usage does not exceed its available quantity. Task dependency check: Verify that the start time of a task meets the completion time requirements of its predecessor tasks.
Claims
1. A crowdsourced resource scheduling method based on multi-level stochastic particle swarm optimization includes the following steps: Step 1: Construct a multi-skill resource-constrained project scheduling model, defining indices, parameters, variables, and decision variables. Establish the objective function and set constraints. Employ a multi-level optimization strategy to improve algorithm performance. The multi-level optimization strategy is implemented for different objectives in the exploration and development phases, as detailed below: Exploration Phase Setup: This phase initializes the position and velocity of the particle swarm. Each particle represents a possible task scheduling order, with its position reflecting the task order and its velocity representing the direction and magnitude of change in the scheduling order. A relatively high inertia weight ω is set, between 0.8 and 1.
2. The cognitive coefficient c1 and social coefficient c2 are set to 1.0 and 1.2 respectively. Each particle is configured based on its historical best position p. best and the global optimal position g best The update formulas for particle swarm velocity and position are shown below, where... It is the position vector of the i-th particle at iteration t. Let r1 be the velocity vector of the i-th particle at iteration t, and r2 be random numbers uniformly distributed in [0,1]. Development Phase Setup: After the exploration phase, the algorithm enters the development phase, with the following specific settings: A linear decreasing strategy is used to gradually reduce the inertia weight ω, where ω... max and ω min The initial and minimum inertia weights are set between 0.4 and 0.6, respectively, as shown in the following formula: The social coefficient and cognitive coefficient are gradually increased, set to c1=2.0 and c2=2.
5. During the development phase, the particle velocity is constrained. Each particle updates its position and velocity based on the reduced inertia weight ω and the increased cognitive and social coefficients, gradually converging to the optimal solution, and recording the current global optimal value. Phase transition criteria: The transition between the exploration phase and the development phase is dynamic, based on the number of iterations, the fitness rate of change, and the dynamic adjustment mechanism. Based on the number of iterations, the phase automatically switches to the development phase when the total number of iterations reaches half. If the fitness value does not change significantly after multiple iterations based on the fitness change rate, the development phase can be started earlier. Step 2: Introduce an adaptive inertia weight adjustment strategy, setting a higher inertia weight in the early iterations and gradually reducing the inertia weight in the later stages. Step 3: Implement the stochastic particle swarm optimization algorithm under the multi-level optimization framework. Based on the initial position and velocity of each particle, the position and velocity formula of the particle swarm described above is used to update the velocity and position based on the inertia weight, cognitive coefficient and social coefficient. The parameter settings of the exploration and development phases are executed respectively, and the local optimum and global optimum of the particles are recorded and updated. Step 4: Generate and verify the scheduling scheme. Determine the scheduling order of tasks by decoding particle positions, calculate the start and end times of tasks, and verify whether the scheme meets the skill matching constraints, task priority constraints, unique allocation constraints, resource usage restrictions, and variable usage restrictions.
2. The crowdsourcing resource scheduling method based on multi-level stochastic particle swarm optimization according to claim 1, characterized in that: Step 1 involves constructing a multi-skill resource-constrained project scheduling model, defining indices, parameters, variables, and decision variables, establishing an objective function and setting constraints, employing a multi-level optimization strategy, using high inertia weights and low cognitive and social coefficients in the exploration phase, and low inertia weights and high cognitive and social coefficients in the development phase, and implementing phase transitions based on preset rules. The specific steps are as follows: Step 1.1: Define the index, which consists of four parts: task index j, resource index r, time index t, and skill index k. Task index j defines the index of each task in the task set, with values ranging from j = 1, 2, ..., J; resource index r defines the index of each resource in the resource set, with values ranging from r = 1, 2, ..., K; time index t defines the index of a specific time point, used to represent the execution status of a task at a particular time; and skill index k defines the index of each skill in the skill set, with values ranging from k = 1, 2, ..., N. Step 1.2: Define the model parameters, which consist of six parts: resource set R, task set J, skill plan S, resource quantity K, and skill quantity N. The resource set R contains all available resources; the task set J contains all tasks that need to be scheduled; the skill plan S contains all skills required for task execution; the resource quantity K is the total number of resources in the project; and the skill quantity N is the total number of skills in the project. Step 1.3: Define model variables, which consist of eight parts, namely resources R r Task T j Skill S k Task duration d j Task start time s j Skill requirements and proficiency level jk Resource mastery level Q rk Prerequisite task set P j Resource R r The r-th resource represents a specific resource within the resource set; task T j The j-th task is a specific task within the task set; skill S k The k-th skill represents a specific skill within the skill set; the task duration d... j It is task T j Execution duration; task start time (s) j It is task T j Start time; skill requirement proficiency level jk It is task T j Skill S k Proficiency requirements; resource mastery level Q rk It is resource R r Skill S k Mastery and proficiency, prerequisite task set P j It is task T j The set of prerequisite tasks; Step 1.4: Define the decision variables, which consist of two parts: the allocation variable x. jr and execution variable y jrt : Step 1.5: Construct the objective function. The objective function describes the maximum completion time of all tasks in the project, i.e., the total project duration and task duration d. j Task start time s j Task index j, task set J, are defined as follows: Minimize max j∈J {s j +d j } In the exploration and development phases, task priority weights are adjusted according to the importance of the tasks, allowing the optimization objective to adapt to the optimization needs of different phases. Here, Z is the value of the objective function, w1 + w2 = 1, and the weights w1 and w2 are dynamically adjusted according to the phase. j It is the completion time of task j, p j It is a priority coefficient: Step 1.6: Construct constraints. Constraints include the following types: The task priority constraints are as follows, where s j It is the start time of the task, d j It is the duration of the task, and the set of preceding tasks P. j : Skill matching constraints are as follows, l jk For skill requirements, proficiency, Q rk For resource mastery level, R represents the resource set, J represents the task set, and S represents the skill plan: The unique assignment constraint is as follows: This constraint stipulates that each task can only be assigned to one resource for execution, where t is the time index. The resource usage restrictions are as follows: The range of variable values is constrained as follows: Step 1.7: Setting up a multi-level optimization strategy. To improve algorithm performance, a multi-level optimization strategy is implemented in both the exploration and development phases, targeting different objectives, as detailed below: Exploration Phase Setup: This phase initializes the position and velocity of the particle swarm. Each particle represents a possible task scheduling order, with its position reflecting the task order and its velocity representing the direction and magnitude of change in the scheduling order. A relatively high inertia weight ω is set, between 0.8 and 1.
2. The cognitive coefficient c1 and social coefficient c2 are set to 1.0 and 1.2 respectively. Each particle is configured based on its historical best position p. best and the global optimal position g best The update formulas for particle swarm velocity and position are shown below, where... It is the position vector of the i-th particle at iteration t. Let r1 be the velocity vector of the i-th particle at iteration t, and r2 be random numbers uniformly distributed in [0,1]. Development Phase Setup: After the exploration phase, the algorithm enters the development phase, with the following specific settings: A linear decreasing strategy is used to gradually reduce the inertia weight ω, where ω... max and ω min The initial and minimum inertia weights are set between 0.4 and 0.6, respectively, as shown in the following formula: The social coefficient and cognitive coefficient are gradually increased, set to c1=2.0 and c2=2.
5. During the development phase, the particle velocity is constrained. Each particle updates its position and velocity based on the reduced inertia weight ω and the increased cognitive and social coefficients, gradually converging to the optimal solution, and recording the current global optimal value. Phase transition criteria: The transition between the exploration phase and the development phase is dynamic, based on the number of iterations, the fitness rate of change, and the dynamic adjustment mechanism. Based on the number of iterations, the phase automatically switches to the development phase when the total number of iterations reaches half. If the fitness value does not change significantly after multiple iterations based on the fitness change rate, the development phase can be started earlier.
3. The crowdsourcing resource scheduling method based on multi-level stochastic particle swarm optimization according to claim 1, characterized in that: Step 2 introduces an adaptive inertia weight adjustment strategy. In the early iterations, a higher inertia weight is set, and in later iterations, the inertia weight is gradually reduced. The specific steps are as follows: Step 2.1, Dynamic Adjustment Formula for Inertia Weight: In each iteration, the inertia weight w will be adjusted according to the following formula. Where ω max and ω min These are the initial and minimum inertia weights, respectively. t is the current iteration number, T max α is the maximum number of iterations; α is an exponential parameter that controls the decrement rate. Step 2.2 Adaptive Adjustment Scheme: In the initial stage of the algorithm, the inertia weight is set to a relatively high value; as the iteration progresses, the inertia weight will gradually decrease in a linear or non-linear manner, approaching a smaller value, so that it can focus more on the optimization and refinement near the current solution. The inertia weight is dynamically adjusted at different stages, and the parameters are adjusted according to the changes in fitness.
4. The crowdsourcing resource scheduling method based on multi-level stochastic particle swarm optimization according to claim 1, characterized in that: Step 3 implements a stochastic particle swarm optimization algorithm within a multi-level optimization framework. It initializes the particle swarm's position and velocity, updates the velocity and position based on inertia weights, cognitive coefficients, and social coefficients, executes parameter settings from the exploration and development phases respectively, and records and updates the individual and global optima of each particle. The specific steps are as follows: Step 3.1: Initialize the particle swarm: Randomly generate the initial position and velocity of each particle, where position represents the task scheduling order and velocity represents the rate at which the scheduling order changes; set the initial inertia weight w. max The cognitive coefficient c1 and the social coefficient c2 provide sufficient flexibility for the initial search of particles; Step 3.2: Update particle velocity and position. Update particle velocity and position according to the particle swarm position and velocity formula described in claim 1. Step 3.3: Update local and global optima: If the current fitness of a particle is better than the historical best, then update the local optimal position of the particle. If the local optimal value of all particles is better than the current global best, then update the global optimal position.
5. The crowdsourced resource scheduling method based on multi-level stochastic particle swarm optimization according to claim 1, characterized in that: Step 4 generates and verifies the scheduling scheme. This involves determining the task scheduling order by decoding particle positions, calculating the task start and end times, and verifying whether the scheme meets resource allocation, task dependency, and skill matching constraints. The specific steps are as follows: Step 4.1, Generate scheduling scheme: In this stage, based on the final position of the particles, decode the task scheduling order, calculate the start and completion time of each task, and the final position of each particle represents the execution order of the tasks. Calculate the start time s of each task according to the scheduling order. j and completion time f j , where f j =s j +d j ; Step 4.2, Verify Constraints: Resource Constraint Check: Check whether the allocation of each resource at any time point t meets its capacity limit, ensuring that the resource usage does not exceed its available quantity. Task dependency check: Simultaneously verify whether the solution meets the skill matching constraint, task priority constraint, unique allocation constraint, resource usage restriction constraint, and variable usage restriction constraint.