一种利用粒子群优化多模式资源约束项目调度的方法技术

技术编号:24171427 阅读:63 留言:0更新日期:2020-05-16 03:05
本发明专利技术公开了一种利用粒子群算法优化多模式资源约束项目调度的方法,主要应用于工期最短为优化目标的资源约束项目调度问题上,本发明专利技术重新定义了粒子群优化算法中粒子的生成方式和位置更新方式,使其更适合于求解工期优化调度类离散问题,加快收敛速度,获得最佳调度方案。

【技术实现步骤摘要】
一种利用粒子群优化多模式资源约束项目调度的方法
本专利技术计算智能
,特别涉及群智能的改进方法。
技术介绍
多模式资源约束项目调度问题(Multi-modeResource-constrainedProjectSchedulingProblem,MMRCPSP)是指在有限资源约束下,为项目中一系列相互关联的任务合理安排其执行模式和开始时间以使项目总工期最短。MMRCPSP不仅存在资源约束,而且任务间存在时序约束,是一类NP-hard问题,很难求解。确定性算法由于时间复杂度大,只能求解小规模MMRCPSP,对大规模MMRCPSP,必须利用智能算法才能进行优化。
技术实现思路
本专利技术提出了一种利用粒子群优化多模式资源约束项目调度的方法,通过此方法解决大规模资源约束项目调度的问题。粒子群算法的本质是利用当前位置、全局极值和个体极值3个信息,指导粒子下一步迭代位置,粒子充分利用自身经验和群体经验调整自身的状态是粒子群算法具有优异特性的根本。粒子以多种形式从其个体极值和全局极值中获得更新信息,传统的速度-位移模型仅为符合此优化原理的具体实现之一。由于传统模型中粒子的位置和速度均以连续参数的形式表示,仅适合于处理连续优化问题,而MMRCPSP求解的是各任务的执行模式、执行次序及开工时间,解空间对应着离散的整数域,利用粒子群算法优化MMRCPSP时,速度项难以表达,因此本专利技术从粒子群算法的本质出发修正位置更新公式。粒子群算法的关键在于确定粒子位置的更新方式,本专利技术在粒子群算法中引入遗传算法思想,将粒子的当前位置分别与全局极值和个体极值交叉并按适应度函数进行择优选择来更新粒子位置,并且为了防止算法早熟收敛,将粒子新位置按一定概率变异。改进后的混合粒子群算法直接从个体极值和全局极值中获得更新信息,搜索过程是一种单向的信息流动机制,目的性强,避免大量冗余的更新操作,优化效率高。具体实施方式(1)设定粒子数m,迭代次数为T,变异率w,随机产生N个初始解X0;(2)根据各粒子当前位置计算适应值f0,设置当前适应值为个体极值Pibest,当前位置为个体极值位置Pi,根据各粒子的个体极值找出全局极值Gbest和全局极值位置Pg;(3)第j个粒子位置X0(j)与Pg交叉,记为X’1(j);(4)X’1(j)与Pi交叉,记为X”1(j);(5)对X”1(j)按一定概率进行变异;(6)根据当前位置计算适应值f1(j);(7)如果f1(j)<Pibest(j),则Pibest(j)=f1(j),Pi(j)=X1(j)。否则取适应值低的粒子位置记为X1(j);(8)根据各个粒子的个体极值Pibest,找出全局极值Gbest和全局极值位置Pg;(9)X0←X1;(10)按一定次数不断迭代,最后输出全局极值Gbest和全局极值位置Pg;在步骤(1)中,每个粒子Xi=(xi1,xi2,…xiD)代表一个可行解,即项目中各个任务的调度次序,粒子生成过程如下:在未分配资源的任务中选择没有先序任务或其先序任务都已经分配资源的任务组成候选集合,从候选集合中选择一个任务,为其安排开工时间:最早开始时间为其所有先序活动中最晚结束的时间,如果在其持续的时段内所剩的资源不能满足该任务,则从候选集合中重新选择另一个任务或者将其开始时间后移,直到满足资源约束。如果候选集为空,结束本次调度,生成一个合法粒子。在步骤(2)中,设D维搜索空间中有N个粒子组成一个粒子群,其中第i个粒子表示为Xi=(xi1,xi2,…xiD),其经历过的历史最优位置为Pi=(pi1,pi2,…,piD),群体中所有粒子经历过的最优位置为Pg=(pg1,pg2,…pgD)。粒子i的飞行速度为Vi=(vi1,vi2,…viD),对每一代,其第d(1≤d≤D)维速度与位置根据如下公式变化:vid+1=ωvid+c1×rand()×(pid-xid)+c2×rand()×(pgd-xid)xid+1=xid+vid其中,i=1,2,…N,d=1,2,…,D,ω为惯性权重,用于控制粒子原有速度对新速度的影响,C1和C2为加速系数,分别决定粒子个体极值和历史极值对新速度的影响,rand()是[0,1]范围内变化的随机数。在步骤(3)和(4)中,粒子通过分别与全局极值和个体极值交叉,随机产生一个交叉点,保留个体1交叉点前的任务,从个体2的任务列表中删除这些任务,并将其余任务依序插入到个体1交叉点后的位置,产生新粒子;在步骤(5)中,粒子交叉后再按一定概率变异进行位置更新:采用任务变异,按一定概率判断粒子是否执行变异,若执行,则随机选择该粒子中的一个任务,保留该任务前的任务序列,将该任务替换为另一未分配资源的其它任务,再调用粒子生成策略,生成后续任务序列。本文档来自技高网...

【技术保护点】
1.利用粒子群优化多模式资源约束项目调度的方法,其特征包含于以下步骤:/n(1)设定粒子数m,迭代次数为T,变异率w,随机产生N个初始解X

【技术特征摘要】
1.利用粒子群优化多模式资源约束项目调度的方法,其特征包含于以下步骤:
(1)设定粒子数m,迭代次数为T,变异率w,随机产生N个初始解X0;
(2)根据各粒子当前位置计算适应值f0,设置当前适应值为个体极值Pibest,当前位置为个体极值位置Pi,根据各粒子的个体极值找出全局极值Gbest和全局极值位置Pg;
(3)第j个粒子位置X0(j)与Pg交叉,记为X'1(j);
(4)X'1(j)与Pi交叉,记为X”1(j);
(5)对X”1(j)按一定概率进行变异;
(6)根据当前位置计算适应值f1(j);
(7)如果f1(j)<Pibest(j),则Pibest(j)=f1(j),Pi(j)=X1(j);否则取适应值低的粒子位置记为X1(j);
(8)根据各个粒子的个体极值Pibest,找出全局极值Gbest和全局极值位置Pg;
(9)X0←X1;
(10)按一定次数不断迭代,最后输出全局极值Gbest和全局极值位置Pg。


2.根据权利要求1所述的利用粒子群优化多模式资源约束项目调度的方法,其特征在于:
每个粒子Xi=(xi1,xi2,…xiD)代表一个可行解,即项目中各个任务的调度次序,粒子生成过程如下:在未分配资源的任...

【专利技术属性】
技术研发人员:黄少荣
申请(专利权)人:广东司法警官职业学院
类型:发明
国别省市:广东;44

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

1