基于多启发信息蚁群系统的柔性作业车间调度方法技术方案

技术编号:20178102 阅读:92 留言:0更新日期:2019-01-23 00:46
本发明专利技术属于智能算法和生产管理领域,涉及基于多启发信息蚁群系统的柔性作业车间调度方法,包括:建立析取图模型;初始化;构造FJSP的解集;信息素更新;启发式信息档案更新;终止条件检查。本发明专利技术在蚁群系统中引入六种启发式信息,使算法在不同问题实例中均能取得理想性能,避免陷入局部最优,并且使用一种能够根据待解问题实例和当前搜索状态来自动选择启发式信息及其引导力控制参数的自适应策略,使整个蚁群的启发式信息设计向能产生优质解的当前最优设计收敛,提高收剑速度,提高算法优化效率,提高柔性作业车间调度效率。

Flexible Job Shop Scheduling Method Based on Multi-heuristic Information Ant Colony System

The invention belongs to the field of intelligent algorithm and production management, and relates to a flexible job shop scheduling method based on multi-heuristic information ant colony system, including: establishing disjunctive graph model; initialization; constructing FJSP disassembly; pheromone updating; heuristic information file updating; termination condition checking. The invention introduces six kinds of heuristic information in ant colony system, so that the algorithm can achieve ideal performance in different problem instances, avoid falling into local optimum, and uses an adaptive strategy that can automatically select heuristic information and its guidance force control parameters according to the problem instance to be solved and the current search state, so that the heuristic information design of the whole ant colony can produce high quality. The current optimal design convergence of the solution improves the speed of swordtaking, the efficiency of algorithm optimization and the efficiency of flexible job shop scheduling.

【技术实现步骤摘要】
基于多启发信息蚁群系统的柔性作业车间调度方法
本专利技术属于智能算法和生产管理领域,涉及基于多启发信息蚁群系统的柔性作业车间调度方法。
技术介绍
柔性作业车间调度问题(FlexibleJob-shopSchedulingProblem,FJSP)是传统作业车间调度问题(Job-shopSchedulingProblem,JSP)的扩展,每个工序可以由多个不同机器完成,并且在不同机器上的完成时间不同。具体来说,一个N×M的FJSP描述如下:有N个待加工的工件和M台可用机器,工件集合为{p1,p2,...,pN},机器集合为{m1,m2,...,mM},每个工件包含一道或多道工序,工件i(i=1,2,…,N)的ni道工序由集合opi={opi1,opi2,...,opini}表示。工件的工序加工顺序是确定的,每道工序可以在多台不同的机器上加工,问题的目标是在约束条件限制下,为M台机器中的每台机器找出一个操作序列使得N项作业的完成时间最小。FJSP减少了机器约束,扩大了可行解的搜索范围,增加了问题的复杂度,是非确定多项式(Non-deterministicPolynomial,NP)难问题。现有解决FJSP的方法大致分为两类:分层方法与整合方法。分层方法是将FJSP分为机器分配与工序排序两个问题进行求解;整合是将两个问题综合起来进行求解。分层方法可以降低FJSP的复杂度,但是分层方法由于无法综合考虑全局信息,通常无法得到全局最优解。整合方法从理论上可以保证得到全局最优解。尽管如此,大多数现有的整合方法由于FJSP的高复杂度而面临着效率低下的问题。目前,一些智能算法如遗传算法(GeneticAlgorithm,GA)、蚁群系统(AntColonySystem,ACS)等方法由于其简单高效的特点被广泛应用于FJSP问题。相比于ACS,GA不能充分利用大量的启发式信息,而在不同问题实例中,约束条件的侧重点有所不同,所以利用GA解决FJSP具有一定的局限性。ACS方法可以在解的构造过程中充分利用多种启发式信息,具有更广泛的适用性,但ACS方法存在收剑速度慢、易陷入局部最优的缺点。
技术实现思路
针对上述现有技术的不足,本专利技术提出一种基于多启发信息蚁群系统的柔性作业车间调度方法,本专利技术在蚁群系统中引入六种启发式信息,使算法在不同问题实例中均能取得理想性能,避免陷入局部最优,并且使用一种能够根据待解问题实例和当前搜索状态来自动选择启发式信息及其引导力控制参数的自适应策略,使整个蚁群的启发式信息设计向能产生优质解的当前最优设计收敛,提高收剑速度,提高算法优化效率,提高柔性作业车间调度效率。设N×M的FJSP问题为:有N个待加工的工件和M台可用机器,工件集合为{p1,p2,...,pN},机器集合为{m1,m2,...,mM},每个工件包含一道或多道工序,工件i(i=1,2,…,N)的ni道工序由集合opi={opi1,opi2,...,opini}表示。本专利技术的蚁群系统用一个含有M个序列的集合San来表示一个调度方案,即问题的一个解。其中,每个序列记录了那些将工序分配给机器k的结点,k=1,2,…,M。基于多启发信息蚁群系统的柔性作业车间调度方法的基本步骤为:S1建立析取图模型:析取图也称解的构造图,用来描述解的搜索空间,是一个有向连通图。除了两个分别表示起点(vbegin)和终点(vend)的虚拟结点之外,每个结点表示一道工序到一台机器的可行分配。如果用T表示所有可行分配的数目,则T值为:更具体地,除了vbegin和vend外,每个结点vs(1<=s<=T)包含了工件ps∈[1,N]、工序以及可以执行这个工序的某个机器ms,其中,所有结点(一共T+2个)通过有向边相连,边的指向满足工序间的顺序约束。S2初始化:初始化析取图中的信息素分布,即赋予每条有向边一个初始信息素值;并且为每只蚂蚁an初始化一个启发式信息档案Ian;启发式信息档案包括对启发式信息的选择方案yan和对两种引导力控制参数取值q0an和βan,即Ian={yan,q0an,βan}。S3构造FJSP的解集:每只蚂蚁都代表一个解集,一个合法的解集San由M个序列组成,第k(k=1,2,…,M)个序列记为表示所有分配给机器k的工序。S4信息素更新:每只蚂蚁每选择一个结点,利用局部信息素更新规则更新相应有向边上的信息素浓度;当所有蚂蚁都完成解的构造后,根据全局信息素更新规则更新所有有向边上的信息素浓度。S5启发式信息档案更新:每隔G次迭代进行一次启发式信息档案的更新。两次启发式信息档案更新间隔期间,每只蚂蚁构造的调度方案的工期将与该蚂蚁的启发式信息档案共同保存到一个外部档案F。自适应策略选择F中工期最短的λ%个元素的启发式信息档案进行统计,根据统计量对每只蚂蚁an的启发式信息档案进行更新。S6终止条件检查:当算法对蚂蚁所构造的解集的评估次数达到预先设定的最大次数时,终止算法并输出结果。进一步地,步骤S3中,一只蚂蚁的解集构造过程如下:S31初始化:初始化每个并构造一个候选解点列表L,其中包含所有工件的第一道工序,即opi1(i=1,2,…,N);S32为L中的每个结点vs,在中搜索这样一个结点vpre,使得将vs作为vpre的后继结点时,不会违反问题中的约束条件,将找到的第一个vpre结点称为vs的最优前继结点,这时,计算蚂蚁将vs加入解集的概率ps;S33利用伪随机过程从L中选择一个结点vs;S34将S33中选择出来的结点vs紧接着vpre插入到序列中,即将vs放在S32中找到的vpre后面,同时,vs的插入意味着工件ps的工序ops已被分配,所以在L中去掉所有关联于工序ops的结点,如果ops不是工件ps的最后一个工序,那么将所有有关工件ps的工序ops+1的结点加入到L中;S35如果L为空集,则解集构造完毕;否则返回S32。进一步地,步骤S4中,每只蚂蚁完成解构造过程后,将根据所构造的解执行局部信息素更新。在一个优选的实施例中,信息素被放置在关联于相同机器的结点之间的弧上。初始时,所有弧上的信息素被统一设置为τ0=(mk0)–1,其中mk0是通过最快操作优先的规则产生的解的完成时间。在解构造过程中,当一只蚂蚁将vs插入中的vpre之后时,一种局部信息素更新规则被用来更新弧(vpre,vs)上的信息素τpre→s。更具体地,信息素通过以下方式进行局部信息素更新:τpre→s=(1-ε)τpre→s+ετ0其中ε∈(0,1)是一个参数。当所有蚂蚁完成解构造过程后,执行下述全局信息素更新:其中ρ∈(0,1)是一个参数,mkbest是目前为止最优解Sbest的完成时间。进一步地,步骤S4中,蚂蚁的解构造过程同时受启发式信息与信息素的影响,对于析取图中的每一个结点vs,定义六种类型的启发式信息。其中,前三种类型是静态启发式信息,vs的启发式信息值在搜索过程一开始时被计算并从此保持不变。另外三种类型的启发式信息,vs的启发式信息值必须根据蚂蚁当前构造的部分解来计算。基于六种启发式信息,yan是一个六维的0/1向量,结点vs的启发式信息值计算如下:为使算法在不同问题实例上都能取得理想性能,本专利技术引入一个自适应策略,该策略根据过往的搜索本文档来自技高网
...

【技术保护点】
1.基于多启发信息蚁群系统的柔性作业车间调度方法,设N×M的FJSP问题为:有N个待加工的工件和M台可用机器,工件集合为{p1,p2,...,pN},机器集合为{m1,m2,...,mM},每个工件包含一道或多道工序,工件i的ni道工序由集合

【技术特征摘要】
1.基于多启发信息蚁群系统的柔性作业车间调度方法,设N×M的FJSP问题为:有N个待加工的工件和M台可用机器,工件集合为{p1,p2,...,pN},机器集合为{m1,m2,...,mM},每个工件包含一道或多道工序,工件i的ni道工序由集合表示,蚁群系统用一个含有M个序列的集合San来表示一个调度方案,即问题的一个解;其中,每个序列记录了那些将工序分配给机器k的结点,i=1,2,…,N,k=1,2,…,M,其特征在于,柔性作业车间调度方法包括以下步骤:S1建立析取图模型;S2初始化:初始化析取图中的信息素分布,即赋予每条有向边一个初始信息素值;并且为每只蚂蚁an初始化一个启发式信息档案Ian;S3构造FJSP的解集:每只蚂蚁都代表一个解集,一个合法的解集San由M个序列组成,第k个序列记为表示所有分配给机器k的工序;S4信息素更新:每只蚂蚁每选择一个结点,利用局部信息素更新规则更新相应有向边上的信息素浓度;当所有蚂蚁都完成解的构造后,根据全局信息素更新规则更新所有有向边上的信息素浓度;S5启发式信息档案更新:每隔G次迭代进行一次启发式信息档案的更新,两次启发式信息档案更新间隔期间,每只蚂蚁构造的调度方案的工期将与该蚂蚁的启发式信息档案共同保存到一个外部档案F;自适应策略选择F中工期最短的λ%个元素的启发式信息档案进行统计,根据统计量对每只蚂蚁an的启发式信息档案进行更新;S6终止条件检查:当算法对蚂蚁所构造的解集的评估次数达到预先设定的最大次数时,终止算法并输出结果。2.根据权利要求1所述的柔性作业车间调度方法,其特征在于,启发式信息档案Ian包括对启发式信息的选择方案yan和对两种引导力控制参数取值q0an和βan,即Ian={yan,q0an,βan}。3.根据权利要求2所述的柔性作业车间调度方法,其特征在于,对于析取图中的每一个结点vs,定义六种类型的启发式信息。4.根据权利要求3所述的柔性作业车间调度方法,其特征在于,结点vs的六种类型的启发式信息为:(1)基于工序完成时间的启发式信息:该启发式信息依据将一道工序分配给使用最少时间完成它的机器的思想定义,假设在机器mk上完成工序opij所花费的时间为则结点vs基于工序完成时间的启发信息值计算为:其中:代表所有可以执行工件ps中的工序ops的机器的集合;(2)基于工件剩余工序的启发式信息:该启发式信息依据优先选择具有较多剩余工序的工件的思想定义,结点vs基于工件剩余工序的启发信息值计算为:其中,ns是每个任务剩余工序的数量;(3)基于工件可用机器数目的启发式信息:该启发式信息依据优先选择可用机器较少的工序的思想定义,结点vs基于工件可用机器数目的启发信息值计算为:其中,代表所有可以执行工件ps中的工序ops的机器的集合,mij为第i个任务的第j个工序目前可用的机器数量;(4)基于开始时间的启发式信息:该启发式信息为了优先选择具有较早开始时间的工序而定义,给定一个结点vs,与之关联的工序ops的开始时间staTs确定为:其中:表示机器ms可用的时间,表示同一工件ps中上一道工序ops-1的完成时间,使用开始时间staTs,结点vs基于开始时间的启发信息值计算为:(5)基于工序完成时间的启发式信息:该启发式信息为了优先选择具有较早完成时间的工序,结点vs基于工序完成时间的启发信息值计算为:其中:exeTs等于staTs与的和,s...

【专利技术属性】
技术研发人员:张军詹志辉龚月姣林盈
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

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

1