CN112148446B - Evolutionary strategy method for multi-skill resource limited project scheduling - Google Patents

Evolutionary strategy method for multi-skill resource limited project scheduling Download PDF

Info

Publication number
CN112148446B
CN112148446B CN202011001300.3A CN202011001300A CN112148446B CN 112148446 B CN112148446 B CN 112148446B CN 202011001300 A CN202011001300 A CN 202011001300A CN 112148446 B CN112148446 B CN 112148446B
Authority
CN
China
Prior art keywords
population
resource
task
individual
individuals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011001300.3A
Other languages
Chinese (zh)
Other versions
CN112148446A (en
Inventor
熊体凡
田源
刘振元
高鑫浩
吴航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202011001300.3A priority Critical patent/CN112148446B/en
Publication of CN112148446A publication Critical patent/CN112148446A/en
Application granted granted Critical
Publication of CN112148446B publication Critical patent/CN112148446B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses an evolution strategy algorithm for multi-skill resource limited project scheduling, which comprises the steps of setting algorithm parameters and initialization variables, initializing a population, executing mutation operation on individuals in the population, evaluating the population fitness, updating the pareto population, selecting a parent population of the next generation, judging whether an iteration termination condition is met, if the condition is met, terminating a program, outputting the pareto population and the like; the invention further considers the switching condition of the resources when using different skills, and is more practical in application. The new individual code structure only represents the resource assignment of the task, reducing the search space. The new plan generating scheme adopts a greedy strategy, the tasks are divided into two sets, the starting time of the tasks is sequentially arranged, unnecessary skill switching is reduced as much as possible, and the construction period and the cost of the generated scheduling scheme are greatly reduced. The ductility, diversity and convergence of the solution set are better than those of the existing similar algorithm.

Description

Evolutionary strategy method for multi-skill resource limited project scheduling
Technical Field
The invention relates to the technical field of intelligent optimization algorithms, in particular to an evolutionary strategy algorithm for multi-skill resource limited project scheduling under a skill switching background.
Background
Resource constrained project scheduling (Resource Constrained Project Scheduling Problem, RCPSP) is the most classical combined optimization problem in operations research and project management. The most basic RCPSP problem study is to schedule the start time of each task under the condition of limited resources, and meet the upper limit of the resource consumption and the constraint immediately before the tasks. The objective function of a problem is often the shortest of project construction period class index or cost class index. The problem of scheduling resource-constrained projects is not fully applicable to various practical scenarios.
The Multi-skill resource constrained project scheduling problem (Multi-skill Resource Constrained Project Scheduling Problem, MS-RCPSP) is an extended class of problems for RCPSP. The problem assumes that the resource has one (or more) skills, as compared to the homogenized resource assumed in RCPSP, different tasks need to be completed by the resource with the specific skills. Such problems are often used in human resource scheduling or flexible manufacturing plants. Human resource scheduling considering skills is commonly found in the crowdsourcing research and development of complex products or in the software development industry, and the skills of tasks have great difference in requirements and need to be completed by people with the skills. In a flexible manufacturing plant, a certain process of a workpiece may be performed by a certain machine having processing conditions.
Methods for solving scheduling class problems can be broadly divided into three major classes, exact algorism (Exact algorism), heuristic Algorithm (Heuristics) and intelligent optimization Algorithm (INTELLIGENT OPTIMIZATION ALGORITHM). The accurate algorithm is mainly a branch-and-bound algorithm, and can be used for obtaining the optimal solution of the problem, but the problem which can be solved is small in scale and cannot be found in the face of a large-scale problem in practical application. The heuristic algorithm is based on Priority Rules (PR) and plan generation schemes (Schedule Generator Scheme, SGS). The quality of the solution it generates depends greatly on the design and choice of the priority rules. The best rules that are often applied are different for different practical problems. The intelligent optimization algorithm is based on random search, and attempts to find a better solution in a limited time by utilizing the powerful computing power of a computer. The algorithm has simple design thought and wide solving problem. Common intelligent Optimization algorithms include genetic algorithm (Genetic Algorithm), simulated annealing (Simulated Annealing), particle swarm algorithm (PARTICLE SWARM Optimization), and the like. Scientific researchers often have performed minor improvements on some of the steps performed in these classical algorithms to design new algorithms. Generally, the intelligent optimization algorithm comprises the following elements: (1) A set of codes corresponding to the schedule generation plan according to a certain corresponding rule; (2) Decoding, namely converting the codes into a feasible scheduling scheme by adopting a certain rule; (3) An initial solution, a group of codes obtained by other methods are adopted, and the codes correspond to an initial feasible scheduling scheme; (4) A neighborhood solution, a set of codes gets a set of all new codes through a neighborhood search operator (local search operator).
The existing multi-skill resource limited project scheduling problem and algorithm have the following defects:
1) In multi-skill limited project scheduling, most scheduling problems assume that resources do not take time to switch between different skills, but in practical applications, the time taken for skill switching is often considerable. Such as when an employee is performing tasks of different skill types, some preparation work is required, such as going to a different configuration of work stations, obtaining the appropriate tools, etc. In a manufacturing plant, machining of workpieces of different requirements may mean changing different types of tools, stock or clamping devices. These operations take additional time and frequent switching can extend the completion time of the project. Therefore, it is also important to reasonably arrange the execution order of tasks on the resource.
2) At present, an intelligent optimization algorithm aiming at multi-skill resource limited project scheduling is mainly based on a single target, and multi-target research is relatively few. In the existing algorithm, individual codes often adopt a double-list form, so that the search space is large, the solving efficiency is low, and the quality of the obtained non-dominant solution set is low.
3) The intelligent optimization algorithm proposed at present does not perform special optimization for skill switching scenes, so that the solution efficiency is low, and a relatively large solution is difficult to find in a relatively large-range solution space. In the existing intelligent computing algorithm, no effective encoding and decoding schemes, local search operators and the like aiming at the problem are discussed.
Disclosure of Invention
The present invention aims to solve the above problems by providing an evolutionary strategy algorithm for multi-skill resource-constrained project scheduling.
The invention realizes the above purpose through the following technical scheme:
The invention comprises the following steps:
S1: setting algorithm parameters and initialization variables;
s2: initializing a population;
S3: performing a mutation operation on individuals in the population;
S4: evaluating population fitness;
s5: updating the pareto population;
s6: selecting a parent population of the next generation;
S7: judging whether the iteration termination condition is met, if so, terminating the program and outputting the pareto population, otherwise, continuing to execute the step three.
Further, the step S1 specifically includes: setting a population size P size, generating a number lambda by offspring, generating resource balance strength E and maximum iteration times G max; initializing a current iteration number g=0, and a parent population setOffspring population collectionPareto solution set/>The pareto solution set is defined as: in the multi-objective optimization problem, for two solutions S1 and S2, if each objective of S1 is not worse than S2 and at least one objective is better than S2, S1 dominates S2, and if S1 is not dominated by other solutions of the population, S1 is said to be a non-dominated solution of the population, and all non-dominated solutions of one population constitute a Pareto solution set of the population.
The step S2: individuals in the population are encoded with integers of length N, denoted rl= { R (1), R (2),. R (N) }; n is the scale of the task set of the problem to be solved; r (i) represents the resource sequence number assigned by task T i; this step is divided into two sub-steps:
S2.1: in the initialization stage, the population generates only one individual according to a strategy of 'lowest cost-longest construction period'; specifically, for each task, a resource with the lowest labor cost is allocated to a set of resources capable of executing the task, and if there are a plurality of resources with the lowest labor cost, a resource with the smallest resource number is selected, that is
S2.2: in the fitness evaluation phase, the plan generation scheme (SGS) converts the individual p codes into a viable scheduling scheme and calculates its objective function.
The tasks to be scheduled are divided into two sets: the integration of a 1 includes tasks with a constraint relationship immediately before; the set two A 2 contains the rest tasks without the constraint relation immediately before. The greedy strategy embodies the task in the first pair arrangement set and then the task in the second pair arrangement set. The tasks T j∈A1 in the aggregate are arranged in ascending order of their sequence numbers, each task is arranged with its start time s j according to the resources specified in the individual code RL, and tasks for which task completion is assigned are added to the execution queue pi r of the corresponding resource. For tasks in set two A 2, classifying the tasks according to the designated resources (information of the individual coded RL), sorting the tasks executed on the same resource according to time cost of skill switching by adopting a greedy strategy, then scheduling starting time of each task, and adding the scheduled tasks into an execution queue pi r of the corresponding resource. Finally, all tasks are scheduled, and the construction period and cost of the whole project are calculated according to equations (5) and (6). The fitness of individual p is construction period and cost, respectively, and is denoted as fitness p,1 and fitness p,2, respectively.
The step S3: taking each individual in the population P as a father, and generating lambda child generation individuals by each father (P epsilon P) so as to form a child set Q; the mutation operation is executed by a resource balancing operator, and the steps are as follows:
s3.1: reading a scheduling scheme generated by a parent body, and calculating the actual working time u r (R epsilon R) of each resource according to the task pi r (R epsilon R) allocated to each resource in the scheme; initializing a count variable n=0; the coding of parent p is duplicated and named q;
S3.2: selecting a resource R s (s E R) according to a roulette rule (Roulette Selection) by taking the time working duration u r of the resource as a weight; the higher the weight, the greater the probability of being selected;
S3.3: for the selected resource R s, a task on that resource is randomly selected (T i∈πr) and reassigned to the other resource R x(x∈Ri),
S3.4: applying the change in the newly assigned resource to the new individual code;
S3.5: counting variable self-increment n=n+1; if n is less than or equal to E, turning to the step A2; otherwise, outputting the newly generated individual Q and adding the newly generated individual Q into the child set Q, and ending the operator execution.
The step S4 is as follows: the fitness of each individual Q ε Q in the child population is evaluated to find the generated time period (fitness q,1) and cost fitness (fitness q,2) for each individual.
The step S6:
S6.1: sequencing individuals in the PA, wherein the sequence is firstly arranged in ascending order according to the dominant level of the individuals; if the individual dominant grades are the same, then arranging according to the descending order of the crowding degree; specifically, it is assumed that there are two individuals (p, q ε PA), and the arrangement order is determined by the following formula:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
s6.2: the number of iterations increases by g=g+1.
The step S7: judging whether the iteration termination condition (G < G_max) is met, if so, terminating the program and outputting non-dominant individuals in the PA set, otherwise, continuing to execute the step S3.
The invention has the beneficial effects that:
the invention relates to an evolutionary strategy algorithm for multi-skill resource limited project scheduling, which has the following advantages compared with the prior art:
1. Compared with the classical multi-skill resource limited project scheduling problem, the method further considers the switching situation of resources when different skills are used, and is more practical in application.
2. The invention provides a new individual coding structure and a plan generation scheme. The new individual code structure only represents the resource assignment of the task, reducing the search space. The new plan generating scheme adopts a greedy strategy, the tasks are divided into two sets, the starting time of the tasks is sequentially arranged, unnecessary skill switching is reduced as much as possible, and the construction period and the cost of the generated scheduling scheme are greatly reduced.
3. The invention provides a mutation operator based on resource balance, which reduces the difference of different resource use time by carrying out resource balance operation on a scheduling scheme generated by a parent individual, thereby reducing the construction period of a child individual and generating the child individual with higher quality.
4. The invention provides a multi-objective evolutionary strategy algorithm for solving the problems, and the solution quality can be remarkably improved by applying an individual coding structure, a plan generation scheme and a mutation operator based on resource balance. The ductility, diversity and convergence of the solution set are better than those of the existing similar algorithm.
Drawings
FIG. 1 is a skill switching matrix of the present invention;
FIG. 2 is a flowchart of an algorithm of the present invention;
FIG. 3 is a schematic illustration of a mutation operator implementation of the present invention;
Fig. 4 is a graph comparing the effects of the algorithm of the present invention.
Detailed Description
The invention is further described below with reference to the accompanying drawings:
The multi-skill resource constrained project scheduling problem that considers skill switches can be described in detail as: a project contains a task set J, a skill set Q, and a resource set R. For each task T j (j=1, 2,., N), its construction period is d j and is uninterruptible. There is an "end-start" immediately preceding constraint between tasks, i.e., task T j can only begin execution after all tasks within its immediately preceding set P j have ended. There are K skills in the skill set, i.e., q= { Q 1,Q2,...,QK }. For each resource R r in the resource set (r=1, 2,..m), it provides a set of skills Q r={qr,1,qr,2,...,qr,h, where each skill has a ranking of { l r,1,lr,2,....,lr,h }. Each task requires only one resource to execute with Q j e Q and skill level no less than l j. The man-hour cost of resource R r is c r, which can only perform one task at a time.
Resources require additional time to switch skills when performing tasks requiring different skills. Specifically, the switching time of skill is determined by the matrix w= (ω k,l), representing the additional time required to switch from skill Q k to Q l. The switching time between the same skill is 0, and further, a switching matrix b= (B i,j) between tasks can be generated according to the skill switching matrix, which represents the switching time between different tasks. The time is independent of resources and only represents the switching relation between different tasks due to skill type differences.
Without loss of generality, a virtual start task (dummy start) and a virtual end task (dummy end) are introduced into the project. The period of time for both tasks is 0 (d 0=dE =0), and the switching time from the dummy task to all tasks is 0. Before the project starts, all resources are concentrated at the virtual starting task, and after the project ends, all resources are concentrated at the virtual ending task.
The goal of this problem is to generate a scheduling scheme: in the case where skill constraints, immediately preceding constraints, and switch times are satisfied, it is arranged at what resource each task in the set of tasks should be executed by.
There are two objective functions of this problem: the execution period of the project and the total execution cost of the project. Project execution period is determined by the end time of the virtual end task in the project. The total execution cost of the project is determined by the unit cost of the resource and the working time of the resource. The working time is divided into two parts: ① The time the resource spends in executing the task; ② The time it takes for a resource to switch between skills.
According to the above described problem, a mathematical model is built, which includes decision variables, objective functions and constraints.
Decision variables:
s j is more than or equal to 0; (end time of task j) (1)
Objective function: equation (5) is the execution period of the project, and equation (6) is the total execution cost of the project.
Minimize Makespan=sE (5)
Wherein f E is the end time of the virtual end task (dummy end).
Constraint conditions:
Equation (7) represents the "end-start" constraint between tasks.
Where P j represents the immediately preceding task set of task T j.
Equation (8) represents a skill switch time constraint between tasks performed on the same resource.
Equation (9) represents the capability constraint of the resource, i.e., the resource R r needs skills with task requirements (q r,h=qj) and the skill level is not less than the level of task requirements (l r,h≥lj).
Equation (10) indicates that if task T j is performed on resource R r, then task T i must be performed before it.
Equation (11) indicates that if task T i is executed on resource R r, then task T j must be executed thereafter.
Equation (12) indicates that each task should be performed by one resource.
Equation (13) indicates that only one task can be executed by one resource at a time.
Equation (14) indicates that at the beginning, all resources are concentrated at the virtual start task.
Equation (15) shows that at the end stage, all resources are concentrated at the virtual end task.
And (3) solving the algorithm:
the invention provides a new individual coding and decoding mechanism based on an evolution strategy (Evolution Strategy, ES) algorithm, and designs a new mutation operator and selection.
The scheduling solution of the algorithm mainly comprises the following steps: step one: setting algorithm parameters and initialization variables; step two: initializing a population; step three: performing a mutation operation on individuals in the population; step four: evaluating population fitness; step five: updating the pareto population; step six: selecting a parent population of the next generation; step seven: judging whether the iteration termination condition is met, if so, terminating the program and outputting the pareto population, otherwise, continuing to execute the step three. The specific flow chart is as follows:
Step one: and setting algorithm parameters and initialization variables.
And setting the population size P size, generating a number lambda by using offspring, and generating the resource balance strength E and the maximum iteration number G max. Initializing a current iteration number g=0, and a parent population setOffspring population collections/>Pareto solution set/>
The pareto solution set is defined as: in the multi-objective optimization problem, for two solutions S1 and S2, if each objective of S1 is not worse than S2 and at least one objective is better than S2, S1 dominates S2, and if S1 is not dominated by other solutions of the population, S1 is said to be a non-dominated solution of the population, and all non-dominated solutions of one population constitute a Pareto solution set of the population.
Step two: the population is initialized and fitness is calculated.
Individuals in the population are encoded with integers of length N, denoted rl= { R (1), R (2),... Where N is the task set size of the problem to be solved. R (i) represents the resource sequence number assigned by task T i. This step is divided into two sub-steps.
Step 2.1: in the initialization phase, the population generates only one individual according to the "least cost-longest construction" strategy. Specifically, for each task, a resource with the lowest labor cost is allocated to a set of resources capable of executing the task, and if there are a plurality of resources with the lowest labor cost, a resource with the smallest resource number is selected, that is
Step 2.2: in the fitness evaluation phase, the plan generation scheme (SGS) converts the individual p codes into a viable scheduling scheme and calculates its objective function.
The tasks to be scheduled are divided into two sets: the integration of a 1 includes tasks with a constraint relationship immediately before; the set two A 2 contains the rest tasks without the constraint relation immediately before. The greedy strategy embodies the task in the first pair arrangement set and then the task in the second pair arrangement set. The tasks T j∈A1 in the aggregate are arranged in ascending order of their sequence numbers, each task is arranged with its start time s j according to the resources specified in the individual code RL, and tasks for which task completion is assigned are added to the execution queue pi r of the corresponding resource. For tasks in set two A 2, classifying the tasks according to the designated resources (information of the individual coded RL), sorting the tasks executed on the same resource according to time cost of skill switching by adopting a greedy strategy, then scheduling starting time of each task, and adding the scheduled tasks into an execution queue pi r of the corresponding resource. Finally, all tasks are scheduled, and the construction period and cost of the whole project are calculated according to equations (5) and (6). The fitness of individual p is construction period and cost, respectively, and is denoted as fitness p,1 and fitness p,2, respectively.
Step three: a mutation operation is performed on individuals in the population.
With each individual in population P as a parent, each parent (P ε P) generates λ child generations of individuals, forming a set of children Q.
The mutation operation is executed by a resource balancing operator, and the steps are as follows:
Step A1: and reading a scheduling scheme generated by the father body, and calculating the actual working time u r (R epsilon R) of each resource according to the task pi r (R epsilon R) allocated to each resource in the scheme. Initializing a count variable n=0. The coding of parent p is replicated and named q.
Step A2: with the time duration u r of the resource as a weight, a resource R s (s ε R) is selected according to the roulette rule (Roulette Selection). The higher the weight, the greater the probability of being selected.
Step A3: for the selected resource R s, a task on that resource is randomly selected (T i∈πr) and reassigned to the other resource R x(x∈Ri),
Step A4: the modification of the newly assigned resources is applied to the new individual codes.
Step A5: the count variable is incremented by n=n+1. If n is less than or equal to E, turning to the step A2; otherwise, outputting the newly generated individual Q and adding the newly generated individual Q into the child set Q, and ending the operator execution.
Step four: and evaluating population fitness.
The fitness of each individual Q e Q in the offspring population is evaluated and the calculation method is referred to above in step 2.2 to find the generated construction period (fitness q,1) and cost fitness (fitness q,2) of each individual.
Step five: updating the pareto population.
Step 5.1: the child set Q is added to the pareto set, i.e., pa=pa.
Step 5.2: individuals that repeat in set PA, i.e., encode the same individuals, are removed.
Step 5.3: the individuals in the set PA are classified into different dominant classes p tank by a fast non-dominant ranking algorithm, and the crowdedness p distance of the individuals in each layer is calculated. Where the rank of a non-dominant individual is 1, and so on, the higher the rank, the more the number of individuals that are dominant by other individuals.
Step six: a parent population of the next generation is selected.
Step 6.1: the individuals in the PA are ordered, with the order first ascending according to the individual's dominant rank. If the individual dominance levels are the same, the individuals are ranked in descending order of congestion level. Specifically, it is assumed that there are two individuals (p, q ε PA), and the arrangement order is determined by the following formula:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
step 6.2: the number of iterations increases. g=g+1
Step seven: judging whether the iteration termination condition (G < G max) is met, if so, terminating the program and outputting non-dominant individuals in the PA set, otherwise, continuing to execute the step three.
Examples:
An item consists of 100 tasks, 5 resources and 9 skills. The task sequence number, the period d j, the required skill q j and the ranking l j, and the immediately preceding task set P j are shown in Table 1. The number of resources, the man-hour cost c r, and the mastery skill set Q r are shown in table 2. The inter-skill switch time matrix B is shown in fig. 1.
TABLE 1 task set Property
TABLE 2 resource set Property
B=aiming at the case, the multi-skill resource limited project scheduling method considering skill switching based on the multi-target evolution strategy comprises the following implementation steps:
Step one: and setting algorithm parameters and initialization variables.
The population size P size =20, the child generation number λ=2, the resource balance strength e=5, and the maximum iteration number G max =625.
Initializing a current iteration number g=0, and a parent population setOffspring population collections/>Pareto solution set/>
Step two: initializing a population.
Individuals in the population are encoded with integers of length N, denoted rl= { R (1), R (2),... Where N is the task set size of the problem to be solved. R (i) represents the resource sequence number assigned by task T i. This step is divided into two sub-steps.
Step 2.1: in the initialization phase, the population generates only one individual according to the "least cost-longest construction" strategy. Specifically, for each task, a resource with the lowest labor cost is allocated to a set of resources capable of executing the task, and if there are a plurality of resources with the lowest labor cost, a resource with the smallest resource number is selected, that isThe individual p * codes generated according to this strategy are shown below:
step 2.2: in the fitness evaluation phase, the plan generation scheme (SGS) converts the individual p codes into a viable scheduling scheme and calculates its objective function.
The tasks to be scheduled are divided into two sets: the integration of a 1 includes tasks with a constraint relationship immediately before; the set two A 2 contains the rest tasks without the constraint relation immediately before. The greedy strategy embodies the task in the first pair arrangement set and then the task in the second pair arrangement set. The tasks T j∈A1 in the aggregate are arranged in ascending order of their sequence numbers, each task is arranged with its start time s j according to the resources specified in the individual code RL, and tasks for which task completion is assigned are added to the execution queue pi r of the corresponding resource. For tasks in set two A 2, classifying the tasks according to the designated resources (information of the individual coded RL), sorting the tasks executed on the same resource according to time cost of skill switching by adopting a greedy strategy, then scheduling starting time of each task, and adding the scheduled tasks into an execution queue pi r of the corresponding resource. Finally, all tasks are scheduled, and the construction period and cost of the whole project are calculated according to equations (5) and (6).
The fitness of individual p is construction period and cost, respectively, and is denoted as fitness p,1 and fitness p,2, respectively.
In this case, the tasks contained in sets A1 and A2 are as follows:
A1={12,19,29,30,35,36,37,39,43,46,47,50,52,53,54,55,56,57,58,61,63,64,65,67,71,72,75,78,79,83,85,91,92,96,97}
A2={1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,31,32,33,34,38,40,41,42,44,45,48,49,51,59,60,62,66,68,69,70,73,74,76,77,80,81,82,84,86,87,88,89,90,93,94,95,98,99,100}
after generating the scheduling plan with the code of the individual p *, the execution sequence pi r of each resource is as follows:
The fitness of the individual p * is the construction period and the cost, respectively, and is noted as fitness p,1 =1118 and fitness p,2 = 187797, respectively.
Step three: a mutation operation is performed on individuals in the population.
With each individual in population P as a parent, each parent (P ε P) generates λ child generations of individuals, forming a set of children Q.
The mutation operation is executed by a resource balancing operator, and the steps are as follows:
Step A1: and reading a scheduling scheme generated by the father body, and calculating the actual working time u r (R epsilon R) of each resource according to the task pi r (R epsilon R) allocated to each resource in the scheme. Initializing a count variable n=0. The coding of parent p is replicated and named q.
Step A2: with the time duration u r of the resource as a weight, a resource R s (s ε R) is selected according to the roulette rule (Roulette Selection). The higher the weight, the greater the probability of being selected.
Step A3: for the selected resource R s, a task on that resource is randomly selected (T i∈πr) and reassigned to the other resource R x(x∈Ri),
Step A4: the modification of the newly assigned resources is applied to the new individual codes.
Step A5: the count variable is incremented by n=n+1. If n is less than or equal to E, turning to the step A2; otherwise, outputting the newly generated individual Q and adding the newly generated individual Q into the child set Q, and ending the operator execution.
Taking the individual p * as an example, the mutation operation is shown in FIG. 3. In step A1, the working time length mu r and the task sequence pi r of the resource in the coding scheduling scheme of the individual p * are read. In step A2, roulette is performed with the actual working time u r as a weight, assuming that the resource R 5 is selected. In step A3, it is assumed that task T 91 is selected in the work execution sequence of resource R 5, and the task is assigned to other resources, such as resource R 2. In step A4, this reassignment is applied to the encoding of child individual q, i.e., the encoding of index bit 91 is changed to 2. And fifthly, the counting variable n is self-increased. If n is less than or equal to E, turning to the step A2; otherwise, outputting the newly generated individual Q and adding the newly generated individual Q into the child set Q, and ending the operator execution.
Step four: and evaluating population fitness.
The fitness of each individual Q e Q in the offspring population is evaluated and the calculation method is referred to above in step 2.2 to find the generated construction period (fitness q,1) and cost fitness (fitness q,2) of each individual.
Step five: updating the pareto population.
Step 5.1: the child set Q is added to the pareto set, i.e., pa=pa.
Step 5.2: individuals that repeat in set PA, i.e., encode the same individuals, are removed.
Step 5.3: the individuals in the set PA are classified into different dominant classes p rank by a fast non-dominant ranking algorithm, and the crowdedness p distance of the individuals in each layer is calculated. Where the rank of a non-dominant individual is 1, and so on, the higher the rank, the more the number of individuals that are dominant by other individuals.
Step six: a parent population of the next generation is selected.
Step 6.1: the individuals in the PA are ordered, with the order first ascending according to the individual's dominant rank. If the individual dominance levels are the same, the individuals are ranked in descending order of congestion level. Specifically, it is assumed that there are two individuals (p, q ε PA), and the arrangement order is determined by the following formula:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
step 6.2: the number of iterations increases. g=g+1
Step seven: judging whether the iteration termination condition is met, if so, terminating the program and outputting the pareto population, otherwise, continuing to execute the step three.
The present embodiment is computer-implemented and compared to the existing multi-skill resource constrained project scheduling algorithms NTGA and MOFOA in the literature. Fig. 4 shows a comparison of the proposed algorithm with the pareto solution set of NTGA and MOFOA at the same number of evaluations, and it can be seen that the proposed multi-objective evolutionary strategy algorithm of the present invention is better in solution ductility, diversity and convergence than the currently existing algorithms. Under multi-objective optimization, all solutions in the pareto set of the algorithm disclosed by the invention are dominant to all solutions in the other two algorithms, so that the algorithm can be seen to have a better effect on solving the problem of scheduling the multi-objective resource-limited project considering skill switching, and the quality of the solutions is better.
The symbols in the mathematical model of the invention are as follows:
/>
the foregoing has shown and described the basic principles and main features of the present invention and the advantages of the present invention. It will be understood by those skilled in the art that the present invention is not limited to the embodiments described above, and that the above embodiments and descriptions are merely illustrative of the principles of the present invention, and various changes and modifications may be made without departing from the spirit and scope of the invention, which is defined in the appended claims. The scope of the invention is defined by the appended claims and equivalents thereof.

Claims (4)

1. An evolutionary strategy method for multi-skill resource constrained project scheduling, comprising the steps of:
S1: setting algorithm parameters and initialization variables;
s2: initializing a population;
S3: performing a mutation operation on individuals in the population;
S4: evaluating population fitness;
s5: updating the pareto population;
s6: selecting a parent population of the next generation;
S7: judging whether the iteration termination condition is met, if so, terminating the program and outputting the pareto population, otherwise, continuing to execute the step S3;
The S1 specifically comprises the following steps: setting a population size P size, generating a number lambda by offspring, generating resource balance strength E and maximum iteration times G max; initializing a current iteration number g=0, and a parent population set Offspring population collections/>Pareto solution setThe pareto solution set is defined as: in the multi-objective optimization problem, for two solutions S1 and S2, if each objective of S1 is not worse than S2 and at least one objective is better than S2, S1 dominates S2, and if S1 is not dominated by other solutions of the population, S1 is called a non-dominated solution of the population, and all non-dominated solutions of the population constitute a Pareto solution set of the population;
The S2: individuals in the population are encoded with integers of length N, denoted rl= { R (1), R (2),. R (N) }; n is the scale of the task set of the problem to be solved; r (i) represents the resource sequence number assigned by task T i; this step is divided into two sub-steps:
S2.1: in the initialization stage, the population generates only one individual according to a strategy of 'lowest cost-longest construction period'; specifically, for each task, a resource with the lowest labor cost is allocated to a set of resources capable of executing the task, and if there are a plurality of resources with the lowest labor cost, a resource with the smallest resource number is selected, that is
S2.2: in the fitness evaluation stage, the plan generation scheme SGS converts the codes of the individuals p into a feasible scheduling scheme and calculates an objective function of the scheduling scheme;
The S3: taking each individual in the population P as a father, and generating lambda child generation individuals by using each father P epsilon P so as to form a child set Q; the mutation operation is executed by a resource balancing operator, and the steps are as follows:
S3.1: reading a scheduling scheme generated by a parent body, and calculating the actual working time u r of each resource according to the task pi r allocated to each resource in the scheme; initializing a count variable n=0; the coding of parent p is duplicated and named q;
S3.2: selecting a resource R s according to a roulette rule by taking the time working duration u r of the resource as a weight; the higher the weight, the greater the probability of being selected;
S3.3: for the selected resource R s, randomly selecting a certain task T i∈πr on the resource, and reassigning the task T i∈πr to other resources R x;
S3.4: applying the change in the newly assigned resource to the new individual code;
S3.5: counting variable self-increment n=n+1; if n is less than or equal to E, turning to the step A2; otherwise, outputting the newly generated individual Q and adding the newly generated individual Q into the child set Q, and ending the operator execution.
2. The evolutionary strategy method for multi-skill resource limited project scheduling of claim 1, wherein: the S4 is as follows: and evaluating the fitness of each individual Q epsilon Q in the child population, and obtaining the generated construction period fitness_ (Q, 1) and the cost fitness fitness_ (Q, 2) of each individual.
3. The evolutionary strategy method for multi-skill resource limited project scheduling of claim 1, wherein: the S6:
S6.1: sequencing individuals in the PA, wherein the sequence is firstly arranged in ascending order according to the dominant level of the individuals; if the individual dominant grades are the same, then arranging according to the descending order of the crowding degree; specifically, it is assumed that there are two individuals p, q ε PA, whose ranking is determined by the following formula:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
s6.2: the number of iterations increases by g=g+1.
4. The evolutionary strategy method for multi-skill resource limited project scheduling of claim 1, wherein: the S7: judging whether the iteration termination condition G < G_max is met, if so, terminating the program and outputting non-dominant individuals in the PA set, otherwise, continuing to execute the step S3.
CN202011001300.3A 2020-09-22 2020-09-22 Evolutionary strategy method for multi-skill resource limited project scheduling Active CN112148446B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011001300.3A CN112148446B (en) 2020-09-22 2020-09-22 Evolutionary strategy method for multi-skill resource limited project scheduling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011001300.3A CN112148446B (en) 2020-09-22 2020-09-22 Evolutionary strategy method for multi-skill resource limited project scheduling

Publications (2)

Publication Number Publication Date
CN112148446A CN112148446A (en) 2020-12-29
CN112148446B true CN112148446B (en) 2024-05-14

Family

ID=73892549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011001300.3A Active CN112148446B (en) 2020-09-22 2020-09-22 Evolutionary strategy method for multi-skill resource limited project scheduling

Country Status (1)

Country Link
CN (1) CN112148446B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116911518B (en) * 2023-06-08 2023-12-26 广东省华智能信息技术有限公司 Multi-service fusion dispatch method for gas worksheet and storage medium
CN117391393A (en) * 2023-11-17 2024-01-12 西安电子科技大学广州研究院 Intelligent compiling optimization method for large-scale engineering rapid construction organization design

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012126105A1 (en) * 2011-03-21 2012-09-27 Hegazi Tarek Mohamed Mohamed System and method for schedule optimization
CN110909787A (en) * 2019-11-18 2020-03-24 安徽大学 Method and system for multi-objective batch scheduling optimization based on clustering evolutionary algorithm
CN111126800A (en) * 2019-12-10 2020-05-08 浙江工业大学 Multi-mode resource-limited project scheduling method using layered adaptive intelligent algorithm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012126105A1 (en) * 2011-03-21 2012-09-27 Hegazi Tarek Mohamed Mohamed System and method for schedule optimization
CN110909787A (en) * 2019-11-18 2020-03-24 安徽大学 Method and system for multi-objective batch scheduling optimization based on clustering evolutionary algorithm
CN111126800A (en) * 2019-12-10 2020-05-08 浙江工业大学 Multi-mode resource-limited project scheduling method using layered adaptive intelligent algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
多技能人力资源调度策略在资源限制型项目中的应用;刘雅婷;重庆工学院学报(自然科学版);第21卷(第3期);31-40 *

Also Published As

Publication number Publication date
CN112148446A (en) 2020-12-29

Similar Documents

Publication Publication Date Title
Li et al. Two-stage knowledge-driven evolutionary algorithm for distributed green flexible job shop scheduling with type-2 fuzzy processing time
Lu et al. Environmental/economic dispatch problem of power system by using an enhanced multi-objective differential evolution algorithm
CN114186749B (en) Flexible workshop scheduling method and model based on reinforcement learning and genetic algorithm
Sun et al. Hybrid genetic algorithm with variable neighborhood search for flexible job shop scheduling problem in a machining system
CN105629927A (en) Hybrid genetic algorithm-based MES (Manufacturing Execution System) production planning and scheduling method
CN101901425A (en) Flexible job shop scheduling method based on multi-species coevolution
CN111047272B (en) Project scheduling method and device for multi-language collaborative development
CN112148446B (en) Evolutionary strategy method for multi-skill resource limited project scheduling
CN113139710B (en) Multi-resource parallel task advanced plan scheduling method based on genetic algorithm
Xie et al. An effective multi-objective artificial bee colony algorithm for energy efficient distributed job shop scheduling
Zhang et al. An integer-coded differential evolution algorithm for simple assembly line balancing problem of type 2
CN108710970B (en) Multi-target scheduling parallel dimension reduction method for giant cascade hydroelectric system
CN105550825B (en) Flexible factory job scheduling method based on MapReduce parallelization in cloud computing environment
Fakhrzad et al. A new multi-objective job shop scheduling with setup times using a hybrid genetic algorithm
Ławrynowicz Genetic algorithms for solving scheduling problems in manufacturing systems
Raja et al. Non-identical parallel-machine scheduling using genetic algorithm and fuzzy logic approach
Li et al. Research on dynamic multi-objective fjsp based on genetic algorithm
CN114707808A (en) Reverse-order equipment network comprehensive scheduling method based on dynamic root node process set
CN112036654B (en) Photovoltaic power station and electric vehicle charging network planning method based on co-evolution
CN114237166A (en) Method for solving multi-rotating-speed energy-saving scheduling problem based on improved SPEA2 algorithm
CN114676987A (en) Intelligent flexible job shop active scheduling method based on hyper-heuristic algorithm
CN115249112A (en) Distributed mixed flow shop scheduling optimization method taking glass manufacturing as background
Rajakumar et al. Workflow balancing in parallel machine scheduling with precedence constraints using genetic algorithm
CN113723695A (en) Scene-based remanufacturing scheduling optimization method
CN113359646A (en) Distributed flexible job shop scheduling method based on multiple targets

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant