CN112148446A - Evolutionary strategy algorithm for multi-skill resource limited project scheduling - Google Patents

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

Info

Publication number
CN112148446A
CN112148446A CN202011001300.3A CN202011001300A CN112148446A CN 112148446 A CN112148446 A CN 112148446A CN 202011001300 A CN202011001300 A CN 202011001300A CN 112148446 A CN112148446 A CN 112148446A
Authority
CN
China
Prior art keywords
resource
population
individuals
task
skill
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.)
Granted
Application number
CN202011001300.3A
Other languages
Chinese (zh)
Other versions
CN112148446B (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

Images

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 evolutionary strategy algorithm for multi-skill resource limited project scheduling, which comprises the steps of setting algorithm parameters and initialization variables, initializing a population, performing variation operation on individuals in the population, evaluating population fitness, updating a pareto population, selecting a parent population of a next generation, judging whether an iteration termination condition is met, if so, terminating a program and outputting the pareto population, and the like; the invention further considers the switching condition of the resources when using different skills, and is more suitable for practical application scenes. The new individual coding structure only represents the resource assignment of the task, reducing the search space. And the new plan generation scheme adopts a greedy strategy, divides tasks into two sets and arranges the start time of the two sets in turn, and reduces unnecessary skill switching as much as possible, so that the construction period and the cost of the generated scheduling scheme are greatly reduced. The extensibility, diversity and convergence of the solution set are better than those of the existing similar algorithm.

Description

Evolutionary strategy algorithm 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 scheduling multi-skill resource limited projects under the background of skill switching.
Background
Resource Constrained Project Scheduling (RCPSP) is the most classical combinatorial optimization Problem in operations research and Project management. The most basic RCPSP problem study arranges the starting time of each task under the condition of limited resources and meets the upper limit of the resource usage and the tight front constraint between tasks. The objective function of the problem is usually the shortest of the project construction period index and the cost index. The resource-constrained project scheduling problem is not fully applicable to various practical scenarios.
The Multi-skill Resource Constrained Project Scheduling Problem (MS-RCPSP) is a type of extension Problem for RCPSP. The problem assumes that a resource has one (or more) skills, and that different tasks need to be performed by a resource with a particular skill, compared to the assumed homogenous resource in RCPSP. Such problems are commonly used in human resource scheduling or flexible manufacturing plants. The scheduling of human resources considering skills is commonly found in the crowdsourcing research and development or software development industries of complex products, and the skills of tasks have large difference 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 roughly divided into three major classes, namely Exact algorithms (Exact Algorithm), heuristic algorithms (Heuristics) and Intelligent Optimization algorithms (Intelligent Optimization Algorithm). The precise algorithm is mainly a branch-and-bound algorithm, can obtain the optimal solution of the problem, but the problem which can be solved has small scale, and is insuffordable to face the large-scale problem in practical application. The heuristic algorithm is based on Priority Rule (PR) and Schedule Generation Scheme (SGS). The quality of the solution it generates depends greatly on the design and choice of the precedence rules. The best rule that is usually applied to different practical problems is different. The intelligent optimization algorithm is based on random search, and tries to find a better solution in a limited time by using the strong computing power of a computer. The algorithm is simple in design thought and wide in problem solving range. Common intelligent Optimization algorithms include Genetic Algorithm (Genetic Algorithm), Simulated Annealing (Simulated Annealing), Particle Swarm Optimization (Particle Swarm Optimization), and the like. Researchers also often make slight improvements to some of the executed steps in these classical algorithms to design new algorithms. In general, an intelligent optimization algorithm comprises the following elements: (1) coding, namely a group of codes corresponding to the scheduling 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, wherein a group of codes obtained by other methods corresponds to an initial feasible scheduling scheme; (4) neighborhood solution, a set of codes that are a collection of all new codes obtained by a neighborhood search operator.
The existing scheduling problem and algorithm of multi-skill resource limited project have the following disadvantages:
1) in multi-skill limited project scheduling, most scheduling problems assume that it is not necessary to spend time for switching resources among different skills, but in practical applications, the time spent for switching skills is often considerable. For example, when the staff performs tasks of different skill types, some preparation work is required, such as going to different configured work tables, obtaining appropriate tools, and the like. In a manufacturing plant, machining 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 arrange the execution order of tasks on resources reasonably.
2) At present, an intelligent optimization algorithm aiming at multi-skill resource limited project scheduling is mainly based on a single target, and research on multiple targets is relatively less. In the existing algorithm, the individual codes are usually in a double-list form, so that the search space is large, the solving efficiency is low, and the quality of the obtained non-dominated solution set is not high.
3) The currently proposed intelligent optimization algorithm does not perform special optimization for skill switching scenes, so that the solving efficiency is low, and a solution with a large range is difficult to find. In the existing intelligent calculation algorithm, an effective coding and decoding scheme, a local search operator and the like aiming at the problem are not discussed.
Disclosure of Invention
The invention aims to solve the problems and provide an evolutionary strategy algorithm for multi-skill resource-limited project scheduling.
The invention realizes the 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 mutation operations on individuals in the population;
s4: evaluating population fitness;
s5: updating the pareto population;
s6: selecting a parent population of a next generation;
s7: and 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 PsizeGenerating a number lambda by the filial generation, belonging to the resource balance strength, and obtaining the maximum iteration number Gmax(ii) a Initializing the current iteration times g to 0, and collecting the parent population
Figure BDA0002694418980000031
Set of offspring populations
Figure BDA0002694418980000032
Pareto solution set
Figure BDA0002694418980000033
Pareto solution set is defined as: in the multi-objective optimization problem, for two solutions S1 and S2, if each objective of S1If the norm 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 the population non-dominated solution, all the non-dominated solutions of one population constituting the Pareto solution set of the population.
The step S2: individuals in the population are encoded with an integer of length N, denoted RL ═ R (1), R (2), …, R (N); wherein N is the scale of the task set of the problem to be solved; r (i) represents task TiThe assigned resource sequence number; this step is divided into two substeps:
s2.1: in an initialization stage, only one individual is generated by the population according to a strategy of 'lowest cost-longest construction period'; specifically, for each task, a resource with the lowest labor cost is allocated to the task from among the resource sets capable of executing the task, and if there are a plurality of resources with the lowest labor cost, the resource with the smaller resource number, that is, the resource with the smaller resource number is selected
Figure BDA0002694418980000041
S2.2: in the fitness evaluation phase, a plan generation scheme (SGS) converts the encoding of an individual p into a feasible scheduling scheme and calculates its objective function.
Tasks to be scheduled are divided into two sets: integration A1The task with the tight front constraint relation is included; set two A2Including the remaining tasks without tight toe constraints. The greedy strategy is embodied in that tasks in the first set of arrangement are arranged first, and then tasks in the second set of arrangement are arranged. Task T in onej∈A1In ascending order according to their sequence numbers, the tasks are arranged with their start times s according to the resources specified in the individual codes RLjAnd adding the task assigned by task completion to the execution queue pi of the corresponding resourcerIn (1). For set two A2Classifying the middle tasks according to the appointed resources (information of individual code RL), sorting the tasks executed on the same resource by a greedy strategy according to the time cost of skill switching, then arranging the start time of each task, and adding the arranged tasks to an execution queue pi of the corresponding resourcerIn (1). Finally, theAll tasks are scheduled and the time limit and cost of the whole project are calculated according to equations (5) and (6). The fitness of the individual p is respectively the construction period and the cost, and is respectively marked as the fixnessp,1And fitnessp,2
The step S3: taking each individual in the population P as a father, and generating lambda child individuals by each father (P belongs to P) so as to form a child set Q; the mutation operation is executed by a resource balance operator, and the steps are as follows:
s3.1: reading a scheduling scheme generated by a parent, and distributing a task pi according to each resource in the schemer(R ∈ R), calculating the actual working time length u of each resourcer(R ∈ R); initializing a counting variable n which is 0; the code of the father p is copied and named q;
s3.2: working duration u in time of resourcerFor weighting, a resource R is selected according to the Roulette rule (Roulette Selection)s(s ∈ R); the higher the weight, the greater the probability of being selected;
s3.3: for selected resource RsRandomly selecting a task (T) on the resourcei∈πr) And reallocates it to other resources Rx(x∈Ri),
S3.4: applying the change of the newly assigned resource to the new individual code;
s3.5: counting variable self-increment n is n + 1; if n is less than or equal to e, then go to step A2; otherwise, outputting the newly generated individuals Q and adding the newly generated individuals Q into the child generation set Q, and ending the operator execution.
The step S4 is: evaluating the fitness of each individual Q ∈ Q in the offspring population to obtain the generated construction period (fixness) of each individualq,1) And fitness of cost (fitness)q,2)。
The step S6:
s6.1: sorting the individuals in the PA, wherein the order is firstly arranged according to the ascending order of the domination level of the individuals; if the domination levels of the individuals are the same, the individuals are ranked according to the congestion degree in a descending order; specifically, assume that there are two individuals (p, q ∈ PA) whose order of arrangement is determined by the following formula:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
s6.2: the iteration number is increased by g + 1.
The step S7: and judging whether an iteration termination condition (G < G _ max) is met, if so, terminating the program and outputting the 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 scheduling problem of multi-skill resource-limited projects, the method further considers the switching situation of resources when using different skills, and is more suitable for practical application scenarios.
2. The invention provides a novel individual coding structure and plan generation scheme. The new individual coding structure only represents the resource assignment of the task, reducing the search space. And the new plan generation scheme adopts a greedy strategy, divides tasks into two sets and arranges the start time of the two sets in turn, and reduces unnecessary skill switching as much as possible, so that 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, and resource balance operation is carried out on a scheduling scheme generated by parent individuals, so that the difference of the use time of different resources is reduced, the construction period of offspring individuals is further reduced, and the offspring individuals with higher quality are generated.
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 extensibility, 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 an algorithmic flow chart of the present invention;
FIG. 3 is a schematic diagram of the mutation operator implementation of the present invention;
fig. 4 is a comparison graph of the algorithm effect of the present invention.
Detailed Description
The invention will be further described with reference to the accompanying drawings in which:
the multi-skill resource constrained project scheduling problem considering skill switching can be described in detail as: a project includes a task set J, a skill set Q, and a resource set R. For each task Tj(j ═ 1,2, …, N) for a period of djAnd is not interruptible. There is an "end-to-start" immediate pre-constraint between tasks, i.e. task TjCan only collect P immediately beforejThe execution can be started after all tasks in the system are finished. There are K skills in the skill set, i.e., Q ═ Q1,Q2,…,QK}. For each resource R in the resource setr(r-1, 2, …, M) which provides a set of skills Qr={qr,1,qr,2,…,qr,hWith each skill level of { l }r,1,lr,2,…,lr,h}. Each task only needs to have one qjBelongs to Q and the skill level is not less than ljThe resource execution of (2). Resource RrA man-hour cost of crIt can only perform one task at a time.
Resources require additional time to perform skill switching when performing tasks requiring different skills. Specifically, the switching time of the skill is represented by the matrix W ═ ωk,l) Determining, representing skills QkSwitch to QlThe additional time required. The same inter-skill switching time is 0, and further, an inter-task switching matrix B may be generated from the skill switching matrix (B)i,j) Indicating the switching time between different tasks. The time is independent of resources and only represents the switching relationship between different tasks due to the difference of skill types.
Without loss of generality, a dummy start task (dummy start) and a dummy end task (dummy end) are introduced into the project. The construction periods of the two tasks are both 0 (d)0=dE0), virtual task to all tasksIs 0. Before the project starts, all the resources are concentrated at the virtual start task, and after the project is finished, all the resources are concentrated at the virtual finish task.
The problem is aimed at generating a scheduling scheme: each task in the set of tasks is scheduled as to when it should be performed by which resource, with the skill constraints, immediate constraints, and switching times being satisfied.
The objective function of this problem is two: the execution period of the project and the total execution cost of the project. The project execution period is determined by the ending time of the virtual ending 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: time spent by resources in executing tasks; time it takes for the resource to switch between skills.
Based on the problem described above, a mathematical model is built, including decision variables, objective functions and constraints.
Decision variables:
sjnot less than 0; (end time of task j) (1)
Figure BDA0002694418980000073
Figure BDA0002694418980000071
Figure BDA0002694418980000072
An 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)
Figure BDA0002694418980000081
Wherein f isEIs the end time of the virtual end task (dummy end).
Constraint conditions are as follows:
equation (7) represents the "end-to-start" constraint between tasks.
Figure BDA0002694418980000082
Wherein P isjRepresenting a task TjThe set of immediately preceding tasks.
Equation (8) represents the skill switching time constraint between tasks performed on the same resource.
Figure BDA0002694418980000083
Equation (9) represents a capability constraint of the resource, namely resource RrRequiring skills (q) with task requirementsr,h=qj) And the skill level is not less than the level of task requirement (l)r,h≥lj)。
Figure BDA0002694418980000084
Equation (10) shows if task TjIn resource RrUpper execution, then there must be a task TiBefore it is performed first.
Figure BDA0002694418980000085
Equation (11) indicates if task TiIn resource RrUpper execution, then there must be a task TjAfter which it is executed.
Figure BDA0002694418980000086
Equation (12) indicates that each task should be performed by one resource.
Figure BDA0002694418980000087
Equation (13) indicates that only one task can be executed by one resource at the same time.
Figure BDA0002694418980000091
Equation (14) indicates that in the start phase, all resources are concentrated at the dummy start task.
Figure BDA0002694418980000092
Equation (15) indicates that all resources are concentrated at the dummy end task in the end phase.
Figure BDA0002694418980000093
Solving an algorithm:
the invention provides a new individual coding and decoding mechanism based on an Evolution Strategy (ES) algorithm, and designs a new mutation operator and selection.
The scheduling solution of the algorithm mainly comprises the following steps: the method comprises the following steps: setting algorithm parameters and initialization variables; step two: initializing a population; step three: performing mutation operations on individuals in the population; step four: evaluating population fitness; step five: updating the pareto population; step six: selecting a parent population of a next generation; step seven: and 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 charts are as follows:
the method comprises the following steps: setting algorithm parameters and initializing variables.
Setting a population size PsizeThe offspring generates a number lambda with strong resource balanceDegree e, maximum number of iterations Gmax. Initializing the current iteration times g to 0, and collecting the parent population
Figure BDA0002694418980000094
Set of offspring populations
Figure BDA0002694418980000095
Pareto solution set
Figure BDA0002694418980000096
Pareto solution set is defined as: in the multi-objective optimization problem, for two solutions S1 and S2, S1 dominates S2 if each objective of S1 is not worse than S2 and at least one objective is better than S2, and S1 is called as population non-dominated solution if S1 is not dominated by other solutions of the population, all non-dominated solutions of one population constituting a Pareto solution set of the population.
Step two: the population is initialized and fitness is calculated.
Individuals in the population are encoded with an integer of length N, denoted RL ═ R (1), R (2), …, R (N). Where N is the size of the task set of the problem to be solved. R (i) represents task TiThe assigned resource sequence number. This step is divided into two substeps.
Step 2.1: in the initialization stage, the population generates only one individual according to the strategy of 'lowest cost-longest construction period'. Specifically, for each task, a resource with the lowest labor cost is allocated to the task from among the resource sets capable of executing the task, and if there are a plurality of resources with the lowest labor cost, the resource with the smaller resource number, that is, the resource with the smaller resource number is selected
Figure BDA0002694418980000101
Step 2.2: in the fitness evaluation phase, a plan generation scheme (SGS) converts the encoding of an individual p into a feasible scheduling scheme and calculates its objective function.
Tasks to be scheduled are divided into two sets: integration A1The task with the tight front constraint relation is included; set two A2Including the remaining tasks without tight toe constraints. The greedy strategy is embodied in that tasks in the first set of arrangement are arranged first, and then tasks in the second set of arrangement are arranged. Task T in onej∈A1In ascending order according to their sequence numbers, the tasks are arranged with their start times s according to the resources specified in the individual codes RLjAnd adding the task assigned by task completion to the execution queue pi of the corresponding resourcerIn (1). For set two A2Classifying the middle tasks according to the appointed resources (information of individual code RL), sorting the tasks executed on the same resource by a greedy strategy according to the time cost of skill switching, then arranging the start time of each task, and adding the arranged tasks to an execution queue pi of the corresponding resourcerIn (1). Finally, all tasks are scheduled and the time and cost of the entire project are calculated according to equations (5) and (6). The fitness of the individual p is respectively the construction period and the cost, and is respectively marked as the fixnessp,1And fitnessp,2
Step three: mutation operations are performed on individuals in the population.
With each individual in the population P as a parent, each parent (P e P) generates λ children, forming a set of children Q.
The mutation operation is executed by a resource balance operator, and the steps are as follows:
step A1: reading a scheduling scheme generated by a parent, and distributing a task pi according to each resource in the schemer(R ∈ R), calculating the actual working time length u of each resourcer(R. epsilon. R). The initialization count variable n is 0. The code for paternal p was copied and named q.
Step A2: working duration u in time of resourcerFor weighting, a resource R is selected according to the Roulette rule (Roulette Selection)s(s. epsilon. R). The higher the weight, the greater the probability of being selected.
Step A3: for selected resource RSRandomly selecting a task (T) on the resourcei∈πr) And reallocates it to other resources Rx(x∈Ri),
Step A4: the change of the newly assigned resource is applied to the new individual code.
Step A5: the counting variable is incremented by n + 1. If n is less than or equal to e, then go to step A2; otherwise, outputting the newly generated individuals Q and adding the newly generated individuals Q into the child generation set Q, and ending the operator execution.
Step four: and evaluating population fitness.
Evaluating the fitness of each individual Q ∈ Q in the offspring population, and calculating the resulting construction period (fixness) of each individual with reference to the step 2.2q,1) And cost fitness (find)q,2)。
Step five: updating the pareto population.
Step 5.1: adding the offspring set Q to the pareto set, namely PA ═ qo.
Step 5.2: the repeated individuals in the set PA are removed, i.e. the same individuals are encoded.
Step 5.3: adopting a rapid non-dominant sorting algorithm to divide the individuals in the set PA into different dominant grades prankAnd calculating the crowdedness p of the individual in each layerdistance. Where the non-dominant individual has a rank of 1, and so on, a higher rank means that the number of individuals dominated by other individuals is larger.
Step six: and selecting the parent population of the next generation.
Step 6.1: the individuals in the PA are sorted, with the order first being in ascending order according to the dominance level of the individuals. If the individual dominance levels are the same, the individual dominance levels are ranked again in descending order according to the congestion degree. Specifically, assume that there are two individuals (p, q ∈ PA) whose order of arrangement is determined by the following formula:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
step 6.2: the number of iterations increases. g +1
Step seven: judging whether the termination condition (g) of the iteration is satisfied<Gmax) If the condition is met, terminating the program and outputting the non-dominant individuals in the PA set, otherwise, continuing to execute the stepAnd step three.
Example (b):
a project consists of 100 tasks, 5 resources and 9 skills. Sequence number of tasks, duration djRequired skills qjAnd grade ljSet of immediately preceding tasks PjShown in table 1. Resource number, time cost crAnd mastered skill set QrAs shown in table 2. The inter-skill switching time matrix B is shown in fig. 1.
TABLE 1 task set Attribute
Figure BDA0002694418980000121
Figure BDA0002694418980000131
TABLE 2 resource set Attribute
Resource sequence number Cost of working hours Skills of mastery
1 86.1 Q0:2 Q8:2 Q5:1 Q6:2 Q7:2 Q3:0
2 86.6 Q3:0 Q7:0 Q8:2 Q5:2 Q2:2 Q1:1
3 92.7 Q3:2 Q1:0 Q2:1 Q5:1 Q8:2 Q4:0
4 75.3 Q5:2 Q6:0 Q1:0 Q4:1 Q3:0 Q8:1
5 58.7 Q8:2 Q3:0 Q6:1 Q0:1 Q2:0 Q7:1
Aiming at the case, a multi-skill resource restricted project scheduling method considering skill switching based on a multi-objective evolutionary strategy comprises the following implementation steps:
the method comprises the following steps: setting algorithm parameters and initializing variables.
Setting a population size P size20, the generation number of filial generation is 2, the resource balance strength is e-5, and the maximum iteration number Gmax=625。
Initializing the current iteration times g to 0, and collecting the parent population
Figure BDA0002694418980000132
Set of offspring populations
Figure BDA0002694418980000133
Pareto solution set
Figure BDA0002694418980000134
Step two: and initializing the population.
Individuals in the population are encoded with an integer of length N, denoted RL ═ R (1), R (2), …, R (N). Where N is the size of the task set of the problem to be solved. R (i) represents task TiThe assigned resource sequence number. This step is divided into two substeps.
Step 2.1: in the initialization phase, the population is in accordance with the "lowest costThis-longest term "strategy generates only one individual. Specifically, for each task, a resource with the lowest labor cost is allocated to the task from among the resource sets capable of executing the task, and if there are a plurality of resources with the lowest labor cost, the resource with the smaller resource number, that is, the resource with the smaller resource number is selected
Figure BDA0002694418980000135
The individual p generated according to this strategy is shown below*And (3) encoding:
Figure BDA0002694418980000136
Figure BDA0002694418980000141
step 2.2: in the fitness evaluation phase, a plan generation scheme (SGS) converts the encoding of an individual p into a feasible scheduling scheme and calculates its objective function.
Tasks to be scheduled are divided into two sets: integration A1The task with the tight front constraint relation is included; set two A2Including the remaining tasks without tight toe constraints. The greedy strategy is embodied in that tasks in the first set of arrangement are arranged first, and then tasks in the second set of arrangement are arranged. Task T in onej∈A1In ascending order according to their sequence numbers, the tasks are arranged with their start times s according to the resources specified in the individual codes RLjAnd adding the task assigned by task completion to the execution queue pi of the corresponding resourcerIn (1). For set two A2Classifying the middle tasks according to the appointed resources (information of individual code RL), sorting the tasks executed on the same resource by a greedy strategy according to the time cost of skill switching, then arranging the start time of each task, and adding the arranged tasks to an execution queue pi of the corresponding resourcerIn (1). Finally, all tasks are scheduled and the time and cost of the entire project are calculated according to equations (5) and (6).
The fitness of the individual p is respectively the construction period and the cost, and is respectively marked as the fixnessp,1And fitnessp,2
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}
with the individual p*After the scheduling plan is generated by the coding, the execution sequence pi of each resourcerAs follows:
Figure BDA0002694418980000142
Figure BDA0002694418980000151
individual p*The fitness of the method is respectively the construction period and the cost, which are respectively marked as fitness p,11118 and fitnessp,2=187797。
Step three: mutation operations are performed on individuals in the population.
With each individual in the population P as a parent, each parent (P e P) generates λ children, forming a set of children Q.
The mutation operation is executed by a resource balance operator, and the steps are as follows:
step A1: reading a scheduling scheme generated by a parent, and distributing a task pi according to each resource in the schemer(R ∈ R), calculating the actual working time length u of each resourcer(R. epsilon. R). The initialization count variable n is 0. The code for paternal p was copied and named q.
Step A2: working duration u in time of resourcerFor weighting, roulette rules (Roule) are followedtte Selection) selects one resource Rs(s. epsilon. R). The higher the weight, the greater the probability of being selected.
Step A3: for selected resource RsRandomly selecting a task (T) on the resourcei∈πr) And reallocates it to other resources Rx(x∈Ri),
Step A4: the change of the newly assigned resource is applied to the new individual code.
Step A5: the counting variable is incremented by n + 1. If n is less than or equal to e, then go to step A2; otherwise, outputting the newly generated individuals Q and adding the newly generated individuals Q into the child generation set Q, and ending the operator execution.
With the individual p*For example, the mutation operation is shown in FIG. 3. In step A1 individual p is read*Is used for coding the working time mu of the resources in the scheduling schemerAnd task sequence pir. In step A2, the actual working time u is usedrFor weight, roulette is played, assuming resource R5And (6) selecting. In step A3, assume that in resource R5Has selected task T in the work execution sequence91The task is allocated to other resources, such as resource R2. In step a4, this reallocation is applied to the encoding of the descendant individuals q, i.e., the encoding of index bit 91 is changed to 2. And step five, counting the self increment of the variable n. If n is less than or equal to e, then go to step A2; otherwise, outputting the newly generated individuals Q and adding the newly generated individuals Q into the child generation set Q, and ending the operator execution.
Step four: and evaluating population fitness.
Evaluating the fitness of each individual Q ∈ Q in the offspring population, and calculating the resulting construction period (fixness) of each individual with reference to the step 2.2q,1) And fitness of cost (fitness)q,2)。
Step five: updating the pareto population.
Step 5.1: adding the offspring set Q to the pareto set, namely PA ═ qo.
Step 5.2: the repeated individuals in the set PA are removed, i.e. the same individuals are encoded.
Step 5.3: adopting a rapid non-dominant sorting algorithm to divide the individuals in the set PA into different dominant grades prankAnd calculating the crowdedness p of the individual in each layerdistance. Where the non-dominant individual has a rank of 1, and so on, a higher rank means that the number of individuals dominated by other individuals is larger.
Step six: and selecting the parent population of the next generation.
Step 6.1: the individuals in the PA are sorted, with the order first being in ascending order according to the dominance level of the individuals. If the individual dominance levels are the same, the individual dominance levels are ranked again in descending order according to the congestion degree. Specifically, assume that there are two individuals (p, q ∈ PA) whose order of arrangement is determined by the following formula:
p>q if(prank<qrank)V((prank=qrank)∧(pdistance>qdistance))
step 6.2: the number of iterations increases. g +1
Step seven: and 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 with the scheduling algorithms NTGA and MOFOA for solving the multi-skill resource-constrained project existing in the literature. Fig. 4 shows a comparison between the algorithm proposed by the present invention and the pareto solution sets of NTGA and MOFOA under the same evaluation times, and it can be seen that the multi-objective evolutionary strategy algorithm proposed by the present invention is better than the existing algorithms in terms of solution extensibility, diversity and convergence. Under the multi-objective optimization, solutions in the pareto set of the algorithm disclosed by the invention dominate all solutions in other two algorithms, so that the algorithm has a good effect on solving the problem of scheduling the multi-objective resource-limited project considering skill switching, and the quality of the solution is good.
The symbols in the mathematical model of the invention are as follows:
Figure BDA0002694418980000171
Figure BDA0002694418980000181
the foregoing shows and describes the general principles and features of the present invention, together with the advantages thereof. It will be understood by those skilled in the art that the present invention is not limited to the embodiments described above, which are described in the specification and illustrated only to illustrate the principle of the present invention, but that various changes and modifications may be made therein without departing from the spirit and scope of the present invention, which fall within the scope of the invention as claimed. The scope of the invention is defined by the appended claims and equivalents thereof.

Claims (7)

1. An evolutionary strategy algorithm for multi-skill resource constrained project scheduling, comprising the steps of:
s1: setting algorithm parameters and initialization variables;
s2: initializing a population;
s3: performing mutation operations on individuals in the population;
s4: evaluating population fitness;
s5: updating the pareto population;
s6: selecting a parent population of a next generation;
s7: and 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.
2. An evolutionary strategy algorithm for multi-skill resource constrained project scheduling according to claim 1, characterized by: the step S1 specifically includes: setting a population size PsizeGenerating a number lambda by the filial generation, belonging to the resource balance strength, and obtaining the maximum iteration number Gmax(ii) a Initializing the current iteration times g to 0, and collecting the parent population
Figure FDA0002694418970000011
Set of offspring populations
Figure FDA0002694418970000012
Pareto solution set
Figure FDA0002694418970000013
Pareto solution set is defined as: in the multi-objective optimization problem, for two solutions S1 and S2, S1 dominates S2 if each objective of S1 is not worse than S2 and at least one objective is better than S2, and S1 is called as population non-dominated solution if S1 is not dominated by other solutions of the population, all non-dominated solutions of one population constituting a Pareto solution set of the population.
3. An evolutionary strategy algorithm for multi-skill resource constrained project scheduling according to claim 1, characterized by: the step S2: individuals in the population are encoded with an integer of length N, denoted RL ═ R (1), R (2),.., R (N); wherein N is the scale of the task set of the problem to be solved; r (i) represents task TiThe assigned resource sequence number; this step is divided into two substeps:
s2.1: in an initialization stage, only one individual is generated by the population according to a strategy of 'lowest cost-longest construction period'; specifically, for each task, a resource with the lowest labor cost is allocated to the task from among the resource sets capable of executing the task, and if there are a plurality of resources with the lowest labor cost, the resource with the smaller resource number, that is, the resource with the smaller resource number is selected
Figure FDA0002694418970000021
S2.2: in the fitness evaluation phase, a plan generation scheme (SGS) converts the encoding of an individual p into a feasible scheduling scheme and calculates its objective function.
4. An evolutionary strategy algorithm for multi-skill resource constrained project scheduling according to claim 1, characterized by: the step S3: taking each individual in the population P as a father, and generating lambda child individuals by each father (P belongs to P) so as to form a child set Q; the mutation operation is executed by a resource balance operator, and the steps are as follows:
s3.1: reading a scheduling scheme generated by a parent, and distributing a task pi according to each resource in the schemer(R ∈ R), calculating the actual working time length u of each resourcer(R ∈ R); initializing a counting variable n which is 0; the code of the father p is copied and named q;
s3.2: working duration u in time of resourcerFor weighting, a resource R is selected according to the Roulette rule (Roulette Selection)s(s ∈ R); the higher the weight, the greater the probability of being selected;
s3.3: for selected resource RsRandomly selecting a task (T) on the resourcei∈πr) And reallocates it to other resources Rx(x∈Ri),
S3.4: applying the change of the newly assigned resource to the new individual code;
s3.5: counting variable self-increment n is n + 1; if n is less than or equal to e, then go to step A2; otherwise, outputting the newly generated individuals Q and adding the newly generated individuals Q into the child generation set Q, and ending the operator execution.
5. An evolutionary strategy algorithm for multi-skill resource constrained project scheduling according to claim 1, characterized by: the step S4 is: and evaluating the fitness of each individual Q epsilon Q in the offspring population, and solving the generated construction period (fixness _ (Q, 1)) and the cost fitness (fixness _ (Q, 2)) of each individual.
6. An evolutionary strategy algorithm for multi-skill resource constrained project scheduling according to claim 1, characterized by: the step S6:
s6.1: sorting the individuals in the PA, wherein the order is firstly arranged according to the ascending order of the domination level of the individuals; if the domination levels of the individuals are the same, the individuals are ranked according to the congestion degree in a descending order; specifically, assume that there are two individuals (p, q ∈ PA) whose order of arrangement is determined by the following formula:
p>q if(prank<qrank)∨((prank=qrank)∧(pdistance>qdistance))
s6.2: the iteration number is increased by g + 1.
7. An evolutionary strategy algorithm for multi-skill resource constrained project scheduling according to claim 1, characterized by: the step S7: and judging whether an iteration termination condition (G < G _ max) is met, if so, terminating the program and outputting the 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 true CN112148446A (en) 2020-12-29
CN112148446B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116911518A (en) * 2023-06-08 2023-10-20 广东省华智能信息技术有限公司 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
刘雅婷: "多技能人力资源调度策略在资源限制型项目中的应用", 重庆工学院学报(自然科学版), vol. 21, no. 3, pages 31 - 40 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116911518A (en) * 2023-06-08 2023-10-20 广东省华智能信息技术有限公司 Multi-service fusion dispatch method for gas worksheet and storage medium
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

Also Published As

Publication number Publication date
CN112148446B (en) 2024-05-14

Similar Documents

Publication Publication Date Title
CN109190857B (en) Optimization algorithm based on multi-target resource limited project scheduling model
US20210373888A1 (en) Multi-objective optimization method and system for master production plan of casting parallel workshops
Zhu et al. An efficient evolutionary grey wolf optimizer for multi-objective flexible job shop scheduling problem with hierarchical job precedence constraints
Li et al. Two-stage knowledge-driven evolutionary algorithm for distributed green flexible job shop scheduling with type-2 fuzzy processing time
Shen et al. Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems
CN114186749B (en) Flexible workshop scheduling method and model based on reinforcement learning and genetic algorithm
CN113792924A (en) Single-piece job shop scheduling method based on Deep reinforcement learning of Deep Q-network
CN104572297B (en) A kind of Hadoop job scheduling methods based on genetic algorithm
CN105629927A (en) Hybrid genetic algorithm-based MES (Manufacturing Execution System) production planning and scheduling method
CN111047272B (en) Project scheduling method and device for multi-language collaborative development
CN113139710B (en) Multi-resource parallel task advanced plan scheduling method based on genetic algorithm
CN101901425A (en) Flexible job shop scheduling method based on multi-species coevolution
CN108710970B (en) Multi-target scheduling parallel dimension reduction method for giant cascade hydroelectric system
CN112148446A (en) Evolutionary strategy algorithm for multi-skill resource limited project scheduling
CN109523178A (en) A kind of O&amp;M method and device towards power communication scene
CN105550825B (en) Flexible factory job scheduling method based on MapReduce parallelization in cloud computing environment
CN114021934A (en) Method for solving workshop energy-saving scheduling problem based on improved SPEA2
CN113821972A (en) Multi-robot collaborative assembly line balancing method considering energy efficiency
CN111553610B (en) Scheduling method and system based on learning-forgetting effect
Yusof et al. Constraint-chromosome genetic algorithm for flexible manufacturing system machine-loading problem
CN113723695B (en) Remanufacturing scheduling optimization method based on scene
CN115470977A (en) Multi-target flexible job shop batch scheduling method based on empire competition algorithm
CN110928670B (en) Workflow optimization method based on partial sequence adaptive genetic algorithm in cloud computing environment
CN114237166A (en) Method for solving multi-rotating-speed energy-saving scheduling problem based on improved SPEA2 algorithm
Raghavendra Scheduling in parallel machines environment using genetic algorithm

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