基于非支配排序和猫头鹰搜索的多工作流调度方法

文档序号:26003724发布日期:2021-07-23 21:21阅读:来源:国知局

技术特征:

1.基于非支配排序和猫头鹰搜索的多工作流调度方法,其特征在于,包括以下步骤:

步骤1、获取具有截止期限和预算约束的多个工作流,根据工作流的截止期限为该工作流所属的任务分配子截止期限,按照所述子截止期限将所有任务排序,形成任务调度序列,采用所述任务调度序列初始化种群形成待处理种群;初始化迭代次数;

步骤2、计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度由工作流的总完工时间、执行成本及能耗表示;采用非支配排序遗传nsga-ii算法,计算种群中所有粒子的密度,并根据所述适应度和密度对待处理种群中所有粒子进行非支配排序得到不同的非支配层,其中最高非支配层即为非支配前沿解集;

步骤3、当所述迭代次数为1时,由所述非支配前沿解集内所有满足所述截止期限和预算约束的非支配前沿解构成外部档案集;否则,利用待处理种群的所述非支配前沿解集与外部档案集中的所有粒子进行比较,更新外部档案集;当所述外部档案集不为空时,选择所述外部档案集中密度最高的解作为全局最优引导解;当所述外部档案集为空时,则选择所述非支配前沿解集中密度最高的解作为全局最优引导解;

步骤4、当所述迭代次数达到设定阈值时,输出所述外部档案集中所有粒子对应的调度方案;否则,采用nsga-ii算法的精英解保留策略,遍历所述非支配层,形成大小相同的较优种群及较差种群,采用nsga-ii算法更新所述较优种群,采用猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群;

步骤5、将所述较优种群与较差种群合并形成整合种群,以所述整合种群更新所述待处理种群;所述迭代次数自加1,执行步骤2。

2.根据权利要求1所述的方法,其特征在于,所述步骤2中根据所述适应度将种群中所有粒子进行非支配排序得到不同的非支配层,所述非支配排序采用粒子间两两比较的方式,比较过程中,如果两个粒子中仅有一个为可行解,则选择为可行解的粒子;如果两个粒子均为可行解或非可行解,则选择非支配粒子;

所述非支配粒子为不被其他粒子支配的粒子,即若粒子xi支配粒子xj则粒子xi为非支配粒子;所述粒子xi支配粒子xj需要至少满足下列情况之一:

粒子xi的总完工时间、执行成本和能耗均分别优于粒子xj的总完工时间、执行成本和能耗;粒子xi的总完工时间、执行成本和能耗三个指标中存在一个指标与粒子xj的相应指标的取值相同,另外两个指标则分别优于粒子xj的相应指标;粒子xi的总完工时间、执行成本和能耗三个指标中存在两个指标均与粒子xj的相应指标的取值相同,另外一个指标则优于粒子xj的相应指标。

3.根据权利要求2所述的方法,其特征在于,所述步骤4中的猫头鹰搜索算法为基于混沌序列的猫头鹰搜索算法,采用所述基于混沌序列的猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群的过程包括以下步骤:

步骤4.1、对较差种群p2中的每个粒子计算与当前全局最优引导解v之间的距离信息同时计算的强度变化量并根据混沌系统的规律对随机参数rat进行更新,即rat+1=μ×rat×(1-rat),其中,rat为第t代的随机参数,且0≤rat≤1;μ为混沌控制参数;

步骤4.2、根据强度变化量,更新较差种群p2中的每个粒子并根据混沌系统的规律采用公式(1)计算新的步长参数值βt+1

其中,βmin和βmax分别表示步长参数β取值的上、下界;

步骤4.3、对更新后的较差种群p2进行非支配排序得到非支配前沿解集,在非支配前沿解集的每个粒子xs附近区域进行局部搜索,寻找更优解,具体步骤如下:

步骤4.3.1、初始化混沌局部搜索循环次数k为1;

步骤4.3.2、初始化混沌局部搜索的维度值d为随机整数,且0≤d<|t|,其中t为前粒子的任务集合;

步骤4.3.3、根据任务td的可用资源数量,采用公式(2)计算当前粒子中任务td所对应的第d维元素xd的新混沌变量值xdnew

其中,|ard|为任务td的可用资源集合ard中总的资源数,将新的混沌变量值xdnew对应的调度方案保存为新粒子cxk;

步骤4.3.4、若循环次数k小于设定的阈值,则k自加1,执行步骤4.3.2;若循环次数k大于或等于设定的阈值,则分别计算所有新粒子的适应度,并求出其中的最优解cx*,选择cx*与原粒子xs中的非支配粒子更新原粒子xs。

4.根据权利要求1所述的方法,其特征在于,所述步骤2中计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度中的总完工时间计算过程包括以下步骤:

步骤2.1、采用公式(3)计算粒子中任务的开始执行时间:

其中,ti为粒子的任务集合t中的第i个任务,tentry为工作流入口子任务;为执行任务ti的资源的可用时间,如果资源未启动,那么为资源的启动时间,否则为资源上当前执行的最后一个任务的完工时间;pred(ti)表示任务ti的父任务集合;ft(tp)为任务ti的父任务tp的完工时间;max{}表示取最大值的操作;

步骤2.2、采用公式(4)计算粒子中任务的完工时间:

ft(ti)=st(ti)+et(ti)+tt(ti)+soft(ti)(4)

其中,et(ti)为任务ti的执行时间,tt(ti)为任务ti的输入文件的读取时间,soft(ti)为任务ti执行所需软件的加载时间;

步骤2.3、粒子的总完工时间makespan的计算公式为:


技术总结
本发明公开了基于非支配排序和猫头鹰搜索的多工作流调度方法,通过同时引入非支配排序遗传算法及猫头鹰搜索算法来计算多工作流调度方案的方法,利用非支配排序遗传算法的多样性生成和保持优点,对种群的50%较优个体进行更新,以保证优良个体的多样性,降低了算法非支配解搜索陷入局部最优的可能性。

技术研发人员:李慧芳;袁艳;王彬阳;王丹敬;王一竹;黄姜杭;柴森春;夏元清
受保护的技术使用者:北京理工大学
技术研发日:2020.05.14
技术公布日:2021.07.23
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1