[发明专利]基于分层两阶段智能算法的资源受限项目调度优化方法有效
申请号: | 201911259888.X | 申请日: | 2019-12-10 |
公开(公告)号: | CN110942209B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 叶必卿;李蒙正;单晓杭;李研彪;张利;谢毅 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04;G06N3/12 |
代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 吴秉中 |
地址: | 310000 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分层 阶段 智能 算法 资源 受限 项目 调度 优化 方法 | ||
1.一种基于分层两阶段智能算法的资源受限项目调度优化方法,其特征在于:包括以下步骤:
步骤1:形式化资源受限项目调度问题,获取调度优化所需的信息;
获取项目任务集T={t0,t1,...,tJ,tJ+1};其中tj表示任务j,即编号为j的任务,t0与tJ+1是人为增加的虚拟任务,即不占用项目工期也不占用资源,J是需要调度的实际任务数量;
获取任务间的时序关系,即任务j的父任务集PRj和子任务集SCj,任务j在其父任务j-∈PRj全部完工之前不能开始执行,j=0,1,…,J+1,t0没有父任务即tJ+1没有子任务即
获取资源k在任意时刻的可使用量Rk,k=1,…,K,K是资源种类数量;
获取任务j执行时需要的时间即工期dj和占用资源k的数量rj,k,rj,k≤Rk,j=1,…,J,k=1,…,K;
步骤2:计算任务的排序值rank和层次值lvl;
任务的排序值rank计算如下:
首先,计算任务j的自下而上排序值
对于没有子任务的结束任务J+1:
其它任务的自下而上排序值采用如下递归公式进行计算:
然后,计算任务j的自上而下排序值
对于没有父任务的开始任务0:
其它任务的自上而下排序值采用如下递归公式进行计算:
最后,计算任务j的排序值rankj,j=1,…,J;
任务的层次值lvl计算如下:
对于没有父任务的开始任务0:
lvl0=0 (6)
其它任务的层次值lvl采用如下递归公式进行计算:
其中,j=1,…,J
步骤3:初始化当代种群;
基于层次和rank的个体生成方法生成一个个体,然后基于层次的个体随机生成方法生成剩余的N-1个不同个体,形成初始当代种群,N为种群规模,且为正偶数;
个体ch采用J位整数编码,其方法如下:ch={g1,…,gJ},基因gj是一个正整数,g1,…,gJ是一个满足任务时序约束的调度顺序,即任何任务都不能排在其父任务的前面,为1,…,J的一个排列,gj表示第j个被调度的任务,即任务gj是第j个被调度的;
所述基于层次和rank的个体生成方法包括如下步骤:
步骤A1:令待处理任务集UT={t1,t2,…,tJ},令循环控制变量δ=1;
步骤A2:在UT中找出层次最小的任务集,从中选出一个rank最大的任务,不妨设为tj,从UT中取出tj,gδ=j;
步骤A3:令δ=δ+1,如果δ≤J,转到步骤A2;否则转到步骤A4;
步骤A4:获得一个个体{g1,…,gJ},操作结束;
所述基于层次的个体随机生成方法包括如下步骤:
步骤B1:令待处理任务集UT={t1,t2,…,tJ},令循环控制变量δ=1;
步骤B2:从UT中随机取出一个层次值最小的任务,不妨设为tj,gδ=j;
步骤B3:令δ=δ+1,如果δ≤J,转到步骤B2;否则转到步骤B4;
步骤B4:获得一个个体{g1,…,gJ},操作结束;
步骤4:对当代种群中的每个个体进行基于插入模式的串行个体解码,获得其适应度值;
所述基于插入模式的串行个体解码包括如下步骤:
步骤C1:系统状态初始化:令任务0的完成时间f0=0、任务完成时间集F={f0,lf},F 中的元素从小到大排列,lf表示项目的最晚完成时间:令对应于F中各完成时间的资源剩余可用量:令循环控制变量δ=1;
步骤C2:取出任务j=gδ;
步骤C3:计算任务j的开始时间sj和完成时间
步骤C4:如果fj在F中不存在,则F=F∪{fj},增加fj时刻的资源剩余可用量:其中:fj″是fj的前一个时刻;
步骤C5:更新[sj,fj)时段内的资源剩余可用量:
步骤C6:令δ=δ+1,如果δ≤J则转到步骤C2,否则转到步骤C7;
步骤C7:获得所有任务的完成时间fj,及适应度值其中ms为项目完工时间,操作结束;
所述适应度值越小,个体越优;
其中:表示τ时刻资源k的剩余可用量,表示任务j的就绪时间;步骤5:对当代种群进行N/2次基于层次的交叉操作生成新种群,对新种群中的每个个体进行基于层次的变异操作;
所述基于层次的交叉操作包括如下步骤:
步骤D1:基于排序的轮赌法从当代种群中随机选择两个不同个体作为父体1和父体2;
步骤D2:随机选择一个层次,不妨设其为层次l;
步骤D3:交换父体1和父体2中层次l的任务调度顺序,生成两个子体1和子体2,操作结束;
所述基于层次的变异操作描述如下:
步骤E1:产生一个随机数λ∈[0,1),如果λ<pm则转步骤E2;否则转步骤E4;
步骤E2:如果存在层内任务数量大于1的层次,那么从中随机选择一个,不妨设为l,转到步骤E3;否则转到步骤E4;
步骤E3:从l层中随机选择两个任务,并交换这两个任务;
步骤E4:基于层次的变异操作结束;
其中,pm为变异概率;
步骤6:对新种群中的每个个体进行基于插入模式的串行个体解码,获得其适应度值;
步骤7:从当代种群和新种群中从优到劣选出N个不同的个体形成下一代种群,令下一代种群为当代种群;
步骤8:判断是否满足第一阶段迭代终止条件,如满足,则第一阶段进化结束转到步骤9,否则转到步骤5;
第一阶段终止条件为迭代到指定的代数TG1或连续迭代GG1代最优个体没有改进;
步骤9:对当代种群进行N次基于拓扑排序的参数化均匀交叉操作生成新种群,对新种群中的每个个体采用基于拓扑排序的变异操作;
所述基于拓扑排序的参数化均匀交叉操作包括如下步骤:
步骤F1:基于排序的轮赌法从当代种群中随机选择两个不同个体作为父体1和父体2,不妨设为:chp1、chp2,令循环控制变量δ=1,子体
步骤F2:如果δ≤J则转到步骤F3,否则转到步骤F4;
步骤F3:产生一个随机数λ∈[0,1),如果λ<0.5,那么从chp1中取出首元素放到chc的尾部,并从chp2中删除该元素,否则从chp2中取出首元素放到chc的尾部,并从chp1中删除该元素;令δ=δ+1,转到步骤F2;
步骤F4:输出子体操作结束;
所述基于拓扑排序的变异操作包括如下:
步骤G1:产生一个随机数λ∈[0,1),如果λ<pm则转步骤G2;否则转步骤G3;
步骤G2:随机选择一个基因gj;如果任务gj存在除任务0以外的父任务,那么从gj开始向前找到第一个父任务gj′,令位置值pos1=j′+1,否则令pos1=1;如果任务gj存在除任务J+1以外的子任务,那么从gj开始向后找到第一个子任务gj″,令位置值pos2=j″-1,否则令pos2=J;在[pos1,pos2]之间重新随机选择一个位置插入gj;
步骤G3:基于拓扑排序的变异操作结束;
步骤10:对新种群中的每个个体采用FBID方法进行改进并计算其适应度值;
所述FBID方法包括如下步骤:
步骤H1:令计次变量θ=1;基于插入模式的串行个体解码获得所有任务的完成时间fj,j=1,…,J,及其适应度值fit;
步骤H2:把任务0变成任务J+1,任务J+1变成任务0,颠倒任务间的时序关系,即把任务的父任务集变成子任务集,子任务集变成父任务集,把个体ch的调度顺序根据任务完成时间fj从大到小重新排列,即把个体中的基因gj设置为倒数第j个完成的任务,j=1,…,J,形成个体
步骤H3:令θ=θ+1,对个体进行基于插入模式的串行个体解码获得所有任务的完成时间及其适应度值
步骤H4:若那么转到步骤H2,否则转到步骤H5;
步骤H5:如果θ为偶数那么输出个体ch,否则输出个体其适应度值fit,操作结束;
步骤11:从当代种群和新种群中从优到劣选出N个不同的个体形成下一代种群,令下一代种群为当代种群;
步骤12:判断是否满足第二阶段进化终止条件,如满足,则转到步骤13,转到步骤9;
第二阶段终止条件为迭代到指定的代数TG2或连续迭代GG2代最优个体没有改进;
步骤13:输出最优个体对应的调度方案,及其项目执行时间
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911259888.X/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理