[发明专利]一种带结果收集的多趟调度模型的求解方法及系统有效
| 申请号: | 201911100054.4 | 申请日: | 2019-11-12 |
| 公开(公告)号: | CN111124629B | 公开(公告)日: | 2023-05-26 |
| 发明(设计)人: | 朱海;王晓丽;宋嘉明;刘鸿鹄;段婷;徐恒舟;王洪峰;许蒙蒙 | 申请(专利权)人: | 周口师范学院;西安电子科技大学 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06N3/126 |
| 代理公司: | 西安长和专利代理有限公司 61227 | 代理人: | 黄伟洪 |
| 地址: | 466001 河南*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 结果 收集 调度 模型 求解 方法 系统 | ||
1.一种带结果收集的多趟调度模型的求解方法,其特征在于,所述带结果收集的多趟调度模型的求解方法包括以下步骤:
步骤1,给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案;建立带结果收集的多趟可分任务调度模型;
步骤2,求解带结果收集的多趟调度模型,得到最优处理机调度顺序、最优调度趟数和最优任务分配方案,得到任务的最短完成时间;
步骤1中,所述给定处理机调度顺序、调度趟数和处理机数目,构建的任务分配方案:
其中,
p0为主处理机,{p1,p2,…,pn}为从处理机;{l1,l2,…,ln}为p0连接至从处理机{p1,p2,…,pn}的通信链路;Λ=(λ1,λ2,…,λn)为从处理机的调度顺序,其中(λ1,λ2,…,λn)为(1,2,…,n)的排列;m为调度趟数,n为参与调度的从处理机的数目,其中,W为总任务量,V为每一趟的调度任务大小;
αi,βi,γi分别表示从处理机在第一趟调度、内部调度以及最后一趟调度所分配的任务大小;βi是β1的线性函数,μi是该函数的斜率,vi是该函数的截距;αi是α1和β1的线性函数,Δi是α1的系数,Hi是β1的系数,φi是该函数的截距;γi是γ1和β1的线性函数,Γi是γ1的系数,-Ei是β1的系数,ψi是该函数的截距;oi为链路li的通信启动开销;zi为li传输单位任务所花费的时间;si为从处理机pi的计算启动开销;wi为从处理机pi的计算单位任务所花费的时间;θ为总结果收集量与总任务量的比率;
步骤1中,建立的带结果收集的多趟可分任务调度模型:
此模型的约束条件为:
0<αi,βi,γi<V,i=1,2,…,n;
m≥3;
其中,α1、β1、γ1满足任务分配方案公式;
所述步骤2具体步骤包括:
步骤2.1:设种群规模为N,交叉概率为pcross,变异概率为pmut,精英数量为E,最大遗传代数为MaxGen;
步骤2.2:产生从N个1到n的n位随机排列数作为初始种群Pop(0);对于任意的个体Λ∈Pop(0),通过设计一种算法计算出最优趟数m,根据多趟可分任务调度模型公式计算任务的最短完成时间T(m,Λ),将1/T作为个体Λ的适应度值;令代数t=0;
步骤2.3:对父代中的每对个体,依交叉概率进行交叉,交叉算子为:随机选取两个切点X和Y,交换这对父代两个切点之间的顺序值,并为这两个切点之间的顺序值建立映射关系,将所建立的映射化为最简映射,基于这个映射关系将父代中除这两个切点之间的其他顺序值按最简映射关系转换,生成两个子代个体;令交叉生成的所有子代个体为O1(t);
步骤2.4:对O1(t)中的所有个体,依变异概率进行变异,变异算子为:令当前个体被选中的个体Λ={λ1,λ2,…,λn},对生成一个0到1的随机数r,若r≤pmut,则随机交换λi与Λ中的其他基因;令变异生成的所有子代个体为O2(t);
步骤2.5:求得O1(t)∪O2(t)中每个个体对应的最优调度趟数,根据多趟可分任务调度模型公式得到任务完成时间;个体的适应度为任务完成时间的倒数;
步骤2.6:从Pop(t)∪O1(t)∪O2(t)中选出E个精英个体直接保留到下一代,再用轮盘赌从Pop(t)∪O1(t)∪O2(t)选择Popsize-E个个体组成下一代,并令t=t+1;
步骤2.7:若t≤MaxGen,则转至步骤2.3继续执行,否则停止该算法,得到当前种群的最好的解,即为该算法得到的最优处理机调度顺序Λ*;
步骤2.8:由种群的最优个体Λ*={λ1,λ2,…,λn}求得最优调度趟数m*,根据多趟可分任务调度模型公式计算出最优的任务调度时间T(m*,Λ*);
所述步骤2.2求解最优趟数算法具体实现步骤包括:
步骤2.2.1:记调度顺序为Λ,处理机数量为n,任务量为W,令趟数下界lower=3,步长step=2;
步骤2.2.2:令上界upper=lower+step,当前趟数m=upper,根据任务分配方案公式计算αi,βi,γi,其中i=1,2,…,n;
步骤2.2.3:当i=1,2,…,n时,若或或则说明(upper,Λ)为不可行解,令upper=upper-1,转至步骤2.2.5,否则执行步骤2.2.4;
步骤2.2.4:令mid=(lower+upper)/2,计算T(mid,Λ)和T(upper,Λ);若T(mid,Λ)>T(upper,Λ),则令step=step×2,lower=mid,转至步骤2.2.2,否则执行步骤2.2.5;
步骤2.2.5:若lower≥upper,则最优趟数m*=upper,程序终止输出m*,否则转至步骤2.2.6;
步骤2.2.6:令mid=(lower+upper)/2,m=mid,计算αi,βi,γi,i=1,2,…,n;
步骤2.2.7:当i=1,2,…,n时,若或或则说明(mid,Λ)为不可行解,令upper=mid-1,转至步骤2.2.5,否则执行步骤2.2.8;
步骤2.2.8:计算T(mid-1,Λ)和T(mid,Λ),若T(mid-1,Λ)<T(mid,Λ),则令lower=mid,否则令upper=mid-1;若lower≥upper,则最优趟数m*=upper,程序终止,输出m*,若lower<upper,则转至步骤2.2.6。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于周口师范学院;西安电子科技大学,未经周口师范学院;西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911100054.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种存储设备的备电保护的方法及装置
- 下一篇:基于应用层的运算卡驱动实现方法





