(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111453983.0
(22)申请日 2021.12.01
(71)申请人 南京信息 工程大学
地址 224002 江苏省盐城市 盐南高新区新
河街道文港南路10 5号
(72)发明人 申晓宁 姚铖滨 徐继勇 葛忠佩
许笛
(74)专利代理 机构 北京众合诚成知识产权代理
有限公司 1 1246
代理人 刘珊珊
(51)Int.Cl.
G06Q 10/04(2012.01)
G06Q 10/06(2012.01)
G06N 3/00(2006.01)
G06N 3/12(2006.01)
(54)发明名称
一种基于启发式离散人工蜂群算法的软件
项目调度方法
(57)摘要
本发明公开了一种基于启发式离散人工蜂
群算法的软件项目调度方法, 包括以下步骤(1)
项目信息读取, 包括任务和员工的属性; (2)设计
新技能学习机制; (3)初始化算法参数; (4)生成
初始蜜源种群, 并计算目标值; (5)引领蜂通过多
元学习策略对蜜源进行全局搜索; (6)跟随蜂通
过基于启发信息的变异机制对蜜源进行局部搜
索; (7)侦查蜂抛弃无用的蜜源, 并重新随机生成
新的蜜源替代旧蜜源; (8)判断迭代次数是否达
到最大值, 若达到, 则终止迭代, 输出目标值最优
的个体, 该个体 即为项目中每位员工在每项任务
中投入度的调度结果。 本发明具有搜索能力强,
生成的调度方案效率高的优点。
权利要求书6页 说明书17页 附图4页
CN 114298376 A
2022.04.08
CN 114298376 A
1.一种基于启发式离散人工蜂群算法的软件项目调度方法, 其特征在于, 包括以下步
骤:
步骤S1, 读取项目的输入信息, 定义优化目标, 设定约束条件:
项目的输入信 息包括每个任务的工作量、 技能要求、 技能难度和任务优先级图, 每位员
工的已有技能、 已有技能熟练度、 学习能力、 可投入的最大工作量、 正常月薪和加班月薪; 优
化目标为最佳员工 ‑任务调度方案中, 项目工期和项目成本加权求和值最小; 约束 条件包括
任务技能约束和员工不允许超负荷工作;
步骤S2, 针对项目新技能需求, 设计新技能学习机制, 新技能学习机制包括员工选择学
习新技能、 新技能熟练度的增长曲线函数及其投入度的自适应 变化;
步骤S3, 初始化启发式离 散人工蜂群算法参数;
步骤S4, 生成初始蜜源种群, 并计算每 个蜜源的目标值:
采用整数编码, 随机生成SN个蜜源个 体, 每个个体的编码均为M ×N的矩阵:
Y=(yij)M×N, i=1,2,...,M, j=1,2,. ..,N;
其中, Y表示个体编码矩阵, yij∈{0,1,2,...,h}, h表示解的粒度, 即将员工Ei的最大投
入度
平均分为h份;
为第i个员工Ei能够对本项目投入的最 大工作量占全日制
工作量的百分比, yij表示, 元素yij的含义是员工Ei将自己最大投入度
的yij/h奉献给
任务Tj; 通过每个任务Tj占据每个员工Ei最大贡献度
的比例yij/h, 将个体矩阵转化
为员工‑任务的分配矩阵X=(xij)M×N, 转化公式如下:
其中,
计算初始种群中每 个个体的目标值:
f(X)=ωt·tdur+ωc·cost
其中, f(X)表示个体的目标值, tdur为项目工期, cost表示项目成本, ωt、 ωc表示预定义
的参数, 用于调整 项目总工期tdur和项目成本 cost的相对重要性;
步骤S5, 引领蜂采用多元学习方法对所有蜜源个体进行开采: 多元学习方法方法包括
随机学习、 精英学习和优值学习3种学习方法, 为3种学习方法分别赋予选择概率, 然后每一
只引领蜂基于轮盘赌方法选择一种学习方式对相应蜜源进 行开采; 计算开采后的蜜源个体
目标值, 对开采前后的蜜源个体进行贪婪选择, 留下目标值好的个体, 并更新所有蜜源的未
更新次数;
步骤S6, 跟随蜂采用基于启发信息的变异机制对蜜源进行开采: 每一只跟随蜂通过排
序选择方法选择一个蜜源进行开采, 并利用问题启发信息保留最优个体中契合度高的员工
信息, 同时根据当前蜜源个体的目标值优劣, 选择不同的变异方式; 对变异前后的蜜源进 行
贪婪选择, 留下目标值 好的个体, 并更新 开采后蜜源的未 更新次数;
步骤S7, 侦查蜂抛 弃无用蜜源, 随机产生 新的蜜源替代旧蜜源:
判断是否存在未更新次数超出最大未更新次数limit的蜜源; 如果有多个, 则选择未更
新次数最大的蜜源, 如果仍有多个选择, 则随机选择其中一个蜜源, 将该蜜源对应的引领蜂权 利 要 求 书 1/6 页
2
CN 114298376 A
2转变为侦查蜂, 重新随机生成新的蜜源替代旧蜜源;
步骤S8, 终止准则判断:
若达到最大迭代次数, 则终止迭代, 输出目标值最优的个体, 该个体即为项目中每位员
工在每项任务中投入的工作量分配结果, 否则, 转至步骤S5 。
2.根据权利要求1所述基于启发式离散人工蜂群算法的软件项目调度方法, 其特征在
于: 步骤S1中所述项目工期表示完成项目所有任务所花费的时间开销, 它定义 为:
其中, tdur表示项目工期,
表示任务Tj的开始时间,
表示任务Tj的完成时间, 且
N表示任务个数;
步骤S1中所述项目成本表示完成项目所有任务所花费的财力, 它定义 为:
条件1:
条件2:
其中, cost表示项目成本, t ′表示项目处于开发阶段的某一个月, M表示员工个数,
表示在t′期间付给员工Ei的薪酬,
表示Ei的正常月薪,
表示Ei的加班月薪, T_active_set(t ′)表示在t ′期间正在进行开发的任务集合; xij表示员
工Ei在任务Tj中投入的工作量占全日制工作量的百分比;
表示员工Ei能够对整个项
目投入的最大工作量占全日制工作量的百分比, 当
时, 表示能够加班;
步骤S1所述员工已有技能熟练度定义如下:
员工Ei的技能熟练度集 合:
其中,
表示员工Ei的技能熟练度集合,
表示在tl时刻Ei对第k
个技能的熟练度, k=1,2,.....,S, S为项目需要的技能总数;
表示Ei没有第
k个技能,
表示Ei完全掌握第k个技能, C表示技能熟练度的最大值; tl为任务
优先级图中各个紧前任务的完成时刻, l=0,1,2,...; 将tl时刻所有可操作的任务构成当权 利 要 求 书 2/6 页
3
CN 114298376 A
3
专利 一种基于启发式离散人工蜂群算法的软件项目调度方法
文档预览
中文文档
28 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共28页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 21:03:50上传分享