一种求解多目标资源受限项目调度的有效方法技术

技术编号:10789436 阅读:88 留言:0更新日期:2014-12-17 17:52
本发明专利技术公开了一种求解多目标资源受限项目调度的有效方法,步骤包括:1)建立基于工期-成本优化的多目标资源受限项目调度数学模型;2)产生初始的可行调度序列;3)对调度序列进行评价;4)对调度序列进行更新;5)构造非支配解集操作;6)对外部归档集进行维护;7)更新迭代直至输出最优解集,即成。本发明专利技术的方法,每个智能体对应调度问题中的一个链表序列,对任务链表的调度序列和与其相对应的执行模式序列分别进行编码,采用串行方法进行解码操作,各链表序列之间通过竞争、交叉、自学习实现进化和更新;通过调整项目的调度计划,在满足时序约束和资源约束等的条件下,使得该控制周期内的工期和成本达到综合最优。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,步骤包括:1)建立基于工期-成本优化的多目标资源受限项目调度数学模型;2)产生初始的可行调度序列;3)对调度序列进行评价;4)对调度序列进行更新;5)构造非支配解集操作;6)对外部归档集进行维护;7)更新迭代直至输出最优解集,即成。本专利技术的方法,每个智能体对应调度问题中的一个链表序列,对任务链表的调度序列和与其相对应的执行模式序列分别进行编码,采用串行方法进行解码操作,各链表序列之间通过竞争、交叉、自学习实现进化和更新;通过调整项目的调度计划,在满足时序约束和资源约束等的条件下,使得该控制周期内的工期和成本达到综合最优。【专利说明】-种求解多目标资源受限项目调度的有效方法
本专利技术属于系统调度及控制
,涉及一种求解多目标资源受限项目调度的 有效方法。
技术介绍
资源受限项目调度问题广泛应用于建筑工程、交通运输、软件开发、产品生产、电 力系统等调度领域,其难点是在满足时序约束和资源约束的前提下,按照某种规则合理安 排项目的任务,而在项目的执行过程中又包含有多个模式,要求在成本资源最优利用的同 时在多个相互冲突的目标之间进行权衡,找到各个目标之间的最佳平衡点,得到满足项目 要求的一组最优解集。因此综合考虑项目工期和项目成本的多目标资源受限项目调度的研 究,不仅具有重要的理论意义,而且是调度问题的最现实的选择,因此制定合理的调度计划 是目前研究的重点。 多智能体进化算法作为智能优化算法的一个分支,它是从智能体系统的角度出 发,把进化算法中的个体当作一个有局部感知、竞争协作和自学习能力的智能体,通过智能 体自身以及智能体之间的相互作用达到优化全局的目的。由于多智能体的自主性、分布性、 协调性及自组织能力、学习能力和推理能力,使得它在解决实际问题时具有较强的可靠性 和较高的求解效率,但目前多智能体进化算法大多用于单目标方面。
技术实现思路
本专利技术的目的是提供,解决了现有 调度方法在调度中工期与成本之间难以调节,不易取得最佳效益的问题。 本专利技术所采用的技术方案是:,按 照以下步骤实施: 步骤1、建立基于工期-成本优化的多目标资源受限项目调度数学模型 假设项目中的工作数为J,每个工作j之间有着前后的时序约束,则有j = 1,2, ...,J,记%是紧接着工作j之前的集合,&是紧接着工作j之后的集合;设定最大迭 代次数H,迭代次数初值h = 1,工作1是最早开始的唯一一个工作,工作J是最晚完成的唯 一一个工作;项目中可更新资源种类数为K,不可更新资源种类数为N,k = 1,2, ... Κ,η = 1,2, . . . Ν,第k种可更新资源在各阶段的总供给量为 【权利要求】1. ,其特点在于,按照以下步骤实施: 步骤1、建立基于工期-成本优化的多目标资源受限项目调度数学模型 假设项目中的工作数为J,每个工作j之间有着前后的时序约束,则有j = 1,2, ...,J, 记%是紧接着工作j之前的集合,&是紧接着工作j之后的集合;设定最大迭代次数H,迭 代次数初值h = 1,工作1是最早开始的唯一一个工作,工作J是最晚完成的唯一一个工作; 项目中可更新资源种类数为K,不可更新资源种类数为N,k = 1,2,. . . Κ,η = 1,2,. . . N,第 k种可更新资源在各阶段的总供给量为,第η种不可更新资源总量为;每个工作有多 种模式可供选择,工作j需选择%种模式之一进行操作,且在运行过程中不能中断或更改; 工作j在第m种模式下运行时,m = 1,2,... Μ」,第k种可更新资源的需求量为,第η种 不可更新资源的需求量为运行时间为djm,正在运行的工作所用的资源总数不能超过 资源的总供给量,以上各量值取整数, 据此创建模型如下:(1) 式(1)为目标之一,此目标是最小化项目总工期的表达式,式中为工作J的 最早和最晚完成时间段;t表示t阶段,\1T是工作j在第一种模式下T阶段的完成状态,若 完成则x jlT = 1,否则xjlT = 0 ;(2) 式(2)为目标之二,此目标是最小化项目成本的表达式,式中%表示的是工作j的执 行模式数;是工作j在模式m下的花费;J是项目的所有工作数;(3) 式(3)表示每个工作在一种模式下只能实现一次,式中xjmt表示的是工作j在第m种 模式t阶段时执行的状态;[E~ LDJ表示的是工作j的最早和最晚完成时间段;(4) 式(4)表示项目的紧前约束关系,ximt和x>t分别是工作i和工作j在第m种模式t阶 段时的执行状态;是工作j在第m种模式下的执行时间;(5) 式(5)是不等式约束,保证了各工作使用的可更新资源量不超过该阶段的总供给量,为第k种可更新资源的需求量,为第k种可更新资源在各阶段的总供给量,为工 期上限;(6) 式(6)是保证所有工作使用的不可更新资源量不能超过整个项目总的供给量,<,"为 第η种不可更新资源的需求量,K为第η种不可更新资源总量;(7) 式(7)是模型中相关变量的取值范围,\mt表示工作j在第m种模式下的完成状态,若 完成则有Xjmt = 1,否则Xjmt = 〇 ; 步骤2、产生初始的可行调度序列 项目中的每个工作由两部分组成,即:(8) 其中,是第i个任务链表中满足时序约束的调度序列,是项目中各 个工作的执行顺序表枸=mi,m2,. . .,nv Mi是该任务链表中各任务所对应的模式序列,项 目中的模式序列与调度序列是一一对应的,在执行过程中随机生成S所对应的模式M,并保 证生成的模式数不大于该工作的总模式数, 由时序约束确定工作j的紧前工作集h和紧后工作集,用邻接矩阵G = 表 示工作间的紧前紧后关系,其中当i e P」时,gu = 1,否则gi」=〇 ; 初始化项目调度序列S和已执行工作序号Sl = 1,令Job为空向量,k = 1,检索存储 邻接矩阵的sh行,查找入度为1的工作集合,加入Job序列中,从Job中删除具有最高优先 权的一个工作序号u,并将该序号u赋给s h+1,同时邻接矩阵中元素减1,令k =k+1,若k〈J,则继续计算,否则输出S ; 步骤3、对调度序列进行评价 根据项目生成的调度序列S和模式序列M,通过串行方案进行解码操作,令Tst表示项 目的开始时间,分别表示经过 编码得到的第i个链表中相对应工作的开始时间和成本,判断工作在其执行模式下是否存 在资源冲突,找到该链表的最早完成时间ti;r = maxltij+djj和所对应的成本; 步骤4、对调度序列进行更新 采用多智能体进化算法对调度序列进行更新,通过与其邻域中工作的竞争、交叉、自学 习三种操作方式完成更新; 步骤5、构造非支配解集操作; 步骤6、对外部归档集进行维护; 步骤7、更新迭代次数h = h+Ι,如果h < J,则继续重复步骤2到步骤6,否则输出 Pareto最优解集,即成。2.根据权利要求1所述的求解多目标资源受限项目调度的有效方法,其特点在于,所 述的步骤4中,竞争、交叉、自学习三种操作方式具体过程是: 4. 1)竞争操作 假设第i个链表{SpMi}对应的工期-成本为{tpc本文档来自技高网
...

【技术保护点】
一种求解多目标资源受限项目调度的有效方法,其特点在于,按照以下步骤实施:步骤1、建立基于工期‑成本优化的多目标资源受限项目调度数学模型假设项目中的工作数为J,每个工作j之间有着前后的时序约束,则有j=1,2,...,J,记Qj是紧接着工作j之前的集合,Hj是紧接着工作j之后的集合;设定最大迭代次数H,迭代次数初值h=1,工作1是最早开始的唯一一个工作,工作J是最晚完成的唯一一个工作;项目中可更新资源种类数为K,不可更新资源种类数为N,k=1,2,...K,n=1,2,...N,第k种可更新资源在各阶段的总供给量为第n种不可更新资源总量为每个工作有多种模式可供选择,工作j需选择Mj种模式之一进行操作,且在运行过程中不能中断或更改;工作j在第m种模式下运行时,m=1,2,...Mj,第k种可更新资源的需求量为第n种不可更新资源的需求量为运行时间为djm,正在运行的工作所用的资源总数不能超过资源的总供给量,以上各量值取整数,据此创建模型如下:minfJ=Σt=EDJLDJt·xJ1T;---(1)]]>式(1)为目标之一,此目标是最小化项目总工期的表达式,式中[EDJ,LDJ]为工作J的最早和最晚完成时间段;t表示t阶段,xj1T是工作j在第一种模式下T阶段的完成状态,若完成则xj1T=1,否则xj1T=0;mincJ=Σj=1JΣm=1Mjcjm;---(2)]]>式(2)为目标之二,此目标是最小化项目成本的表达式,式中Mj表示的是工作j的执行模式数;cjm是工作j在模式m下的花费;J是项目的所有工作数;s.t.Σm=1MjΣt=EDjLDjxjmt=1,j=1,2,...,J;---(3)]]>式(3)表示每个工作在一种模式下只能实现一次,式中xjmt表示的是工作j在第m种模式t阶段时执行的状态;[EDj,LDj]表示的是工作j的最早和最晚完成时间段;Σm=1MjΣt=EDjLDjt·ximt≤Σm=1MjΣt=EDjLDjt·xjmt-djm,j=1,2,...,J,i∈Qj;---(4)]]>式(4)表示项目的紧前约束关系,ximt和xjmt分别是工作i和工作j在第m种模式t阶段时的执行状态;djm是工作j在第m种模式下的执行时间;Σj=1JΣm=1MjrjmkρΣq=max{t,EDj}min{t+djm-1,LDj}≤Rkρ,k=1,2,...,K,t=1,2,...D‾;---(5)]]>式(5)是不等式约束,保证了各工作使用的可更新资源量不超过该阶段的总供给量,为第k种可更新资源的需求量,为第k种可更新资源在各阶段的总供给量,为工期上限;Σj=1JΣm=1MjrjmnvΣt=EDjLFjxjmt≤Rnv,n=1,2,...N;---(6)]]>式(6)是保证所有工作使用的不可更新资源量不能超过整个项目总的供给量,为第n种不可更新资源的需求量,为第n种不可更新资源总量;xjmt={0,1},j=1,2,...,J,m=1,2,...,Mj,t=EDj,...,LDj;        (7)式(7)是模型中相关变量的取值范围,xjmt表示工作j在第m种模式下的完成状态,若完成则有xjmt=1,否则xjmt=0;步骤2、产生初始的可行调度序列项目中的每个工作由两部分组成,即:SiMi=j1,j2,...,jJm1,m2,...,mJ,---(8)]]>其中,Si=j1,j2,...jJ,Si是第i个任务链表中满足时序约束的调度序列,是项目中各个工作的执行顺序表;Mi=m1,m2,...,mJ,Mi是该任务链表中各任务所对应的模式序列,项目中的模式序列与调度序列是一一对应的,在执行过程中随机生成S所对应的模式M,并保证生成的模式数不大于该工作的总模式数,由时序约束确定工作j的紧前工作集pj和紧后工作集sj,用邻接矩阵G=[gij]J×J表示工作间的紧前紧后关系,其中当i∈Pj时,gi,j=1,否则gi,j=0;初始化项目调度序列S和已执行工作序号s1=1,令Job为空向量,k=1,检索存储邻接矩阵的sh行,查找入度为1的工作集合,加入Job序列中,从Job中删除具有最高优先权的一个工作序号u,并将该序号u赋给sh+1,同时邻接矩阵中元素aiu(i=sh+1)减1,令k=k+1,若k<J,则继续计算,否则输出S;步骤3、对调度序列进行评价根据项目生成的调度序列S和模式序列M,通过串行方案进行解码操作,令Tst表示项目的开...

【技术特征摘要】

【专利技术属性】
技术研发人员:吴亚丽郭晓平薛芬
申请(专利权)人:西安理工大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1