[发明专利]一种求解复杂资源受限项目调度问题的有效方法有效

专利信息
申请号: 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种不可更新资源总量Rnv(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=1MjΣt=EFjLFjxjmt=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=1JΣm=1MjrjmkρΣq=max{t,EFj}min{t+dm-1,LFj}xjmqRkρ,]]>其中k=1,…,K,整个项目所有工作消耗的不可更新资源量不能大于其投入总量,即Σj=1JΣm=1MjrjmnvΣt=EFjLFjxjmtRnv,]]>其中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/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top