System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于多种群协同人工蜂群算法的最佳员工任务分配方法组成比例_技高网

一种基于多种群协同人工蜂群算法的最佳员工任务分配方法组成比例

技术编号:40237108 阅读:8 留言:0更新日期:2024-02-02 22:36
本发明专利技术公开了一种基于多种群协同人工蜂群算法的最佳员工任务分配方法,包括如下步骤:读取项目的输入信息,定义优化目标,设定约束条件;针对项目新技能需求,设计新技能学习机制,并调用所发明专利技术的多种群协同人工蜂群算法MCABC求解调度方案;判断是否发生动态事件,若发生;则通过MCABC算法重新确定当前重调度时刻的最优调度方案并执行;判断项目任务是否完成,若未完成则重复判断是否发生动态事件直至项目任务全部完成,调度结束。本发明专利技术设计了一种新技能学习机制,将目标值和相似度双指标均较好的个体划分为潜力子种群,将仅在单一指标上较好或在双指标上均差的个体划分为多元子种群,两类子种群分别完成不同的搜索职能。

【技术实现步骤摘要】

本专利技术涉及项目管理领域,尤其涉及一种应用动态软件项目调度的基于多种群协同人工蜂群算法的最佳员工任务分配方法


技术介绍

1、软件项目调度(spsp)是软件开发的重要环节,直接影响软件企业的经济效益和市场竞争力。spsp是指在给定的项目约束条件下,寻找一种合理的人力资源和任务的分配方式,以最小化项目开发成本和工期。由于软件项目一般具有周期长、复杂度高、专业性强且人力资源灵活多变的特点,如果单纯依靠软件项目管理者手动调度,不仅耗时长,给管理者带来很大的精神压力,而且易造成软件项目完成质量差,成功率低等问题。据standishgroup的一项报告显示,2015年全球50000项软件项目中仅有29%的成功率,而大型软件项目的成功率仅2%,其中一个重要的失败原因是对任务和开发者资源调度的不合理。近年来,基于搜索的软件工程迅速发展,越来越多的国内外学者开始研究将软件项目调度问题建模为基于搜索的优化问题,采用元启发式算法搜索最优分配方案,进而辅助项目管理者做出最终的决策。

2、人工蜂群算法(artificial bee colony,abc)是由土耳其学者karaboga于2005年提出的一种模拟蜜蜂采蜜行为的元启发式算法,该算法具有引领蜂、跟随蜂和侦查蜂三个阶段,它通过引领蜂、跟随蜂和侦查蜂之间的信息交互,实现对蜜源的开采,进而寻找具有最多花蜜的蜜源,与其它群智能算法相比,abc算法控制参数少,对于不同阶段可采用不同的策略,结构灵活,易于改进。然而,abc仍具有以下不足:1)本质上是一种应用于静态问题的优化算法,并不能有效地求解动态问题;2)种群中的蜜源个体分工不明确,搜索缺乏导向性;3)对种群中不同阶段的所有蜜源,均采用同种开采方式,搜索多样性不足,算法易于陷入局部最优,提出一种收敛效率更高且具有较强跳出局部最优能力的动态软件项目调度方法极为必要。


技术实现思路

1、专利技术目的:本专利技术的目的是提供一种应用动态软件项目调度的基于多种群协同人工蜂群算法的最佳员工任务分配方法。

2、技术方案:本专利技术包括如下步骤:

3、(1)读取项目的输入信息,定义优化目标函数,设定约束条件;

4、(2)针对项目新技能需求,设计新技能学习机制,并调用所专利技术的多种群协同人工蜂群算法mcabc求解调度方案;

5、(3)判断是否发生动态事件,若发生,则通过mcabc算法重新确定当前重调度时刻的最优调度方案并执行;

6、(4)判断项目任务是否完成,若未完成则重复步骤(3),直至项目任务全部完成,调度结束。

7、进一步地,所述步骤(1)中输入信息包括项目的状态信息和员工的状态信息,项目的状态信息包括每个任务的工作量、技能要求、技能难度和任务优先级图;员工的状态信息包括员工的已有技能、已有技能熟练度、学习能力、可投入的最大工作量、正常月薪和加班月薪。

8、进一步地,所述步骤(1)中目标函数包括最小化调度点的项目工期、项目成本和项目稳定性:

9、minf(tl)=ωt·duration(tl)+ωc·cost(tl)+ωs·stability(tl)

10、其中,f(tl)为目标函数,duration(tl)表示项目工期,cost(tl)表示项目成本,stability(tl)表示项目稳定性,ωt,ωc和ωs是权重参数,本文取ωt=0.1,ωc=10-5,ωs=0.1,使duration,cost和stability处于同一数量级。

11、进一步地,所述项目工期表示表示为:

12、

13、其中,和分别表示任务tj在调度点tl的开始时间和完成时间,且t_rest(tl)表示在tl可调度的任务集合;

14、所述项目成本表示为:

15、

16、

17、其中,t′表示项目处于开发阶段的某一个月;表示在t′期间付给员工ei的薪酬;t_active_set(t′)表示在t′期间正在进行开发的任务集合;xij(tl)表示ei在tl对任务tj投入的工作量占全日制工作量的百分比;表示ei能够对整个项目投入的最大工作量占全日制工作量的百分比,当时,表示能够加班;和分别表示ei的正常月薪和加班月薪;

18、所述项目稳定性表示为:

19、

20、其中,权重e_in(tl)表示在tl的在职员工集合。

21、进一步地,所述步骤(1)中的约束条件包括:

22、条件1.参与某项任务的所有员工的技能总集合必须满足该任务的所有技能需求,表示为:

23、

24、条件2.每个员工对当前可执行任务集合的总投入度不得超过该员工的最大投入度,表示为:

25、

26、条件3.参与某个任务的员工数不得超过其允许参与的最大人数,表示为:

27、

28、其中,表示在tl参与任务tj的员工数,和分别表示该任务可参与人数的上限值和为了满足该任务技能约束所需的最少在职员工数;

29、条件4.每个新技能需一位在职员工学习,表示为:

30、

31、条件5.任一在职员工同时学习的新技能个数不超过其上限值,表示为:

32、

33、其中,表示ei在每个调度点可同时学习的新技能数量限制。

34、进一步地,所述步骤(2)包括如下步骤:

35、(21)在调度点tl(l=0,1,2,...),每个蜜源都以员工-任务分配矩阵的形式进行编码,其中,表示员工ei在tl时刻对任务tj的投入度,当tl=t0时,通过随机初始化构造p(tl);若tl>t0,则根据tl时的项目状态,利用所专利技术的动态响应机制构造初始蜜源种群p(tl);所述动态响应机制包括方案修补,历史最优信息的复用,随机初始化,对所有未完成任务的投入度在可行域内随机生成;

36、(22)基于个体目标值和相似度,采用网格法将个体目标值和相似度双指标均较好的个体划分至潜力子种群pop1,将仅在单一指标上较好或在双指标上均差的个体划分至多元子种群pop2;

37、(23)为每个蜜源个体生成控制参数mr,在两个子种群中,引领蜂和跟随蜂采用不同的搜索机制对所负责蜜源进行开采;

38、(24)基于贡献度的子种群规模预测策略对两个子种群规模进行更新,通过子种群中个体对目标值的平均改进量及其成功更新率定义子种群在每一进化代的贡献度

39、

40、其中,在第g代,表示个体的目标值改进量,是第i个子种群在第g代的规模,表示子种群的平均目标值改进量;表示中个体的成功更新次数;表示消耗的目标评价次数;表示的成功更新率;

41、(25)进入侦查蜂阶段,判断是否存在未更新次数trial超过最大未更新次数limit的蜜源。如果存在多个,则选择未更新次数最大的蜜源,若仍有多个选择,则随机选择其中一个蜜源,对应的引领蜂转化为侦查蜂并随本文档来自技高网...

【技术保护点】

1.一种基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(1)中输入信息包括项目的状态信息和员工的状态信息,项目的状态信息包括每个任务的工作量、技能要求、技能难度和任务优先级图;员工的状态信息包括员工的已有技能、已有技能熟练度、学习能力、可投入的最大工作量、正常月薪和加班月薪。

3.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(1)中目标函数包括最小化调度点的项目工期、项目成本和项目稳定性:

4.根据权利要求3所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述项目工期表示表示为:

5.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(1)中的约束条件包括:

6.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(2)包括如下步骤:

7.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(2)中新技能学习机制用于员工在已掌握技能无法满足项目需求时学习新技能提高自身熟练度和投入度,包括学习新技能员工的选择、员工新技能熟练度的增长、员工投入度的自适应变化。

8.根据权利要求7所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述学习新技能员工的选择包括在tl时刻,对于新技能Zh(tl)∈z(tl),若则表示在职员工均未具备该新技能,选择合适度最大的在职员工Ei学习新技能Zh(tl),若则选择值排第二的员工学习,以此类推,直至选择到一位在职员工学习此新技能;若选择学习新技能Zh(tl),则令其中,zh(tl)表示在tl时刻新引入的新技能,z(tl)表示在tl时刻需要员工学习的新技能集合,lea_nsi(tl)表示Ei在tl需学习的新技能集合,表示Ei在每个调度点可同时学习的新技能数量限制。

9.根据权利要求7所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述新技能熟练度增长包括两种情形:

10.根据权利要求7所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述员工投入度的自适应变化表示为:

...

【技术特征摘要】

1.一种基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(1)中输入信息包括项目的状态信息和员工的状态信息,项目的状态信息包括每个任务的工作量、技能要求、技能难度和任务优先级图;员工的状态信息包括员工的已有技能、已有技能熟练度、学习能力、可投入的最大工作量、正常月薪和加班月薪。

3.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(1)中目标函数包括最小化调度点的项目工期、项目成本和项目稳定性:

4.根据权利要求3所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述项目工期表示表示为:

5.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(1)中的约束条件包括:

6.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工任务分配方法,其特征在于,所述步骤(2)包括如下步骤:

7.根据权利要求1所述的基于多种群协同人工蜂群算法的最佳员工...

【专利技术属性】
技术研发人员:申晓宁姚铖滨陈文言
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1