【技术实现步骤摘要】
本专利技术涉及自动控制与信息
的一种方法,具体涉及一种基于多智能体进化算法(multiagent evolutionary algorithm, MAEA)的资源受限项目调度方法。
技术介绍
资源受限项目调度问题(resource-constrainedproject scheduling problem,简称RCPSP)广泛地存在于建筑工程、软件开发、飞机及轮船制造等单件或小批量生产方式的企业中,合理的调度计划是降低成本、提高质量、缩短周期的重要保证。RCPSP不仅在实践中应用广泛,在理论上,该问题模型丰富,而且多属于NP-hard问题,求解困难,因此,一直吸引着国内外众多学者的研究和关注。典型的资源受限项目调度问题可描述为在一个项目中,包含η个任务。任务之间存在着紧前关系,记B」为任务j的紧前任务集,为任务j的紧后任务集。整个项目的结构可由一张节点式(activity-on-node,A0N)有向网络图G= (V7E)表示,顶点集V中每个顶点代表项目中每一个任务,弧线集E代表任务间优先关系,即若任务V和任务w之间存在一条由V指向W的箭线,则任务V是任务W的紧如任务,任务W是任务V的紧后任务。每个任务执行持续时间记为dp这些任务的执行有两种约束①优先关系约束,即每个任务必须等它的所有紧前任务完成之后才能执行;②资源约束。每个任务的执行都要消耗时间和资源,调度的目的是求出项目中每项任务的开始时间和结束时间,并且同时满足资源约束和优先关系约束,使某些管理目标最优化,例如最小化项目工期。目前文献中提出了大量的RCPSP解决方法,大致可分为三类最优化算法 ...
【技术保护点】
一种基于多智能体进化算法的资源受限项目调度方法,将多智能体系统与进化计算相结合,用于求解资源受限项目调度问题,其特征在于:首先根据两种算法初始化智能体网格中的每个智能体,然后用设计的邻域竞争算子、邻域交叉算子、变异算子和自学习算子对智能体进行优化,具体步骤如下:(1)参数设定:Pc为邻域交叉概率,Pm为变异概率,t为大于或等于0的整数,表示第t代,Lt表示第t代智能体网格,Lt+1/3和Lt+2/3是Lt和Lt+1间的中间代智能体网格,Bestt是L0,L1,…,Lt中最优的智能体,CBestt是Lt中最优的智能体,rand指随机产生的0到1之间的实数,Li,j表示处在智能体网格第i行、第j列的智能体,energy(Li,j)表示智能体Li,j的能量;(2)初始化智能体网格L0,更新Best0,令t=0,网格大小为Lsize*Lsize,其中Lsize为整数,设计为使网格中智能体个数大于或等于项目中任务个数的最小值,每个智能体用一个可行的任务列表表示,即列表中每个任务的所有紧前任务都必须排在这个任务的前面,循环调用算法1和算法2对智能体网格中每个智能体进行编码;(3)对网格Lt中每个智 ...
【技术特征摘要】
1.一种基于多智能体进化算法的资源受限项目调度方法,将多智能体系统与进化计算相结合,用于求解资源受限项目调度问题,其特征在于首先根据两种算法初始化智能体网格中的每个智能体,然后用设计的邻域竞争算子、邻域交叉算子、变异算子和自学习算子对智能体进行优化,具体步骤如下 (1)参数设定p。为邻域交叉概率,Pffl为变异概率,t为大于或等于O的整数,表示第t代,Lt表示第t代智能体网格,Lt+1/3和Lt+2/3是Lt和Lt+1间的中间代智能体网格,Bestt是L0, L1,…,Lt中最优的智能体,CBestt是Lt中最优的智能体,rand指随机产生的O到I之间的实数,Lijj表示处在智能体网格第i行、第j列的智能体,energy (Lijj)表示智能体Li, j的能量; (2)初始化智能体网格L°,更新Best°,令t= O,网格大小为LsizJLsize,其中Lsize为整数,设计为使网格中智能体个数大于或等于项目中任务个数的最小值,每个智能体用一个可行的任务列表表示,即列表中每个任务的所有紧前任务都必须排在这个任务的前面,循环调用算法I和算法2对智能体网格中每个智能体进行编码; (3)对网格Lt中每个智能体执行邻域竞争算子,得到Lt+1/3,iT;表示智能体Li,j邻域中能量最大的智能体,如果energy (U」) >engrgy ,则智能体1^,」继续存活在网格上,否则,必须死亡,空出的格点由变异产生一个新智能体占据,变异的方法采用插入变异算子,此插入变异算子与一般组合优化的插入变异算子有所不同,变异后任务列表仍须满足任务间优先关系; (4)对Lt+3中的每个智能体,若rand< P。,则将邻域交叉算子作用在其上,得到Lt+2/3,如果智能体Lm满足交叉条件,则将两点交叉算子作用在Lm与^上,得到两个智能体C1和C2,比较这两个智能体的能量,用能量较大的一个替代Liij ; (5)对Lt+2/3中的每个智能体,若rand< P111,则将变异算子作用在其上,得到Lt+1,如果智能体Lm满足变异条件,则将插入变异算子作用在其上,该变异算子与步骤(3)中变异算子相同; (6)从Lt+1中找出CBestt+1,并将自学习算子作用在其上,若智能体Li,j满足自学习条件,由Li, j变异产生智能体Ii1,变异方法与步骤(3)中变异方法相同,若energy Oi1) >energy (Li,」),则用Ii1替代Li,」且自学习算子停止,否则由Ii1继续变异产生一个智能体h2,与Lm比较能量,如果h2的能量比Lm的大,则用h2替代Lm且自学习算子停止,否则继续由h2变异产生一个智能体与Lm比较能量,按照这种方式一直变异,一旦得到一个大于Lm能量的智能体,则用该智能体替代Li, j且自学习算子停止,最大变异次数为20,若还找不到一个智能体使其能量大于Ly的能量,则自学习算子停止,Ly保持不变;(7)如果energy (CBestt+1) > energy (Bestt),则把 CBestt+1 的值赋予 Bestt+1,否则,把Bestt 的值赋予 Bestt+1 和 CBestt+1 ; (8)如果终止条件满足,即得到RCPSP的最优解或者达到最大进化代数,则解码计算最小项目工期输出,否则,令t的值自加1,并转向步骤(3)。2.如权利要求1所述的基于多智能体进化算法的资源受限项目调度方法,其特征在于步骤(2...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。