专利汇可以提供基于Q学习memetic算法的动态多目标软件项目调度方法专利检索,专利查询,专利分析的服务。并且本 发明 提供的基于Q学习memetic 算法 的动态多目标 软件 项目调度方法,包括如下步骤:(1)读取输入信息;定义优化目标,设定约束条件;(2)初始化算法的参数;Q学习中的智能体 感知 项目环境中的初始状态;确定静态多目标memetic算法中的全局和局部搜索策略;(3)在项目初始时,产生初始调度方案,并产生一回报值;(4)在项目实施过程中,采用重调度方式;智能体感知项目环境的当前状态,依据回报值更新状态-动作对表中的Q值,基于选择机制确定动态memetic算法中的全局和局部搜索策略;基于动态memetic算法在新环境中产生新的调度方案,并产生一回报值。本发明能够学习项目环境的特征,快速高效地实现软件项目中的动态调度任务。,下面是基于Q学习memetic算法的动态多目标软件项目调度方法专利的具体信息内容。
1.一种基于Q学习memetic算法的动态多目标软件项目调度方法,其特征在于,包括以下步骤:
步骤(1)、读取项目初始时的输入信息,所述输入信息包括项目中各项任务的属性信息和软件工程师的属性信息;定义优化目标,设定约束条件:软件工程师的属性信息包括每位软件工程师的学习能力、学习动机、所掌握的技能、对从事各项技能的期望程度、能够在所述项目中投入的允许工作量、正常月薪、加班月薪;项目中各项任务的属性信息包括每项任务的工作量、技能要求、任务优先级图;优化目标包括项目工期、项目成本、抗风险能力、稳定性和开发人员的满意度;约束条件包括任务技能约束和软件工程师不能超负荷工作的约束;
步骤(2)、初始化Q学习算法的参数:
将状态-动作对表中的所有Q值初始化为0;将项目初始时刻视为初始调度点t0;智能体感知项目环境的初始状态S(t0);随机选择一个动作A(t0);设置l=0,l为调度次数的计数器;
步骤(3)、主动调度:
在项目初始时刻t0,采用基于静态多目标memetic算法的主动调度方式生成一个预测方案;依据A(t0),确定静态多目标memetic算法的全局搜索和局部搜索算子;根据项目初始时刻任务和软件工程师的属性信息,基于静态多目标memetic算法,同时优化项目的以下目标:项目工期、项目成本、抗风险能力、以及开发人员的满意度,预先产生一组在多个目标间进行折中的Pareto非支配解,供项目管理者进行参考,并从中挑选出一个符合项目管理者偏好的解作为初始调度方案;计算求得的Pareto非支配解集的超体积指标HV值,HV值度量目标空间中受Pareto非支配解集支配部分的体积,并将HV值作为动作A(t0)的回报值r(t0);
步骤(4)、重调度:
如果一个紧急动态事件发生,则令l=l+1,记重调度点时刻为tl,执行以下步骤:
(4.1)、感知状态:
智能体感知项目环境的当前状态S(tl);
(4.2)、更新Q值:
依据下式更新状态-动作对表中的值Q(S(tl-1),A(tl-1)):
其中,NA为候选动作的个数;α是学习速率;γ是折现率,它表示将来回报对当前状态的影响,0≤α≤1,0≤γ≤1;
(4.3)、选择动作:
依据动作选择机制为当前状态S(tl)选择一个动作A(tl);
(4.4)、执行动作:
依据动作A(tl),确定动态多目标memetic算法的全局搜索算子和局部搜索算子;依据任务的当前属性信息和软件工程师的当前属性信息,基于动态多目标memetic算法,产生一组在项目的工期、成本、抗风险能力、稳定性及开发人员的满意度之间折中的新的Pareto非支配解,并由项目管理者从中挑选出一个符合项目管理者偏好的解作为新的调度方案;计算求得的Pareto非支配解集的超体积指标HV值,并将该HV值作为动作A(tl)的回报值r(tl);
步骤(5)、终止准则判断:
如果整个项目没有完成,则在当前项目中执行新生成的调度方案,并转至步骤(4);否则,结束整个流程。
2.根据权利要求1所述的基于Q学习memetic算法的动态多目标软件项目调度方法,其特征在于,步骤(1)中所述项目工期定义为下式(1)所示:
其中, 和 分别表示在调度时刻tl、l=0,1,2,…的调度方案中,任务Tj的开
始时间和完成时间;T_ava_set(tl)表示tl时刻所有能够进行调度的任务的集合;I表示初始景象,它将对不确定属性的估计值作为该属性的值计算项目工期;
步骤(1)所述的项目成本定义为下式(2)、(3)所示:
其中,t'表示项目处于开发阶段的某一个月,t'>tl; 表示在t'期间付给软件工
程师ei的薪酬;T_active_set(t')表示在t'期间正在进行开发的任务集合;xij(tl)表示在调度时刻tl、l=0,1,2,…的调度方案中,软件工程师ei在任务Tj中投入的工作量占全日制工作量的百分比; 表示ei能够对整个项目投入的允许工作量占全日制工作量的百分比, 表示ei能够加班工作; 和 分别表示ei的正常和加班月薪;e_ava_
set(tl)表示在tl时刻所有参与该项目的软件工程师的集合;
步骤(1)所述的抗风险能力定义为下式(4)所示:
抗风险能力采用基于景象的方法定义,将一个调度方案在不确定属性的多种采样值{θq|q=1,2,…,N}下进行仿真,以比较项目成本或工期的实际值与预估值之间的差值;其中,θq是不确定属性的第q个采样值,N是样本个数;durationq和costq分别是采样值θq下相应的项目工期和成本目标值;λ为权系数;
步骤(1)所述的稳定性在调度时刻tl、l=1,2,…时刻如下式(5)所示的定义:
其中,T_ava_set(tl-1)表示在tl-1、l=1,2,…时刻所有能够进行调度的任务集合;e_ava_set(tl-1)表示在tl-1时刻所有参与该项目的软件工程师的集合;xij(tl-1)表示在tl-1时刻的调度方案中,软件工程师ei在任务Tj中投入的工作量占全日制工作量的百分比;式(5)只针对在tl和tl-1时刻均需调度的任务进行计算,权值ωij设置如下式(6)所示:
如果在tl-1时刻的方案中,软件工程师ei未被分配到任务Tj中,而在tl时刻的新方案中,安排软件工程师ei去做Tj,则施加一个惩罚因子ωij=2;如果在tl-1时刻的方案中,软件工程师ei被分配到任务Tj中,但在tl时刻的新方案中,未安排软件工程师ei参加Tj,则施加一个惩罚因子ωij=1.5;如果在tl-1时刻的方案、在tl时刻的新方案中都安排软件工程师ei参加Tj,但工作量的投入不同,则施加一个惩罚因子ωij=1;
步骤(1)所述的开发人员的满意度定义为如下式(7)所示:
式(7)用于评价每个员工对所分配的任务和工作量的平均不期望程度;f5(tl)的值越小,员工对所生成的调度方案的满意度越高;其中, 衡量软件工程师ei对第k个技能的期望程度,reqj是任务Tj要求的技能集合,skilli是软件工程师ei掌握的技能集合,|reqj∩skilli|和|e_ava_set(tl)|分别是集合reqj∩skilli和e_ava_set(tl)中元素的个数;
步骤(1)所述的任务技能约束指参与一项任务的所有软件工程师必须具备该任务要求的所有技能,即如下式(8)所示
步骤(1)所述的软件工程师不能超负荷工作的约束指在任一时期t'≥tl,一个软件工程师为正在进行开发的任务同时投入的工作量之和 不超过他对整个项目投入的允许
工作量 即如下所示,
且
3.根据权利要求1所述的基于Q学习memetic算法的动态多目标软件项目调度方法,其特征在于,步骤(2)和步骤(4.1)中项目环境的状态S包括2个方面:
1)工作量比率fa1(tl):
工作量比率fa1(tl)定义为:tl时刻所有能够进行调度的任务的剩余工作量之和与从t0到tl这段时间内出现在项目中的所有任务的工作量总和的比率,如下式(9)所示:
其中,NI表示在项目初始时刻t0的任务数目;Nnew(tl)表示在(t0,tl]时间段内进入项目的新任务数目; 是完成整个任务Tj所需的估计工作量; 是在
tl时刻能够进行调度的任务Tj′的估计剩余工作量;
2)熟练度比率fa2(tl):
熟练度比率fa2(tl)定义为:tl时刻所有正在参与本项目的软件工程师在所有能够调度的任务上的熟练度之和与所有软件工程师在tl时刻能够进行调度的任务上的最高可能熟练度之和的比率,如下式(10)所示:
其中,M是所有参与本项目的软件工程师的数目, 是软件工程师ei在tl时刻对
任务Tj的熟练度, 其中,常数C=100, 是一个分值,
它衡量ei在tl时刻对技能k∈reqj∩skilli的掌握程度;
熟练度比率fa2(tl)的取值受tl时刻所有正在参与本项目的软件工程师的数目,以及他们各自对任务的熟练度影响;
共区分9种不同的状态:S1:0≤fa1(tl)≤0.4,0≤fa2(tl)≤0.6;S2:0≤fa1(tl)≤0.4,
0.6
4.根据权利要求1所述的基于Q学习memetic算法的动态多目标软件项目调度方法,其特征在于,步骤(2)和步骤(4.3)中的动作A定义如下:
为多目标memetic算法确定一种特定的全局搜索算子和一种特定的局部搜索算子,称为一个动作A;采用两种全局搜索算子:1)基于遗传算法GA的全局搜索算子;2)基于相角调制差分进化算法AMDE的全局搜索算子;为了与基于GA的全局搜索算子配合使用,采用两种局部搜索算子 和 为了与基于AMDE的全局搜索算子配合使用,采用两种局部搜索算子 和 将上述全局搜索算子和局部搜索算子组合,一共得到4种动作:A1:
A2: A3: A4:
在 中,对GA中每个个体对应的工作量分配矩阵X(tl)中的每个元素,从集合
中均匀随机挑选一个不同于该元素的值,以概率Pm替换该元素,取
Pm=1/(|T_ava_set(tl)|·|e_ava_set(tl)|),其中,|T_ava_set(tl)|和|e_ava_set(tl)|分别是集合T_ava_set(tl)和e_ava_set(tl)中元素的个数; 交换X(tl)中随机选取的两行或两列;在 和 中,分别以Pm'=1/4的概率,将多项式变异和均匀变异作用于AMDE中每个个体的每一元素上。
5.根据权利要求1所述的基于Q学习memetic算法的动态多目标软件项目调度方法,其特征在于,步骤(4.3)中的动作选择机制的实施方法如下:
(a)、由状态-动作对表中的Q值确定在状态S(tl)下,每个候选动作Ai、i=1,2,…,NA的选择概率P(S(tl),Ai)如下式(11)所示:
(b)、计算出每个候选动作Ai、i=1,2,…,NA的累积概率 如下式(12)所示:
(c)、在[0,1]区间内产生一个均匀分布的伪随机数r;
(d)、若 则选择动作A1作为状态S(tl)下的动作A(tl);否则,选择动作Ak,使得:
成立,将Ak作为当前状态S(tl)下的动作A(tl)。
6.根据权利要求1所述的基于Q学习memetic算法的动态多目标软件项目调度方法,其特征在于,步骤(4.4)中的在重调度点tl、l=1,2,…时刻,基于动态多目标memetic算法的反应式重调度方式的具体步骤如下:
a)群体初始化:根据tl、l=1,2,…时刻项目的当前状态,采用启发式策略构造初始群体P(tl);针对不确定属性,随机采样一组值δq,q=1,2,…,N;计算初始群体中每个个体的多目标值,即目标f1(tl)、f2(tl)、f3(tl)、f4(tl)、f5(tl),并进行约束处理;从初始群体中确定出所有的Pareto非支配解构成多样性外部存储器群体DA(tl);设置收敛性外部存储器CA(tl)为空集,目标评价次数计数器ct=|P(tl)|,|P(tl)|为初始群体P(tl)的规模;
b)个体繁殖:针对不确定属性,随机采样一组值φq,q=1,2,…,N;
b.1)全局搜索:将由动作A(tl)指定的全局搜索方法作用于CA(tl)和DA(tl),生成一个子代群体NPOP1(tl);计算NPOP1(tl)中每个个体的多目标值,令ct=ct+|NPOP1(tl)|,|NPOP1(tl)|为NPOP1(tl)的规模;
b.2)局部搜索:将由动作A(tl)指定的局部搜索方法作用于NPOP1(tl)中每个个体的邻域,搜索Lmax次,Lmax是局部搜索的最大迭代次数,得到一个新的子代群体NPOP(tl);令ct=ct+Lmax·|NPOP1(tl)| (13);
c)更新CA(tl):求出CA(tl)∪NPOP(tl)中具有不重复目标向量的个体,将它们设为CA(tl);如果|CA(tl)|>nCA,|CA(tl)|是CA(tl)的当前规模,nCA是预先设定的CA(tl)的最大规模,则依据基于Iε+指标的适应度值将多余的解从CA(tl)中依次移除;
Iε+指标描述在目标空间中,一个个体x1为了支配另外一个解x2所需的最短距离,如下式(14)所示:
Iε+(x1,x2)=minε(norm_fi(x1)-ε≤norm_fi(x2),1≤i≤m) (14)
其中,m是目标的个数,为了将各个目标上的度量单位统一,分别取目标值fi(x1)、fi(x2)经归一化后的值norm_fi(x1)、norm_fi(x2),即如下式(15)、(16)所示:
求取每个个体x1∈CA(tl)的适应度F(x1)如下式(17)所示:
个体x1的适应度F(x1)越大,说明该个体越优;
如果|CA(tl)|>nCA,则依据基于Iε+指标的适应度值将多余的解从CA(tl)中移除,具体步骤如下:
ⅰ)求出CA(tl)中具有最小适应度F(x*)的个体x*;
ⅱ)将x*从CA(tl)中移除;
ⅲ)更新CA(tl)中剩余个体的适应度:
ⅳ)如果|CA(tl)|>nCA,转至步骤ⅰ);否则,结束,输出更新后的规模为nCA的收敛性外部存储器CA(tl);
d)更新DA(tl):求出NPOP(tl)∪DA(tl)中所有的Pareto非支配解,将它们设置为DA(tl);
如果|DA(tl)|>nDA,|DA(tl)|是DA(tl)的当前规模,nDA是预先设定的DA(tl)的最大规模,则设置AD(tl)为空集合,依据Lp范数距离迭代地从DA(tl)中选择nDA个合适的解,并将它们依次加入集合AD(tl)中;设置DA(tl)=AD(tl);两个个体x3和x4在目标空间上的Lp范数距离按下式求取如下式(18)所示:
其中,norm_fi(x3)和norm_fi(x4)分别是fi(x3)、fi(x4)的归一化值,p取 如果|DA(tl)|>nDA,则依据Lp范数距离迭代地从DA(tl)中选择nDA个合适的解的具体步骤如下:
Ⅰ)设置AD(tl)为空集合;
Ⅱ)从DA(tl)中确定出所有在各个目标上,具有最大或最小目标值的不重复个体,把它们从DA(tl)移出,加入AD(tl);
Ⅲ)对DA(tl)中的每个个体,求它到AD(tl)中所有个体的最短Lp范数距离;确定出DA(tl)中最短Lp范数距离最大的个体,并将该个体从DA(tl)移出,加入AD(tl);
Ⅳ)如果|AD(tl)|
7.根据权利要求6所述的基于Q学习memetic算法的动态多目标软件项目调度方法,其特征在于,步骤(3)中的在项目初始时刻t0,基于静态多目标memetic算法的主动调度方式的具体步骤,与基于动态多目标memetic算法的反应式重调度方式的步骤相同,不同点在于:在基于静态多目标memetic算法的主动调度方式的步骤a)中,初始群体随机产生,而不是由启发式策略产生;基于静态多目标memetic算法的主动调度方式在计算每个个体的目标值时,只需计算四个目标值f1(tl)、f2(tl)、f3(tl)、f5(tl),即在项目初始时刻t0不需计算稳定性目标f4(tl)。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
测量血氧饱和度的方法及装置 | 2020-05-13 | 360 |
高精度单电机传动激光雷达三维扫描仪 | 2020-05-15 | 829 |
用于测量血压变异性的无创系统和方法 | 2020-05-13 | 202 |
医学图像处理设备和方法 | 2020-05-13 | 547 |
用手持图像设备对组织进行全面检查的方法、装置和系统 | 2020-05-13 | 864 |
心率测量 | 2020-05-12 | 377 |
用于呼吸体积描记器的电感器 | 2020-05-11 | 414 |
一种小鼠咳嗽记录装置 | 2020-05-12 | 250 |
电子学习系统 | 2020-05-14 | 47 |
一种动物头外露式单室体积描记器 | 2020-05-12 | 787 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。