CN111553610A - Scheduling method and system based on learning-forgetting effect - Google Patents

Scheduling method and system based on learning-forgetting effect Download PDF

Info

Publication number
CN111553610A
CN111553610A CN202010375639.3A CN202010375639A CN111553610A CN 111553610 A CN111553610 A CN 111553610A CN 202010375639 A CN202010375639 A CN 202010375639A CN 111553610 A CN111553610 A CN 111553610A
Authority
CN
China
Prior art keywords
learning
effect
forgetting
scheduling model
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
CN202010375639.3A
Other languages
Chinese (zh)
Other versions
CN111553610B (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.)
Suning Cloud Computing Co Ltd
Original Assignee
Suning Cloud Computing Co Ltd
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 Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN202010375639.3A priority Critical patent/CN111553610B/en
Publication of CN111553610A publication Critical patent/CN111553610A/en
Application granted granted Critical
Publication of CN111553610B publication Critical patent/CN111553610B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063112Skill-based matching of a person or a group to a task
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Economics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Educational Administration (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Physiology (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the invention discloses a scheduling method and a scheduling system based on a learning-forgetting effect, wherein when the learning efficiency and the learning-forgetting efficiency of developers are comprehensively considered, the cost and the progress of a project are in a moderate state, the cost and progress optimization result is more accurate, the scheduling corresponding to the cost and the progress is more scientific, and the requirement of the actual project is better met. Constructing a scheduling model according to the NSGA-II algorithm, tasks and personnel information; constructing a learning effect scheduling model according to the scheduling model and the learning effect; constructing a learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect; and acquiring scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model.

Description

Scheduling method and system based on learning-forgetting effect
Technical Field
The invention relates to the field of software project management, in particular to a scheduling method and system based on learning-forgetting effect.
Background
In the field, the abilities of various development languages mastered by developers invested in a software project are generally only considered to be fixed, that is, the changes of the skill level of the development languages mastered by the developers are never considered in the scheduling process, and the obtained progress and cost optimization results are often biased. In order to meet the requirements of actual software development projects, when a developer in a project is scheduled, the change of the skill level of the developer is considered, namely when the developer continuously uses a development language for development, the skill level of the developer is continuously increased until a peak value is reached; when a developer does not use a development language continuously, the skill level of the developer is reduced continuously until a minimum value is reached; the developer's skill level will increase when part of the time a development language is used and will decrease when part of the time the development language is not used.
Disclosure of Invention
The embodiment of the invention provides a scheduling method and a scheduling system based on a learning-forgetting effect, when the learning efficiency and the learning-forgetting efficiency of developers are comprehensively considered, the cost and the progress of a project are in a moderate state, the cost and progress optimization result is more accurate, the scheduling corresponding to the cost and the progress is more scientific, and the requirements of the actual project are better met.
In order to achieve the above purpose, the embodiment of the invention adopts the following technical scheme:
in a first aspect, an embodiment of the present invention provides a scheduling method based on a learning-forgetting effect, which constructs a scheduling model according to an NSGA-II algorithm, tasks, and personnel information; constructing a learning effect scheduling model according to the scheduling model and the learning effect; constructing a learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect; and acquiring scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model.
With reference to the first aspect, in a first possible implementation manner of the first aspect, the constructing a scheduling model according to the NSGA-II algorithm, the task, and the person information includes: a double-layer coding algorithm is adopted, the first layer of codes are sequential codes, the second layer of codes are task assignment codes, and a scheduling model is constructed; the task comprises a task construction period; the personnel information includes: personnel cost, initial skill value of personnel, and personnel skill use time.
With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the constructing a learning effect scheduling model according to the scheduling model and the learning effect includes:
acquiring a learning operator according to the learning effect, the sequence code and the task assignment code; constructing a learning effect scheduling model according to the learning operator and the scheduling model; the method for constructing the learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect comprises the following steps: acquiring a forgetting operator according to the learning forgetting effect, the sequence codes and the task assignment codes; and constructing a learning forgetting effect scheduling model according to the forgetting operator and the scheduling model.
With reference to the first aspect, in a third possible implementation manner of the first aspect, the obtaining scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model includes: acquiring a learning effect task construction period, learning effect personnel cost and a learning effect personnel working time balance value according to the learning effect scheduling model; and acquiring a learning forgetting effect task construction period, learning forgetting effect personnel cost and a learning forgetting effect personnel working time balance value according to the learning forgetting effect scheduling model.
With reference to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, a learning effect skill value is obtained according to the learning effect scheduling model, the initial skill value of the person, and the learning effect formula; acquiring a learning effect task construction period according to the learning effect skill value and the task construction period; acquiring the cost of the learning effect personnel according to the learning effect skill value and the personnel cost; and acquiring a working time balance value of the learning effect personnel according to the learning effect skill value and the personnel skill using time.
With reference to the third possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, a learning forgetting effect skill value is obtained according to the learning effect scheduling model, the initial skill value of the person, and the learning forgetting effect formula; acquiring a learning forgetting effect task construction period according to the learning forgetting effect skill value and the task construction period; acquiring the cost of the learning forgetting effect personnel according to the learning forgetting effect skill value and the personnel cost; and acquiring a work time balance value of the learning forgetting effect personnel according to the learning forgetting effect skill value and the personnel skill use time.
In a second aspect, an embodiment of the present invention provides a scheduling system based on a learning-forgetting effect, including:
the scheduling model building module is used for building a scheduling model according to the NSGA-II algorithm, tasks and personnel information;
the learning effect scheduling model building module is used for building a learning effect scheduling model according to the scheduling model and the learning effect;
the learning forgetting effect scheduling model building module is used for building a learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect;
and the scheduling information acquisition module is used for acquiring scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model.
With reference to the second aspect, in a first possible implementation manner of the second aspect, the scheduling model building module includes:
the double-layer coding module is used for adopting a double-layer coding algorithm, wherein the first layer of coding is sequential coding, and the second layer of coding is task assignment coding, so that a scheduling model is constructed; the task comprises a task construction period; the personnel information includes: personnel cost, initial skill value of personnel, and personnel skill use time.
With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the learning effect scheduling model building module includes:
the learning operator obtaining sub-module is used for obtaining a learning operator according to the learning effect, the sequence code and the task assignment code;
the learning effect scheduling model constructing submodule is used for constructing a learning effect scheduling model according to the learning operator and the scheduling model;
the learning forgetting effect scheduling model building module comprises:
the forgetting operator obtaining sub-module is used for obtaining a forgetting operator according to the learning forgetting effect, the sequence codes and the task assignment codes;
and the learning forgetting effect scheduling model constructing submodule is used for constructing a learning forgetting effect scheduling model according to the forgetting operator and the scheduling model.
With reference to the second aspect, in a third possible implementation manner of the second aspect, the scheduling information obtaining module includes:
the learning effect value acquisition submodule is used for acquiring a learning effect task period, a learning effect personnel cost and a learning effect personnel working time balance value according to the learning effect scheduling model;
and the learning forgetting effect value acquisition submodule is used for acquiring a learning forgetting effect task construction period, the learning forgetting effect personnel cost and the learning forgetting effect personnel working time balance value according to the learning forgetting effect scheduling model.
With reference to the third possible implementation manner of the second aspect, in a fourth possible implementation manner of the second aspect, the learning effect value obtaining sub-module includes:
the learning effect skill value acquisition unit is used for acquiring a learning effect skill value according to the learning effect scheduling model, the personnel initial skill value and the learning effect formula;
the learning effect task construction period obtaining unit is used for obtaining a learning effect task construction period according to the learning effect skill value and the task construction period;
the learning effect personnel cost obtaining unit is used for obtaining the learning effect personnel cost according to the learning effect skill value and the personnel cost;
and the learning effect worker working time equilibrium value acquisition unit is used for acquiring a learning effect worker working time equilibrium value according to the learning effect skill value and the worker skill use time.
With reference to the third possible implementation manner of the second aspect, in a fifth possible implementation manner of the second aspect, the learning forgetting effect value obtaining sub-module includes:
the learning forgetting effect skill value acquisition unit is used for acquiring a learning forgetting effect skill value according to the learning effect scheduling model, the personnel initial skill value and the learning forgetting effect formula;
the learning forgetting effect task construction period obtaining unit is used for obtaining a learning forgetting effect task construction period according to the learning forgetting effect skill value and the task construction period;
the learning forgetting effect personnel cost obtaining unit is used for obtaining the learning forgetting effect personnel cost according to the learning forgetting effect skill value and the personnel cost;
and acquiring the working time balance value of the learning forgetting effect worker according to the learning forgetting effect skill value and the worker skill use time.
According to the scheduling method and system based on the learning-forgetting effect, provided by the embodiment of the invention, when the learning effect and the learning-forgetting effect of developers are comprehensively considered, the cost and the progress of a project are in a moderate state, the cost and progress optimization result is more accurate, and the scheduling corresponding to the cost and the progress is more scientific, so that the requirements of the actual project are better met. Compared with the prior art, in the implementation of the invention, a scheduling model is constructed according to NSGA-II algorithm, tasks and personnel, and the software project is completed with lower cost and shorter time by using an Elitist Non-dominant sequencing genetic Algorithm (NSGA-II) with elite strategy, so that the scheduling result is more accurate. And constructing a learning effect scheduling model according to the scheduling model and the learning effect, considering the learning effect of the skill type employees, and recording and analyzing the condition that the final skill value of the skill type employees participating in the project is increased compared with the initial skill value by the learning effect scheduling model. And constructing a learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect, considering the learning forgetting effect of the skill type employees, and recording and analyzing the final skill value of the skill type employees participating in the project by the learning forgetting effect scheduling model after the final skill value of the skill type employees is changed to a certain extent compared with the initial skill value. And acquiring scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model, wherein in a software project, each task needs to meet the constraints of software developers and the skills thereof and the time sequence constraints among the tasks, and the skill performance of the software developers is usually one specific and multifunctional and can specifically express and master multiple development languages. In the actual software project scheduling process, the skill level of a software developer is also continuously changed, and the rule of 'using for entering and exiting' is met. On the premise of meeting the rule, the learning effect and the learning forgetting effect of developers are comprehensively considered, the multi-skill staff are reasonably scheduled in the software project, the cost and the progress are in a moderate state, the cost and progress optimization result is more accurate, the scheduling corresponding to the cost and the progress is more scientific, and the requirement of the actual project is met.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments of the present invention will be briefly described below, and it is obvious that the drawings described below are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a flow chart of a method of an embodiment of the present invention;
FIG. 2 is a flow chart of an embodiment of the present invention;
FIG. 3 is a three-level architecture diagram of a project scheduling problem for multiple development language skills human resource constraints, in accordance with an embodiment of the present invention;
FIG. 4 is a network diagram of project task nodes according to an embodiment of the present invention;
FIG. 5 is a graph illustrating an iteration of a learning effect period according to an embodiment of the present invention;
FIG. 6 is a graph of an iteration of a learning effect cost for an embodiment of the present invention;
FIG. 7 is a graph of a learning effect pareto frontier for an embodiment of the present invention;
FIG. 8 is an iterative graph illustrating the learning forgetting effect period according to an embodiment of the present invention;
FIG. 9 is a graph of an iterative cost curve for learning forgetting effect according to an embodiment of the present invention;
FIG. 10 is a pareto frontier graph of learning forgetting effect according to an embodiment of the present invention;
fig. 11 is a block diagram of a system configuration according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the present invention will be described in further detail with reference to the accompanying drawings and specific embodiments. It is to be understood that the embodiments described are only a few embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, those skilled in the art can obtain the embodiments without any inventive step in advance, and the embodiments are within the protection scope of the present invention.
It will be understood by those skilled in the art that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
The embodiment of the invention provides a scheduling method based on learning-forgetting effect, as shown in fig. 1, comprising:
and S110, constructing a scheduling model according to the NSGA-II algorithm, the tasks and the personnel information.
NSGA-II, Elitistonnon-doped Sorting genetic Algorithm, non-dominated Sorting multi-target genetic algorithm with elite strategy.
A double-layer coding algorithm is adopted, the first layer of codes are sequential codes, the second layer of codes are task assignment codes, and a scheduling model is constructed;
the tasks comprise task construction period, task quantity and task execution priority;
the personnel information includes: personnel cost, initial skill value of personnel, and personnel skill use time, etc.
And S120, constructing a learning effect scheduling model according to the scheduling model and the learning effect.
Acquiring a learning operator according to the learning effect, the sequence code and the task assignment code; and constructing a learning effect scheduling model according to the learning operator and the scheduling model.
S130, constructing a learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect.
Acquiring a forgetting operator according to the learning forgetting effect, the sequence codes and the task assignment codes; and constructing a learning forgetting effect scheduling model according to the forgetting operator and the scheduling model.
And S140, acquiring scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model.
And acquiring a learning effect task construction period, learning effect personnel cost and a learning effect personnel working time balance value according to the learning effect scheduling model.
Acquiring a learning effect skill value according to the learning effect scheduling model, the personnel initial skill value and the learning effect formula;
acquiring a learning effect task construction period according to the learning effect skill value and the task construction period;
acquiring the cost of the learning effect personnel according to the learning effect skill value and the personnel cost;
and acquiring a working time balance value of the learning effect personnel according to the learning effect skill value and the personnel skill using time.
Acquiring a learning forgetting effect task construction period, learning forgetting effect personnel cost and a learning forgetting effect personnel working time balance value according to the learning forgetting effect scheduling model;
acquiring learning forgetting effect skill values according to the learning effect scheduling model, the personnel initial skill values and the learning forgetting effect formula;
acquiring a learning forgetting effect task construction period according to the learning forgetting effect skill value and the task construction period;
acquiring the cost of the learning forgetting effect personnel according to the learning forgetting effect skill value and the personnel cost;
and acquiring a work time balance value of the learning forgetting effect personnel according to the learning forgetting effect skill value and the personnel skill use time.
The embodiment of the invention provides a scheduling method based on learning-forgetting effect, as shown in fig. 2, comprising:
reading task data, setting algorithm parameters, initializing chromosomes, calculating the extremely poor construction period, cost and employee time, and then performing rapid non-dominated sorting.
And selecting individuals by using a binary tournament method for the population P, obtaining a new population Q through chromosome variation and chromosome crossing, then combining the population R, and then performing chromosome decoding.
And then, performing coding layering operation, including task sequence and personnel assignment, calculating the extremely poor construction period, cost and employee time, calculating constraint conditions, performing rapid non-dominated sorting, obtaining a new generation population P through a displacement and elite retention strategy, judging whether the algorithm is finished in an iterative mode, re-performing chromosome decoding if the algorithm is not finished in the iterative mode, and outputting a Pareto (Pareto) front edge solution set result if the algorithm is finished in the iterative mode.
(1) Encoding and initializing the population.
NSGA-II introduces a rapid non-dominated sorting, thereby reducing the complexity of the algorithm; the NSGA-II introduces an elite strategy into the algorithm, which enlarges the sampling space; the NSGA-II can uniformly expand individuals in the quasi-pareto domain to the whole pareto domain, and ensures the diversity of the population.
NSGA-II is based on genetic algorithms, so the design form of coding and population initialization is the same as genetic algorithms. Coding is the representation of the solution in question in chromosomal form, thereby enabling efficient genetic manipulation. According to the completeness, soundness and non-redundancy principles of the codes and the configuration characteristics of the employees in various development languages mastered in the software project, the embodiment adopts the algorithm design principle of double-layer coding, wherein the first layer of codes are sequential codes, and the second layer of codes are task assignment codes for tasks needing to master the tasks of the employees in various development languages.
And double-layer coding is adopted in the scheme, wherein the first layer is used for sequencing tasks, the second layer is used for sequencing personnel, and the problem of personnel scheduling in a project is solved by adopting the double-layer coding.
For example, if the number of tasks n and the number of resources m, the first layer code length is n, and a non-repeated ordering of integers from 1 to n represents the priority of task execution, the tasks are first randomly generated and then transformed according to the immediate constraint. The second layer is coded by integers with length L ═ n × m, and the gene positions are integers of [ lb (i), ub (i) ], which indicate the selected type. If n is 5, m is 2, and the total number of workers is 5, then a legal chromosome can be represented as [5,4,2,1, 3; 3,2,3,2,11,5,3,2,4], the first layer of coding is the access sequence of the nodes, is 5,4,2,1,3, and means that task 5 is arranged first, then task 4 is arranged, then task 2 is arranged, and so on, the second layer of coding is that task needs grasp the codes assigned by employees in various development languages as: 3,2,3,2,1 and 1,5,3,2,4, bit 1 of 3 indicates assigning the 3 rd person possessing development language skill 1 to provide development language skill 1 to task 1, bit 2 of 2 indicates assigning the 2 nd person possessing development language skill 2 to provide development language skill 2 to task 1, bit 3 of 3 indicates assigning the 3 rd person possessing development language skill 1 to provide development language skill 1 to task 2, bit 4 of 2 indicates assigning the 2 nd person possessing development language skill 2 to provide development language skill 2 to task 2, and so on.
The generation of the initialized individual mainly comprises the following 5 steps:
step 1: firstly, initializing relevant parameters, specifically including the number m of tasks, the number s of development language skills and the development language skill Set required by the task ddTask d requires the minimum time to develop language skills j
Figure BDA0002479785890000101
Set of employees who master development language skills jjChromosome personal [ ]]Population size popsize.
Step 2: determining iteration steps according to the size of the population popsize.
Step 3: the development language number cycles from 1 to s, cycling from 1 to m according to the task number.
Step 4: checking whether task d is presentNeed to develop language skills j if
Figure BDA0002479785890000102
If the task d is more than 0, the task d is considered to need the development language skill j, and the Set of the employees who master the development language skill j is selectedjSelecting an employee with the serial number i, and assigning the value of i to the gene position personal of the current individual]If, if
Figure BDA0002479785890000103
Less than 0, then a jump can be made to the next loop.
Step 5: in this way, personnel are scheduled up to the development language skills of all projects.
In a software development project scheduling model based on learning effect of research personnel, a double-layer coding algorithm design flow mainly comprises the following five steps:
step 1: initializing the priority order of tasks, the type of skills required in the tasks and the shortest time of the skills, the type of skills mastered by the staff and the initial skill value, the average skill wage of the staff and the time of using the skills by the staff, learning operators and other variables.
Step 2: and performing iteration according to the serial number of the task, wherein if the task does not have an immediately preceding task, the starting time of the task is 0, otherwise, if the task has an immediately preceding task, the starting time of the task is the latest completion time of all immediately preceding tasks.
Step 3: the task scheduling method includes the steps that when the tasks are iterated according to numbers, skills needed by each task are determined, a staff with corresponding skills is selected from a staff skill matrix, the staff numbers of the skills are determined, each staff can only use one skill to participate in the same task punishment value, and the task completion time is the latest completion time of the skills needed by the tasks.
Step 4: if the employee i uses the skill j to participate in the task d, firstly calculating the skill value of the employee i when the employee i uses the skill j to participate in the task d, then calculating the construction period of the task d, and calculating the skill value of the skill j of the employee i after the task is finished according to a learning effect formula; if the employee i does not use the project d, the skill value of the skill j of the employee i is kept unchanged, and the initial value is taken.
Step 5: and (3) constructing a staff skill use time table to calculate the use time of each skill of each staff, calculating the final skill value of each skill of the staff at the end of the project by using a learning effect formula, calculating the accumulated use time of the staff through the staff skill use time table, and finally calculating the project construction period and cost and the balance value of the staff working time respectively.
In a software development project scheduling model based on the learning forgetting effect of research personnel, a double-layer coding algorithm design flow mainly comprises the following six steps:
step 1: initializing the priority of tasks, the type of skills required in the tasks and the shortest time of the skills, the skill type and initial skill value mastered by the staff, the average skill wage of the staff, the time of using the skills by the staff, learning operators, forgetting operators and other variables.
Step 2: and performing iteration according to the serial number of the task, wherein if the task does not have an immediately preceding task, the starting time of the task is 0, otherwise, if the task has an immediately preceding task, the starting time of the task is the latest completion time of all immediately preceding tasks.
Step 3: the task scheduling method includes the steps that when the tasks are iterated according to numbers, skills needed by each task are determined, a staff with corresponding skills is selected from a staff skill matrix, the staff numbers of the skills are determined, each staff can only use one skill to participate in the same task punishment value, and the task completion time is the latest completion time of the skills needed by the tasks.
Step 4: if the employee i uses the skill j to participate in the task d, firstly calculating the skill value of the skill j used by the employee i when the employee i participates in the task d, then calculating the construction period of the task d, calculating the skill value of the skill j of the employee i after the task is finished according to a learning effect formula, and taking the moment as the last using moment of the skill j of the employee i.
Step 5: if the employee i uses the skill j to participate in the project d, the employee i uses the skill j to participate in the task d ', the forgetting effect of the employee is considered when the task d ' starts, the difference between the task starting time and the last using time of the skill is calculated, and the actual skill of the employee when the task d ' starts is calculated; if the skill j of the employee i is not used until the task d ', the skill value at the start of the task d ' is calculated by calculating the time difference between the start of the project and the start of d ' only considering the forgetting effect.
Step 6: the method comprises the steps of constructing a staff skill use time table, calculating the use time of each skill of each staff, calculating the final skill value of each skill of the staff at the end of a project by using a learning forgetting effect formula, calculating the accumulated use time of the staff through the staff skill use time table, and finally calculating the project construction period and cost and the balance value of the staff working time respectively.
(2) And (5) evaluating the fitness.
When the multi-objective optimization problem is solved, because a plurality of optimization objectives are often contradictory, an appropriate selection mechanism, particularly how to evaluate the individual fitness by adopting an appropriate evaluation mode becomes a key factor for judging whether the evolutionary algorithm is finally converged to the Pareto optimal solution.
Generally, the multi-objective evolutionary algorithm mainly uses three fitness evaluation strategies, namely a combined function method, a method based on a population without introducing a Pareto dominant concept, and a method based on the population with introducing the Pareto dominant concept. The Non-dominated sorting genetic Algorithm (NSGA-II) fitness evaluation method with elite strategy adopted in the embodiment adopts a method of introducing Pareto domination concept based on population, and determines parent individuals of next iteration mainly through sorting values and crowding degrees.
(3) Genetic operator
Selection is a genetic operation that selects good individuals from parents into the next generation. The selection operator compares the advantages and disadvantages of the individuals according to the fitness of the individuals, the smaller the fitness, the smaller the probability that the individual is selected, and conversely, the larger the fitness, the greater the probability that the individual is selected. Common types of selection operators are: tournament selection, roulette selection, uniform ordering, preserving best choice, etc.
The tournament selection method mainly comprises the following steps:
the method comprises the following steps that firstly, assuming that the population size is n, n individuals are randomly generated to serve as a first generation;
secondly, randomly selecting k (k is smaller than n) individuals from the n individuals, wherein the value of k is small, the efficiency is high, but the value is not small, and generally n/2 (rounding) is adopted;
thirdly, selecting the largest individual from the k individuals as one of the n next-generation individuals;
and fourthly, repeating the second step and the third step until new n individuals are obtained.
The selection operator adopted in the embodiment is a binary tournament method, and the basic principle is to perform selection according to the ordinal value and the congestion distance, wherein individuals with small ordinal values are selected when the ordinal values are different, and individuals with large congestion distance are selected when the ordinal values are the same, so that the evolution can be performed towards the direction of non-dominant solution and uniform dispersion.
The crossover belongs to one of the core operators of the genetic algorithm.
Crossover produces progeny by mimicking the genetic pattern of the organism by mating and recombining chromosomes to produce new progeny. The new filial generation individuals are the new feasible solution of the problem, so that the algorithm can carry out iterative search in the feasible solution space of the optimization problem through cross operation, and further the global search capability of the algorithm can be improved.
The embodiment of the invention adopts two-point intersection.
The operation steps of the crossover operator in the first layer coding are as follows:
(1) randomly selecting two chromosomes as male parents;
(2) generating 2 random natural numbers r1 and r 2;
(3) the gene segments between the two parent chromosomes r1 to r2 are exchanged to obtain two offspring chromosomes, and the obtained two chromosomes are revised so as not to conflict.
For example, two paternal chromosomes [1,3,2,5,4] [1,2,4,5,3] are selected, r1 is 2 and r2 is 4, then the crossover process is: before crossing [1,3,2,5,4] [1,2,4,5,3], after crossing [1,2,4,5,4] [1,3,2,5,3], after repairing [1,2,4,5,3] [1,3,2,5,4], wherein the repairing method is that after crossing, a complementary set of crossing segments is taken to be rearranged to non-crossing segments randomly.
The operation steps of the crossover operator in the second layer coding are as follows:
(1) randomly selecting two chromosomes as male parents;
(2) generating 2 random natural numbers r1 and r 2;
(3) and exchanging the gene segments between the two male parent chromosomes r 1-r 2 to obtain two offspring chromosomes.
For example, two paternal chromosomes [1,3,3,2,1,2] [2,3,1,1,2,3], r1 ═ 2, r2 ═ 4, are selected, so that the intersection is followed by [1,3,1,1,1,2] [2,3,3,2,2,3 ].
Mutation is a genetic operation for forming a new individual by replacing some gene values in the individual with other values, and the local search capability of the genetic algorithm can be effectively improved.
According to the characteristics of the coding, the first layer coding design uses two-point reciprocity mutation, and the mutation steps are as follows:
(1) generating 2 random natural numbers r1, r 2;
(2) the genes at r1 and r2 were exchanged.
For example, r1 ═ 2, then the chromosomal variation is [1,3,2,5,4] → [1,5,2,3,4 ].
The second layer coding design uses single point variation, and comprises the following steps:
(1) generating a random natural number r1, wherein r1 indicates that the gene at the r1 position has variation;
(2) and (3) carrying out mutation on the r1 th gene by adopting a random mutation mode.
For example, r1 ═ 3, then the chromosomal variation is [1,3,3,2,1,2] → [1,3,1,2,1,2 ].
(4) Constraint processing
The difficulty of the non-dominated sorting multi-target genetic algorithm NSGA-II with the elite strategy in solving the constraint problem is that a feasible solution often becomes an infeasible solution after various genetic operations, which violates the inherent constraint, so that certain strategies need to be used when the NSGA-II is used for solving the problem.
Generally, constraints can be considered with a straightforward idea, that is, in the course of evolution, a procedure of detecting whether a new individual violates a constraint can be performed after one iteration. If there is no violation, the valid individual is retained, otherwise, the invalid individual is removed. This approach may work for weak constraint problems, but not for strong constraint problems.
Under strong constraint conditions, the difficulty of finding an effective individual is greatly increased, and the individual is almost converted into an infeasible individual through one-time evolution because of more constraint conditions.
According to the characteristics of the three models established in the embodiment, one part of the constraint conditions is realized through a coding and coding rule, and the other part of the constraint conditions is mainly realized through a penalty function method.
The embodiment of the invention provides a scheduling method based on learning-forgetting effect, which comprises the following steps:
learning effects, also known as learning phenomena, are the effects of the accumulated experience through long-term work leaving memory in the mind of the operator, which helps the operator to improve the efficiency of the same or similar operations. The learning curve was originally developed by Wright in 1936 when studying the time of aircraft manufacture, which gradually decreased as aircraft production increased. This patent uses the research and development personnel learning model proposed by foreign scholars Wu and Sun, who indicate that the longer the time that a research and development staff uses a skill, the more the research and development efficiency on that skill will increase, and assuming that staff research and development staff p attends research and development task k, the learning curve formula is:
Figure BDA0002479785890000161
where n represents the total time period staff p spends on task k;
Figure BDA0002479785890000162
represents the average efficiency of employee p at the time of initiating the task;
Figure BDA0002479785890000163
represents the average efficiency accumulated after employee p spends n cycles in task k;
Figure BDA0002479785890000164
b is called a learning factor, r is called a learning percentage, and the smaller the value of r, the larger the value of b, the higher the learning effect.
Along with the study of the study effect by the scholars, the scholars find that the forgetting effect corresponding to the study effect also appears in the production activity and has important influence on the production activity, the patent uses the study-forgetting curve of developers researched by foreign scholars Attia and Nembrard, and the calculation formula and the symbolic meaning are given as follows:
Figure BDA0002479785890000165
wherein T represents the total time range and the range of values is a positive integer; eijtLevel value representing skill j of employee i after time period t, 0 < Eijt≤1;
Figure BDA0002479785890000167
An initial level value representing the skill j of employee i at the beginning of time period t,
Figure BDA0002479785890000166
tijrepresents the total time of i using the skill j in the time period T, and T is more than or equal to 0ij≤T。
aijA learning factor representing skill j of employee i, the calculation formula is as follows:
aij=-(ln(lij))/ln2
wherein lijThe learning rate of the skill j of the employee i is represented, and l is more than or equal to 0ij≤1;lijThe smaller the value, aijThe greater the valueMeaning that the greater the learning effect of employee i.
bijA forgetting factor representing the skill j of the employee i, the calculation formula is as follows:
bij=-(ln(1-fij))/ln2
wherein f isijF is more than or equal to 0 and represents the forgetting rate of the skill j of the employee iij≤1;fijThe smaller the value, bijThe larger the value, the smaller the forgetting effect of employee i.
From the above formula, it can be seen thatijWhen the learning-forgetting curve becomes 1, the learning-forgetting curve becomes a forgetting curve, and when f is equal toijWhen the learning forgetting curve is 0, the learning curve becomes a learning curve, and when the developer i uses the development language j, the skill level of the development language j is increased; when the developer i does not use the development language j, the skill level of the development language j may be reduced.
(1) Establishing optimized mathematical model
The software project P, including the number {0, 1.,. M +1} in total, is divided into M +2 tasks, where task 0 and task M +1 are dummy jobs (dummy jobs are jobs that consume no resources and are executed for 0 time), and represent the start and end of the software project, respectively, and the set of tasks is M. The software project P requires a total set of development language skills s of J ═ 1, 2. The project has N developers who can be called and master multiple development language skills, and the set of developers is N ═ 1, 2. i, J and d respectively represent research personnel, development language skills and tasks, wherein i is more than or equal to 1 and less than or equal to N, J is more than or equal to 1 and less than or equal to s, d is more than or equal to 1 and less than or equal to M, i belongs to N, J belongs to J, and d belongs to M.
As shown in fig. 3, each task requires multiple development language skills, each development language skill is mastered by multiple developers, each developer has different development language skills and the mastered development language skills are different in efficiency, and can be described by a three-layer architecture of work (task) -skill-manpower, and a three-layer architecture of a project scheduling problem of multiple development language skills and human resource constraints.
The GPRs represent general precedence relationship constraints A1-AJ represent J work or tasks, 1-K represent that the work needs K development language skills, namely the development language skills owned by the research and development personnel participating in the project, the development language skills mastered by each research and development personnel are different, and 1-S represent that S development language skill type employees exist.
The basic assumption of the problem is as follows:
(1) the number of multiple development language skill developers in the whole project period is kept unchanged;
(2) the cost of the software project is the sum of the wages of research personnel participating in the project, the wages of the staff are influenced by the skill value of the development language mastered by the staff, and the higher the skill value is, the higher the wage is;
(3) in the calculation of the progress of the software project, the task preemption is not considered, and the time lag is not considered. Assuming that the completion time of a process immediately before the process is the starting time of the process, and no time interval exists between the completion time and the starting time, and the work conversion time and the preparation time are not considered;
(4) each task can not be interrupted in the midway, namely, a research and development personnel allocated to one task can only be allocated to the next task after the task is finished;
(5) each employee can only participate in one task at the same time, but cannot participate in multiple tasks at the same time.
TijdIndicating the time that the developer i engaged in task d using development language skills j.
Figure BDA0002479785890000181
The shortest completion time when the development language skill j is used in the task d is shown, the development language skill j is the highest level of all the development language skills j in the enterprise, the time required for the task d to be done by the research personnel with the highest level in the enterprise is shown, j is more than or equal to 1 and less than or equal to s, and d is more than or equal to 1 and less than or equal to m.
EijRepresenting the level of the development language skill j possessed by the developer i, i is more than or equal to 1 and less than or equal to n, j is more than or equal to 1 and less than or equal to s, Eij∈[0,1],E ij1 represents that the level of development language skills j possessed by the developer i is the highest level of the enterprise; e ij0 indicates that the developer i does not have the development language skill j.
Figure BDA0002479785890000191
Indicating that the developer i has the level of development language skills j at the beginning of the software project,
Figure BDA0002479785890000192
as is known, the judgment can be made by project managers, project technical supervisors and related responsible persons according to the knowledge, ability and other aspects of the employees.
Figure BDA0002479785890000193
Indicating the level of development language skills j that the developer i possesses at the start of task d.
FTdIndicating the completion time of the task.
STdIndicating the start time of the task.
FTPdIndicating the completion time of the preamble work.
TdIndicating the duration of task d.
PdA set of immediately preceding tasks representing task d.
JdRepresents the set of total number of required development language skills for task d.
Figure BDA0002479785890000194
Indicating whether task d requires development language skill j, if so
Figure BDA0002479785890000195
Otherwise
Figure BDA0002479785890000196
1≤j≤s,1≤d≤m;CiThe salary of the employee i in a certain time (such as month, week and day) is represented, and the average salary of each development language skill mastered by the developer i is 1-n.
Figure BDA0002479785890000197
Indicating the working time of the developer i at the d-th task.
aijA learning operator representing the skill j of the employee i.
bijA forgetting operator representing employee i skill j.
xijdIs 0-1 decision variable, i is more than or equal to 1 and less than or equal to n, j is more than or equal to 1 and less than or equal to s, and d is more than or equal to 1 and less than or equal to m. If x ijd1, indicates that the developer i engages in task d using development language skills j, otherwise it is zero.
yijdtIs an auxiliary variable of 0 to 1, i is more than or equal to 1 and less than or equal to n, j is more than or equal to 1 and less than or equal to s, and d is more than or equal to 1 and less than or equal to m. If y ijdt1, indicates that the developer i engages in the task d using the development language skills j during the time period t, otherwise it is zero.
The model takes the cost and the progress of a software project and the time balance of research personnel as objective functions and optimizes the cost, the progress and the time balance of the research personnel and the research personnel.
The objective function is as follows (1) to (3).
In a software project, the main cost is derived from the cost of the developers participating in the project, so the cost of the software project can be considered as the sum of the wages of the developers participating in the software project. The payroll level of the research and development personnel is influenced by the skill value of the multiple development languages mastered by the research and development personnel, and the skill value of the multiple development languages mastered by the research and development personnel can be evaluated by an expert group consisting of a project manager, a research and development technical supervisor, a responsible person and the like. If the developer has a higher value of multi-development language skills, the corresponding payroll is higher. Defining an initial value of a multi-development language skill mastered by a developer participating in a project as EijThe product of the initial value of a certain development language skill mastered by the developer and the average skill payroll of the employee is the actual payroll of the development language skill mastered by the multi-development language skill developer. The software project cost objective function equation is shown in (1), and represents minimizing the software project cost.
Figure BDA0002479785890000201
The completion time for each task in a software project is the maximum time within the task for the developer to use the skills. The progress of the whole software project is the deadline of the last completion task in the software project, namely the time of the task with the longest completion time in all the tasks is the final completion time of the whole project. The greater the skill value of the employee means that the more skilled the skill of the employee, the shorter the time the employee will take to complete the task. The software project progress objective function formula is shown in (2), and represents minimizing the progress of the software project.
Figure BDA0002479785890000202
In a software project, developers need to be used in a balanced manner, the situation that one developer has long working time and the other developer has short working time cannot occur in one task, the working time of the developers needs to be balanced, and the developers are used reasonably, so that the software project is more practical. The extreme difference of the working time of the research and development personnel is defined, and as shown in formula (3), the extreme difference of the working time of the research and development personnel is minimized, and the working time of the research and development personnel in the project is balanced.
Figure BDA0002479785890000203
The constraint conditions in the model are set as shown in (4) to (16). Due to the fact that
Figure BDA0002479785890000211
The shortest completion time of the development language skills j when the task d is completed, namely the time taken for the task d to be done by the research and development personnel having the highest level of the development language skills j in the enterprise, the time taken for any one research and development personnel i to participate in the task d by using the development language skills j is related to the level of the development language skills of the research and development personnel. The larger the ratio of the developer's development language skill value to the highest level in the enterprise, the shorter the time for the developer to participate in the task using that skill, so the time for the developer i to participate in the task d using the development language skill j is as shown in equation (4):
Figure BDA0002479785890000212
the completion time of a task in a software project is determined by the longest completion time of a certain development language skill J used by the developer i in the task, that is, the longest completion time of all development language skills J in the development language skill set J required for the task d determines the final completion time of the task, so the completion time of the task d is as shown in formula (5):
Figure BDA0002479785890000213
in the software project, the order constraint relationship between tasks is as follows. Wherein (6) indicates that the completion time of task d is the sum of its start time and its actual duration; (7) the starting time of the task d is the completion time of the task immediately before the task d, the time interval is not considered between the tasks, and the default is that after the previous task is completed, the next task is immediately started; (8) the completion time of the preorder task of the task d is represented as the maximum time spent in the preorder task; (9) meaning that if a task has no predecessor, then the completion time for that predecessor is zero.
Figure BDA0002479785890000214
In a software project, each development language skill required by a task must be completed by only one developer with the development language skill, one development language skill J in a development language skill set J required by a certain task cannot be completed by two or more employees with the development language skill J, and each developer can participate in a task by only using one development language skill, and cannot use two development language skills simultaneously in one task by one employee. One research and development personnel can only participate in one task at the same time, namely, the research and development personnel can only participate in one task in a project by using one development language skill at the same time, and after the task is completed, the research and development personnel can redistribute and participate in the subsequent tasks. (10) Each development language skill indicating each task requires and is only completed by one person, (11) each developer can only participate in the same task using one development language skill. (12) Indicating that one developer can only participate in the same task at the same time, (13) indicating the total working time of the developer i in the software project.
Figure BDA0002479785890000221
Figure BDA0002479785890000222
Figure BDA0002479785890000223
Figure BDA0002479785890000224
If the developer i participates in the task d by using the development language skill j in the time period t, the developer i is indicated to use the development language skill in the task d, namely yijdtX is 1ijdIf y is equal to 1, otherwiseijdtX is 0ijd=0。
Wherein y isijdtAnd xijdWith values of 0 or 1, the constraints are set as (14), (15) and (16).
Figure BDA0002479785890000225
xijd={0,1},1≤i≤n,1≤j≤s,1≤d≤m (15)
yijdt={0,1},1≤i≤n,1≤j≤s,1≤d≤m (16)
And (3) a software development project scheduling model based on the learning effect of research and development personnel.
The constraint conditions in the model are set as shown in (1) to (16) above. Wherein constraint (1)7) The expressions (1) to (18) are based on the learning effect of the developer. Considering the learning effect of a skilled employee, in a software development project, when a skilled employee i uses a skill j to participate in a task d, if the employee i does not use the skill j to participate in other tasks before the task d, namely before the starting time STd of d, the skill value of the skill j when the skilled employee starts to participate in the task d is considered as the initial skill value; when the skilled worker has engaged in other tasks using skill j for a portion of the time after the project begins and before task d begins, the total time to engage in other tasks is:
Figure BDA0002479785890000236
according to the learning curve model of Wu and Sun research, the skill value of the skill-type employee i when participating in the project d is:
Figure BDA0002479785890000231
when the skilled employee has used skill j to attend other tasks at all times after the start of the project and before the start of task d, i.e., before the start time STd of task d, then the skill value of the skilled employee at attending project d is:
Figure BDA0002479785890000232
therefore, the skill value of the skill type employee i when using the skill j to participate in the task d when considering the worried learning effect of the employee is shown in formula (17):
Figure BDA0002479785890000233
after the project is finished, because the learning effect of the skill type employee is considered, the final skill of the skill type employee participating in the project is increased compared with the initial skill value, and if the skill j of the employee i is not participated in the project in the whole project, the level of the skill j of the employee i after the project is finished is the initial value; if it isThe skill j of the employee i participates in the project in the whole project, and the time for the employee to use the skill j in the whole project period is accumulated as follows:
Figure BDA0002479785890000234
according to the learning curve model of the Wu and Sun research, the skill value of the skill j of the employee i after the project is finished is as follows:
Figure BDA0002479785890000235
therefore, when considering the learning effect of the employee, the skill level value of the skill j of the skill type employee i after the software project is finished is shown in the formula (18):
Figure BDA0002479785890000241
and (3) a software development project scheduling model based on a learning forgetting effect.
In the software development project, because the learning forgetting efficiency of the skill type employee is considered, when the skill type employee i participates in the task d by using the skill j, if the employee i starts the task d at the starting time STdIf skill j has not been used to attend any task before, then the skill value of skill j for attendee i to task d is:
Figure BDA0002479785890000242
if employee i begins time ST at task ddIf skill j has been used to participate in other tasks before, the skill value of skill j for employee i to participate in task d is:
Figure BDA0002479785890000243
if employee i begins time ST at task ddIf the skill j has been used only part of the time before, then the time to use the skill j is calculated, i.e. the time to use the skill j is calculated
Figure BDA0002479785890000244
Then the time at which skill j is not used at the beginning of task d is:
Figure BDA0002479785890000245
then the skill value of skill j for employee i when participating in task d is:
Figure BDA0002479785890000246
therefore, when the learning forgetting effect of the employee is comprehensively considered, the skill value of the skill type employee i when the employee participates in the task d by using the skill j is shown in the formula (19):
Figure BDA0002479785890000247
after the project is finished, due to the fact that the learning forgetting effect of the skill type employees is considered, the skill value of the final skill of the skill type employees participating in the project is changed from the initial skill value, when the time for the skill type employees i to use the skill j in the project is longer than the time for not using the j, the skill value of the skill j of the skill type employees i is increased, and when the time for the skill type employees i to use the skill j in the project is shorter than the time for not using the j, the skill value of the skill j of the skill type employees i is reduced. If the skill j of employee i is not involved in the project throughout the project, the level of skill j for employee i after the project ends is:
Figure BDA0002479785890000251
if employee i has consistently used skill j to participate in the project throughout the project, the level of skill j for employee i after the project is completed is, based on the learning forgetting curve developed by Attia and Nembard:
Figure BDA0002479785890000252
if the skill j of the employee i participates in the project in the whole project, the learning effect of the employee is considered, and the employee i is calculated in the whole projectThe time to use skill j in the project is:
Figure BDA0002479785890000253
then the time that employee i has not used skill j throughout the project is:
Figure BDA0002479785890000254
according to the learning forgetting curve of the Attia and Nembhard studies, the level of skill j for employee i after the end of the project is:
Figure BDA0002479785890000255
therefore, when the learning forgetting effect of the skill type employee is considered, the skill level value of the skill j of the skill type employee i after the software project is finished is shown as the formula (20):
Figure BDA0002479785890000256
the invention provides a specific example, which comprises the following components:
a large software development project P of a certain software development company S has 10 tasks, namely D1, D2, … and D10, wherein 8 development language skills are needed, namely S1, S2 … and S8, each task needs multiple development language skills, each development language skill is conducted in parallel, initial development language skill values of employees are given by an expert group consisting of technical supervisors and responsible persons in the project, project managers and the like through evaluation, and developers who can participate in the software project have 40 tasks.
The precedence between tasks and the skills required for each task are shown in table 1.
Table 1 task precedence relationships in the project
Task name Task immediately before Required skill
D1 —— S1,S2,S3,S5,S7
D2 —— S1,S2,S3,S5,S7
D3 D2 S2,S5,S6,S7
D4 —— S1,S2,S3,S5,S7
D5 D1,D2 S2,S4,S6,S8
D6 D1,D4 S3,S5,S7,S8
D7 D3,D5 S3,S5,S7,S8
D8 D3 S3,S5,S7,S8
D9 D6,D7,D8 S3,S5,S7,S8
D10 D9 S3,S5,S7,S8
A project task node network diagram of tasks in a project is given according to table 1, as shown in fig. 4, where task S and task E are virtual processes.
The development language skills required for each task in the project and the minimum development time required for the development language skills are shown in table 2.
TABLE 2 shortest time requirement for skills in task (Unit: month)
Figure BDA0002479785890000261
The average payroll for the development language skills of these 40 employees is shown in table 3.
TABLE 3 average salary (Yuan/Yue) of skill held by the employee
Figure BDA0002479785890000262
The development language skills and the skill initial level value mastered by each developer are shown in table 4.
TABLE 4 staff and skill value for each skill
Figure BDA0002479785890000271
The multi-skill staff scheduling multi-target experiment result based on the learning effect is as follows:
the learning rate is set to 0.91 and the upper limit of the learning curve is set to 1 during encoding. Obtaining by running the code Matlab:
the learning effect period iteration graph is shown in fig. 5, and the abscissa represents the number of iterations and the ordinate represents the period f 1.
The learning effect cost iteration graph, as shown in fig. 6, has the abscissa representing the number of iterations and the ordinate representing the cost of f 2.
The learning effect pareto frontier plot, as shown in fig. 7, has an abscissa of f1 for a project, an ordinate of f2 for cost, and an upright of f3 staff equilibrium values.
The 10 solutions were selected from the pareto frontier of fig. 7 and the cost and progress values of the 10 solutions are listed, as shown in table 5:
TABLE 5 software project progress and cost
Figure BDA0002479785890000272
Figure BDA0002479785890000281
Table 6 gives the skilled employee scheduling schemes corresponding to these 10 solutions.
TABLE 6 skill type employee scheduling scheme
Figure BDA0002479785890000282
Figure BDA0002479785890000291
Figure BDA0002479785890000301
The multi-skill staff scheduling multi-target optimization experiment result based on the learning forgetting effect is as follows:
the learning rate is set to 0.91, the forgetting rate is set to 0.04, the upper limit of the learning forgetting curve is set to 1, and the lower limit is set to 0.2. Obtaining by running the code Matlab:
learning an iteration curve graph of the forgetting effect construction period, wherein the abscissa is iteration times and the ordinate is the construction period of f1 as shown in fig. 8;
learning a forgetting effect cost iteration curve graph, as shown in fig. 9, the abscissa is the iteration number, and the ordinate is the f2 cost;
learning the forgetting effect pareto frontier chart, as shown in fig. 10, the abscissa is f1 construction period, the ordinate is f2 cost, and the vertical coordinate is f3 staff equilibrium value.
The 10 solutions were selected from the pareto frontier of fig. 10 and the cost and progress values of the 10 solutions are listed, as shown in table 7:
TABLE 7 software project progress and cost
Cost of software project Software project progress
1022732.5 34.8
1037779.2 34.9
1061631.3 35.0
1019637.6 35.0
1013704.4 35.4
1016632.9 35.4
1025197.3 35.7
1032221.3 35.7
1057848.0 36.1
1019376.6 36.4
Table 8 gives the skilled employee scheduling schemes for these 10 solutions:
TABLE 8 skill type employee scheduling scheme
Figure BDA0002479785890000321
Figure BDA0002479785890000331
Figure BDA0002479785890000341
The data comparison can be obtained, when only the learning effect of the developer is concerned, although the progress is improved, the cost is increased, when the learning forgetting efficiency of the developer is comprehensively considered, the cost and the progress are in a moderate state, the cost and the progress are optimized more accurately, the scheduling corresponding to the cost and the progress is more scientific, and the requirement of an actual project is met more.
According to the scheduling method based on the learning-forgetting effect, provided by the embodiment of the invention, when the learning efficiency and the learning-forgetting efficiency of developers are comprehensively considered, the cost and the progress of a project are in a moderate state, the cost and progress optimization result is more accurate, and the scheduling corresponding to the cost and the progress is more scientific, so that the requirements of the actual project are better met.
An embodiment of the present invention further provides a scheduling system based on a learning-forgetting effect, as shown in fig. 11, including:
the scheduling model building module is used for building a scheduling model according to the NSGA-II algorithm, tasks and personnel information;
the learning effect scheduling model building module is used for building a learning effect scheduling model according to the scheduling model and the learning effect;
the learning forgetting effect scheduling model building module is used for building a learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect;
and the scheduling information acquisition module is used for acquiring scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model.
The embodiment of the invention also provides a scheduling system based on the learning-forgetting effect, and the scheduling model building module comprises:
the double-layer coding module is used for adopting a double-layer coding algorithm, wherein the first layer of coding is sequential coding, and the second layer of coding is task assignment coding, so that a scheduling model is constructed;
the task comprises a task construction period;
the personnel information includes: personnel cost, initial skill value of personnel, and personnel skill use time.
The embodiment of the invention also provides a scheduling system based on learning-forgetting effect, wherein the learning effect scheduling model building module comprises:
the learning operator obtaining sub-module is used for obtaining a learning operator according to the learning effect, the sequence code and the task assignment code;
and the learning effect scheduling model constructing submodule is used for constructing a learning effect scheduling model according to the learning operator and the scheduling model.
The embodiment of the invention also provides a scheduling system based on learning-forgetting effect, and the learning-forgetting effect scheduling model building module comprises:
the forgetting operator obtaining sub-module is used for obtaining a forgetting operator according to the learning forgetting effect, the sequence codes and the task assignment codes;
and the learning forgetting effect scheduling model constructing submodule is used for constructing a learning forgetting effect scheduling model according to the forgetting operator and the scheduling model.
The embodiment of the invention also provides a scheduling system based on the learning-forgetting effect, and the scheduling information acquisition module comprises:
the learning effect value acquisition submodule is used for acquiring a learning effect task period, a learning effect personnel cost and a learning effect personnel working time balance value according to the learning effect scheduling model;
and the learning forgetting effect value acquisition submodule is used for acquiring a learning forgetting effect task construction period, the learning forgetting effect personnel cost and the learning forgetting effect personnel working time balance value according to the learning forgetting effect scheduling model.
The embodiment of the invention also provides a scheduling system based on learning-forgetting effect, and the learning effect value acquisition submodule comprises:
the learning effect skill value acquisition unit is used for acquiring a learning effect skill value according to the learning effect scheduling model, the personnel initial skill value and the learning effect formula;
the learning effect task construction period obtaining unit is used for obtaining a learning effect task construction period according to the learning effect skill value and the task construction period;
the learning effect personnel cost obtaining unit is used for obtaining the learning effect personnel cost according to the learning effect skill value and the personnel cost;
and the learning effect worker working time equilibrium value acquisition unit is used for acquiring a learning effect worker working time equilibrium value according to the learning effect skill value and the worker skill use time.
The embodiment of the invention also provides a scheduling system based on learning-forgetting effect, wherein the learning forgetting effect value acquisition submodule comprises:
the learning forgetting effect skill value acquisition unit is used for acquiring a learning forgetting effect skill value according to the learning effect scheduling model, the personnel initial skill value and the learning forgetting effect formula;
the learning forgetting effect task construction period obtaining unit is used for obtaining a learning forgetting effect task construction period according to the learning forgetting effect skill value and the task construction period;
the learning forgetting effect personnel cost obtaining unit is used for obtaining the learning forgetting effect personnel cost according to the learning forgetting effect skill value and the personnel cost;
and acquiring the working time balance value of the learning forgetting effect worker according to the learning forgetting effect skill value and the worker skill use time.
According to the scheduling system based on the learning-forgetting effect, when the learning efficiency and the learning-forgetting efficiency of developers are comprehensively considered, the cost and the progress of a project are in a moderate state, the cost and progress optimization result is more accurate, the scheduling corresponding to the cost and the progress is more scientific, and the requirements of actual projects are better met.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus embodiment, since it is substantially similar to the method embodiment, it is relatively simple to describe, and reference may be made to some descriptions of the method embodiment for relevant points. Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The above description is only for the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present invention are included in the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. A scheduling method based on learning-forgetting effect is characterized by comprising the following steps:
constructing a scheduling model according to the NSGA-II algorithm, tasks and personnel information;
constructing a learning effect scheduling model according to the scheduling model and the learning effect;
constructing a learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect;
and acquiring scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model.
2. The method of claim 1, wherein constructing a scheduling model based on NSGA-II algorithms, tasks and personnel information comprises:
a double-layer coding algorithm is adopted, the first layer of codes are sequential codes, the second layer of codes are task assignment codes, and a scheduling model is constructed;
the task comprises a task construction period;
the personnel information includes: personnel cost, initial skill value of personnel, and personnel skill use time.
3. The method of claim 2, wherein constructing a learning effect scheduling model based on the scheduling model and a learning effect comprises:
acquiring a learning operator according to the learning effect, the sequence code and the task assignment code;
constructing a learning effect scheduling model according to the learning operator and the scheduling model;
the method for constructing the learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect comprises the following steps:
acquiring a forgetting operator according to the learning forgetting effect, the sequence codes and the task assignment codes;
and constructing a learning forgetting effect scheduling model according to the forgetting operator and the scheduling model.
4. The method according to claim 1, wherein the obtaining scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model comprises:
acquiring a learning effect task construction period, learning effect personnel cost and a learning effect personnel working time balance value according to the learning effect scheduling model;
and acquiring a learning forgetting effect task construction period, learning forgetting effect personnel cost and a learning forgetting effect personnel working time balance value according to the learning forgetting effect scheduling model.
5. The method of claim 4, wherein obtaining learning effect task duration, learning effect personnel cost, and learning effect personnel working time balance values according to the learning effect scheduling model comprises:
acquiring a learning effect skill value according to the learning effect scheduling model, the personnel initial skill value and the learning effect formula;
acquiring a learning effect task construction period according to the learning effect skill value and the task construction period;
acquiring the cost of the learning effect personnel according to the learning effect skill value and the personnel cost;
and acquiring a working time balance value of the learning effect personnel according to the learning effect skill value and the personnel skill using time.
6. The method according to claim 4, wherein the obtaining of the learning forgetting effect task duration, the learning forgetting effect person cost, and the learning forgetting effect person working time balance value according to the learning forgetting effect scheduling model comprises:
acquiring learning forgetting effect skill values according to the learning effect scheduling model, the personnel initial skill values and the learning forgetting effect formula;
acquiring a learning forgetting effect task construction period according to the learning forgetting effect skill value and the task construction period;
acquiring the cost of the learning forgetting effect personnel according to the learning forgetting effect skill value and the personnel cost;
and acquiring a work time balance value of the learning forgetting effect personnel according to the learning forgetting effect skill value and the personnel skill use time.
7. A dispatch system based on the learning-forgetting effect, comprising:
the scheduling model building module is used for building a scheduling model according to the NSGA-II algorithm, tasks and personnel information;
the learning effect scheduling model building module is used for building a learning effect scheduling model according to the scheduling model and the learning effect;
the learning forgetting effect scheduling model building module is used for building a learning forgetting effect scheduling model according to the scheduling model and the learning forgetting effect;
and the scheduling information acquisition module is used for acquiring scheduling information according to the learning effect scheduling model and the learning forgetting effect scheduling model.
8. The system of claim 7, wherein the scheduling model building module comprises:
the double-layer coding module is used for adopting a double-layer coding algorithm, wherein the first layer of coding is sequential coding, and the second layer of coding is task assignment coding, so that a scheduling model is constructed;
the task comprises a task construction period;
the personnel information includes: personnel cost, initial skill value of personnel, and personnel skill use time.
9. The system of claim 8, wherein the learning effect scheduling model building module comprises:
the learning operator obtaining sub-module is used for obtaining a learning operator according to the learning effect, the sequence code and the task assignment code;
the learning effect scheduling model constructing submodule is used for constructing a learning effect scheduling model according to the learning operator and the scheduling model;
the learning forgetting effect scheduling model building module comprises:
the forgetting operator obtaining sub-module is used for obtaining a forgetting operator according to the learning forgetting effect, the sequence codes and the task assignment codes;
and the learning forgetting effect scheduling model constructing submodule is used for constructing a learning forgetting effect scheduling model according to the forgetting operator and the scheduling model.
10. The system of claim 7, wherein the scheduling information obtaining module comprises:
the learning effect value acquisition submodule is used for acquiring a learning effect task period, a learning effect personnel cost and a learning effect personnel working time balance value according to the learning effect scheduling model;
and the learning forgetting effect value acquisition submodule is used for acquiring a learning forgetting effect task construction period, the learning forgetting effect personnel cost and the learning forgetting effect personnel working time balance value according to the learning forgetting effect scheduling model.
CN202010375639.3A 2020-05-07 2020-05-07 Scheduling method and system based on learning-forgetting effect Active CN111553610B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010375639.3A CN111553610B (en) 2020-05-07 2020-05-07 Scheduling method and system based on learning-forgetting effect

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010375639.3A CN111553610B (en) 2020-05-07 2020-05-07 Scheduling method and system based on learning-forgetting effect

Publications (2)

Publication Number Publication Date
CN111553610A true CN111553610A (en) 2020-08-18
CN111553610B CN111553610B (en) 2023-04-07

Family

ID=72001479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010375639.3A Active CN111553610B (en) 2020-05-07 2020-05-07 Scheduling method and system based on learning-forgetting effect

Country Status (1)

Country Link
CN (1) CN111553610B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015991A (en) * 2020-08-31 2020-12-01 上海松鼠课堂人工智能科技有限公司 Student learning reminding method
CN113219918A (en) * 2021-04-21 2021-08-06 电子科技大学 Mixed flow assembly workshop sequencing method based on material alignment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106447121A (en) * 2016-10-12 2017-02-22 上海节点供应链管理有限公司 Intelligent optimization scheduling method based on city delivery
US20190205939A1 (en) * 2017-12-31 2019-07-04 OneMarket Network LLC Using Machine Learned Visitor Intent Propensity to Greet and Guide a Visitor at a Physical Venue
CN111047272A (en) * 2019-11-07 2020-04-21 苏宁云计算有限公司 Project scheduling method and device for multi-language collaborative development

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106447121A (en) * 2016-10-12 2017-02-22 上海节点供应链管理有限公司 Intelligent optimization scheduling method based on city delivery
US20190205939A1 (en) * 2017-12-31 2019-07-04 OneMarket Network LLC Using Machine Learned Visitor Intent Propensity to Greet and Guide a Visitor at a Physical Venue
CN111047272A (en) * 2019-11-07 2020-04-21 苏宁云计算有限公司 Project scheduling method and device for multi-language collaborative development

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
郑继光: "软件项目多技能员工调度优化研究", 《中国优秀博硕士学位论文全文数据库 信息科技辑》 *
陈蓉: "新产品研发项目组合中多技能员工调度优化研究", 《中国优秀博硕士学位论文全文数据库 经济与管理科学辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015991A (en) * 2020-08-31 2020-12-01 上海松鼠课堂人工智能科技有限公司 Student learning reminding method
CN113219918A (en) * 2021-04-21 2021-08-06 电子科技大学 Mixed flow assembly workshop sequencing method based on material alignment
CN113219918B (en) * 2021-04-21 2022-07-29 电子科技大学 Mixed flow assembly workshop sequencing method based on material alignment

Also Published As

Publication number Publication date
CN111553610B (en) 2023-04-07

Similar Documents

Publication Publication Date Title
CN111047272B (en) Project scheduling method and device for multi-language collaborative development
Chen et al. A competence-time-quality scheduling model of multi-skilled staff for IT project portfolio
Shen et al. Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems
CN115600774B (en) Multi-target production scheduling optimization method for assembly type building component production line
CN113139710B (en) Multi-resource parallel task advanced plan scheduling method based on genetic algorithm
CN111553610B (en) Scheduling method and system based on learning-forgetting effect
CN111680452A (en) Power grid engineering accurate investment decision simulation method based on full-factor data mining
Li et al. Robust optimization for integrated construction scheduling and multiscale resource allocation
Xilin et al. Resource allocation optimization of equipment development task based on MOPSO algorithm
CN112465451B (en) Optimization method for project parallel and multi-resource supporting scheme
CN112148446A (en) Evolutionary strategy algorithm for multi-skill resource limited project scheduling
CN115271130B (en) Dynamic scheduling method and system for maintenance order of ship main power equipment
Čorić et al. Complexity comparison of integer programming and genetic algorithms for resource constrained scheduling problems
CN116957219A (en) Cement production line construction operation scheduling method based on genetic algorithm
Hosny et al. A mutation-based genetic algorithm for room and proctor assignment in examination scheduling
Alzara et al. Building a genetic algorithm-based and BIM-based 5D time and cost optimization model
CN114066312A (en) Production scheduling method, system, equipment and storage medium based on discrete manufacturing
Zhao et al. Selective maintenance modeling for a multi-state system considering human reliability
CN114154847A (en) Method and device for determining engineering construction scheme, client and storage medium
Raja et al. Non-identical parallel-machine scheduling using genetic algorithm and fuzzy logic approach
CN107563555A (en) Dynamic multi-objective Scheduling method based on Q study memetic algorithms
CN110689320A (en) Large-scale multi-target project scheduling method based on co-evolution algorithm
Ge et al. Capability-based project scheduling with genetic algorithms
Linard et al. Optimising workforce structure the system dynamics of employment planning
CN116401037B (en) Genetic algorithm-based multi-task scheduling method and system

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