[发明专利]一种求解复杂资源受限项目调度问题的有效方法有效
申请号: | 201210409086.4 | 申请日: | 2012-10-23 |
公开(公告)号: | CN102945510A | 公开(公告)日: | 2013-02-27 |
发明(设计)人: | 吴亚丽;靳笑一;薛芬 | 申请(专利权)人: | 西安理工大学 |
主分类号: | G06Q10/04 | 分类号: | G06Q10/04 |
代理公司: | 西安弘理专利事务所 61214 | 代理人: | 李娜 |
地址: | 710048*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种求解复杂资源受限项目调度问题的有效方法,包括以下步骤:步骤1、根据实际问题确定相关的参数;步骤2、产生初始的可行调度序列;步骤3、对调度序列进行评价;步骤4、对调度序列进行更新,各组工作通过与其邻域中工作的竞争、交叉、变异和自学习四种操作来完成更新;步骤5、对更新机制进行评价;步骤6、对资源列表进行更新;步骤7、迭代得到最晚开工时间,即最小项目工期,即成。本发明的方法,利用对采集到的资源受限项目问题的数据分析,结合群智能优化算法,实现对资源受限项目调度问题的求解,在满足时序约束和资源约束等的条件下,合理安排各时段各工作的可行调度,使得此周期内项目工期最小化。 | ||
搜索关键词: | 一种 求解 复杂 资源 受限 项目 调度 问题 有效 方法 | ||
【主权项】:
1.一种求解复杂资源受限项目调度问题的有效方法,其特征在于,按照以下步骤实施:步骤1、根据实际问题确定相关的参数包括项目的工作数J、可更新资源种类数NR、不可更新资源种类数NN、各工作之间的时序关系,第k种可更新资源在各阶段的可用量
第n种不可更新资源总量R n v ( n = 1 , . . . , N ) ; ]]> 确定每个工作的执行模式Mj,第
种模式下执行工作j需要的第k种可更新资源量
需要的第n种不可更新资源量
执行时间djm;确定各工作的最早完成时间EFJ、最晚完成时间LFJ,设定最大迭代次数H,设置迭代次数初值h=1,初始化占据概率P0,交叉概率Pc,变异概率Pm,自学习概率Ps,这些概率均为[0,1]之间的自然数;步骤2、产生初始的可行调度序列在满足时序约束和资源约束的范围内,令已执行工作序号s1=1,Job为空向量,检索存储邻接矩阵的sh行,查找入度为1的工作集合,加入Job序列中,从Job中删除具有最高优先权的一个工作序号u,并将该序号u赋给sh+1,同时邻接矩阵中元素aiu(i=sh+1)减1;按照同样的过程产生N个可行调度序列;在满足每个工作均在执行模式Mj的范围内,随机产生第m(1≤m≤Mj)种模式,确保在该模式下执行工作j满足不可更新资源约束;产生的可行调度序列向量和执行模式向量,使得每个向量的每个分量均满足以下限制条件:一个工作只能在一种执行模式下完成一次,记为Σ m = 1 M j Σ t = EF j LF j x jmt = 1 , ]]> 其中j=1,2,…,J,m=1,2,…,Mj,如果工作j选择第m模式执行且在第t阶段完成时xjmt=1,否者xjmt=0;步骤3、对调度序列进行评价根据项目的任务可行调度序列,调用任务资源和工期矩阵,在资源约束的条件下,计算出项目的总工期,作为每个可行调度序列的评价体系,适应值函数是根据目标函数确定的,主要用于区分工作组中每个工作的好坏,设个体Xi=(x1,x2,…,xJ),则其适应值函数为
步骤4、对调度序列进行更新各组工作通过与其邻域中工作的竞争、交叉、变异和自学习四种操作来完成更新,具体包括:4.1)竞争操作各组工作首先通过竞争操作来保留较优的工作,假设序列Wi=(w1,w2,…,wJ)是位置为i的序列Li的邻域内能量最大的序列,若Li满足Energy(Li)>Energy(Wi),则继续存活在环境中,否则产生一个(0,1)间的随机数U(0,1),如果U(0,1)<P0,则产生一个整数v(v∈(1,J)且v≠h),交换wv和wh,得到新序列;4.2)交叉操作把每组工作中的每个工作随机两两配对,以交叉概率Pc进行交叉操作,假设两个配对序列a=(a1,a2,…,aJ),b=(b1,b2,…,bJ),进行交叉后序列变为a′,b′,若U(0,1)<Pc,则对序列进行交叉操作,假设a′=a,b′=b,产生一个随机整数u1,u2(1<u1<u2<J),使i=u1,a′(i)=b(i),b′(i)=a(i),如果a(i1)=b(i),b(i2)=a(i),则a′(i1)=a(i),b′(i2)=b(i),生成新序列a′,b′;4.3)变异操作对于资源受限项目调度问题,每组工作的向量组是一系列可行调度序列,由于紧前关系的约束,个体变异的位置个数取值取决于邻接矩阵,每组工作以变异概率Pm进行变异,对于序列c=(c1,c2,…,cJ),产生一个(0,1)间的随机数U(0,1),若U(0,1)<Pm ,则产生一个随机整数u3、u4(1<u3,u4<J,且u3≠u4),使c′(u3)=u4,c′(u4)=u3,产生新序列c′;4.4)自学习操作每组工作以概率Ps进行自学习操作,进行自学习操作的序列为d=(d1,d2,…,dJ),自学习后为d′,令d′=d,产生一个随机整数u5(1<u5<J),从可行调度序列d中取出d(u5),寻找d(u5)在d中的紧前工作的最后位置u6和紧后工作的最前位置u7,随机产生一个整数u8(u6<u8<u7),使d′(u8)=d(u5),d′(u5)=d(u8),更新序列;步骤5、对更新机制进行评价初始化调度序号ID=1,提取调度表里的工作序号sk,将sk赋给ID,查找工作ID的所有紧前工作,选择其中最晚完工的一个工作的结束时间,将该时间作为工作ID的最早时间STID,对于项目中的任何一个工作,其开始时间都必须大于其所有前向工作的结束时间;根据可更新资源和不可更新资源的限制,判断调度序列的各项资源是否满足要求,每一阶段使用的可更新资源量不能大于其可使用量,即Σ j = 1 J Σ m = 1 M j r jmk ρ Σ q = max { t , EF j } min { t + d m - 1 , LF j } x jmq ≤ R k ρ , ]]> 其中k=1,…,K,
整个项目所有工作消耗的不可更新资源量不能大于其投入总量,即Σ j = 1 J Σ m = 1 M j r jmn v Σ t = EF j LF j x jmt ≤ R n v , ]]> 其中n=1,…,N;步骤6、对资源列表进行更新对于满足要求的工作,根据工作持续时间计算工作ID的完工时间FTID,一个工作的结束时间等于其开始时间与该工作持续时间之和,而该工作之后的工作都必须在此结束时间后发生,即
其中j=2,…,J,i∈Pj,采用优先抢占模式的资源分配方法,将所用资源从资源列表中扣除,并更新资源列表,工作的最早开工时间延期一天,即STID=STID+1,重新计算资源供应量;步骤7、迭代次数h=h+1,如果h<J,则继续重复步骤2到步骤6,否则得到工作J的最晚开工时间,即最小项目工期,即成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安理工大学,未经西安理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210409086.4/,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06 计算;推算;计数
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理