一种基于模糊交货期流水生产排程的改进微粒群优化方法

文档序号:6264883阅读:350来源:国知局

专利名称::一种基于模糊交货期流水生产排程的改进微粒群优化方法
技术领域
:本发明属于信息与控制
技术领域
,涉及一种改进的微粒群优化算法。
背景技术
:随着市场竞争的日趋激烈,每个企业都在寻求较好的生产运作管理方式以提高企业的生产、经营和管理效率,从而提高企业的竞争力。而整个先进生产制造系统实现管理技术、优化技术、自动化与计算机技术发展的核心是生产排程问题。生产排程问题是研究工件在机器上的加工顺序、生产批量划分的问题,因此,它是与城市不对称情况下货郎担问题(TSP)难度相当的一类典型NP难题,其研究的范围具体包括车间作业调度问题、流水车间调度问题和柔性车间调度问题等。这些问题都具有复杂的不确定性、递阶结构、多目标、多约束、多资源相互协调的特点。因此,生产排程问题已经受到学术界和工业界的广泛关注,对它的研究不仅具有巨大的现实意义,而且具有重大的理论意义。微粒群算法(ParticleSwarmOptimization,PS0)由美国社会心理学家JamesKennedy和电器工程师RussellEberhart在1995年共同提出的一种新型的群体智能优化算法,它具有全局性能好、搜索效率高等优点。微粒群算法在进化过程中同时保留和利用位置与速度上的信息,在问题寻优过程中比其它优化算法具有更大的优势和可行性。因此,微粒群算法的问世为诸多领域解决复杂优化问题提供了有力的工具。但微粒群算法在实际优化过程中还会有陷入局部极值,不向最优解方向进化的情况,从而使整个运算呈现早熟现象。
发明内容本发明的目的是根据实际生产调度问题中普遍存在的不确定性因素,提供一种基于模糊交货期流水生产排程的改进微粒群优化方法。本发明方法针对模糊交货期流水型车间生产排程问题的需要,对关键路线上的工序块进行部分匹配交叉和变异操作,使用惩罚函数建立禁忌表并采用禁忌搜索策略改进了微粒群算法的优化求解效果。针对微粒算法容易出现停滞现象的难题,引入交换子和交换序的概念对微粒群算法的粒子位置和速度优化公式进行重构,而禁忌搜索算法的引入则帮助微粒群算法在局部区域搜索最优解。通过对具有模糊交货期的流水生产排程问题的仿真实验,证明了改进微粒群算法有利于获得全局性的解。本发明方法包括如下步骤步骤1.将粒子进行编码。x丨表示车间调度问题中的一个解,xf^lxl;,xtcxU,其中n表示粒子群中粒子具有的维数,X;;表示第i个粒子在进化中第k代的位置值,如果4=o表示在第k代粒子i(工件)不在第j台机器上加工,如果本0表示在第k代粒子i(工件)在第j台机器上加工;<二k,Vf2,…,表示第i个粒子在进化到第k代时的速度,k为迭代次数;微粒4个体经历的最好位置记为Pb6St,整个群体微粒经历的最好位置记为Gb6St。步骤2.确定工件完成期的目标函数。模糊交货期Flow-shop问题中工件的完工时间及总流程时间是模糊的。一组连续加工的n个工件称为一个连续工件集,Pu表示工件i在机器j上的模糊加工时间,屯表示工件i的交货期,C..J表示工件集的模糊完工时间,模糊交货期流水生产排程问题的目标函数就是使总的完工时间最短。其拖后时间和提前时间分别为TjCji^maxj^l^Cj,,—dj^OE/T指标可描述如下:MinE/Tmax=Max{3E[Cj,J+YT[C」,J}(3)其中0,Y为交货期提前完工和拖后完工的非负加权惩罚系数,对由n个连续工件集Bi,B2,…,Bn构成的调度方案,连续工件集民总的惩罚函数可以表示为Bn函数&(x)是一连续线性分段凸函数,每一段的斜率由连续工件集Bn中工件的提前/拖期惩罚系数决定。步骤3.重构微粒群算法位置和速度计算公式。交换子F0(a,,a》代表交换解S中机器a,和aT的排列顺序。一个或多个交换子FC^FOy…,有序队列就是交换序,记作FS=(FC^FOy…,F0n)。交换序作用于调度解上意味着交换序中所有交换子依次作用于该解上,即F'=F+FS=F+(F01,F02,...,F0n)=[(F+FO^+FOj+.-.+FO^若干个交换序可以合并成一个交换序集合。在交换序集合中,拥有最少交换子的交换序称为基本交换序,用操作符“”表示。将PS0算法的位置和速度计算公式重新构造(5)对公式(5)和(6)中个体微粒和种群微粒发现的局部交换序列Sjk,分别按照公式⑵计算惩罚函数Zj(x)的斜率来确定参数a,3的值。如果(1-a)值大,则(Pid-Xid)中保留的工序块就多,Pid对速度影响就大;如果(1-3)值大,(Pgd"Xid)中保留的工序多,则Pgd对速度影响较大。步骤4.对关键路线上的工序路径进行部分匹配交叉和变异操作。对于模糊交货期流水车间排程问题,采用部分匹配交叉PMX操作进行零件在机器上的加工顺序的排序。随机选取两个交叉点确定一个匹配段,根据两个父个体中两个交叉点之间的中间段给出的映射关系生成两个子个体。如对下面两个父个体&和P2,随机地选择两个交叉点“I”。{123|4567|89}P2{4521876|93}对两个交叉点之间的中间段交换,得到子个体和02{xxx|1876|xx}02{xxx|4567|xx}其中x表示暂未定义码,得到中间段的映射关系45—86——7,最后根据中间段的映射关系,对剩余个体进行变换。{4231876|59}02{182|4567|93}在原有PS0算法的基础上加入变异机制,采用单点和多点位置替换式变异,用另一种基因替换某一位置或某些位置上的基因,公式如下mut(xid)=xidX(l+uniform(u))(7)其中mut(xid)为变异后微粒的位置,imiformh)为均勻分布函数,对种群所有位置的分量进行均值长度为nXmXii的变异。变异的位置分量是随机抽取的。设种群xid={1234543}中,被选中变异的位置分量(1为2和3,得\2=3,\3=4,则变异后^={1243543}。通过这种方法找到关键路线上的工序路径的邻域集合是非常有效的。步骤5.建立禁忌表加强算法的优化效果。禁忌搜索最主要的特点是引入了记忆功能,禁忌表是用来存放T次搜索过程履历的记忆装置。令T={T^T2,…,Tub}为一个长度为Ltb的禁忌表,其中凡为被禁止的移动Ltb。初始的禁忌表是一个空表,即={0,0},一个移动v=(x,y)按下列方式加入到禁忌表T中把表T中的元素整个向左移动一步,因而处于表T中第一位置的元素被挤出,而被解除了禁忌状态,使第Ltb位置为空,然后把移动v以(y,X)的形式放入表T的第Ltb位置。v=(y,X)称为移动v=(x,y)的逆移动。一旦移动v=(x,y)被执行以后,它就被加入到禁忌表中,成为禁忌状态。此过程表示为T=Tv。在算法中禁忌表T被滚动循环使用,每一个新的移动v都被加到禁忌表T的最后位置。步骤6.禁忌搜索策略。设S为关键路线,V(s)为移动集,H(s)为邻域,C为到目前为止发现的最好目标值,即为该加工次序最后完工工件的最后一道加工工序加工结束时间。假定移动集合V(s)不为空,则可以把V(s)中移动分为三类不禁止移动(U);被禁止,但是有益的(FP);被禁止,但是无益的(Fn)。用数学式表示为不禁止移动U定义为V(s)/T,而禁忌的移动定义为V(s)nT。FP定义为D={vGV(s)nT:Cmax<C}。Fn定义为(V(s)nT)/Fp。显然,从U和FP中选移动是很自然的。在没有U移动集,也没有FP移动集的情况下,如果V(s)只包含单个移动,那么选择该移动。如果V(s)包含多个移动,那么选择的步骤处理为修改禁忌表重复T=TTLtb,直到V(s)/T兴0。其中Tub表示原禁忌表中处于第Ltb位置的元素,V(s)/T表示U移动集。设V、为所选择的移动,s—为更新的关键路线,为更新的禁忌表,Q(s,v)为初始的排序方案,Q(sW)为移动后的排序方案。步骤7.惯性权重的动态设定。惯性权重(W)是关系到微粒群算法收敛速度和搜索能力的重要参数,因此考虑将变量W根据搜索的情况动态改变权值大小。调整策略是通过将个体微粒适应值f(Xi)与群体当前最优的目标值f(GBk)比较,如果f(Xi)>f(GBk)则调整W为一个较小的值,算法进入局部搜索状态。如果f(Xi)<f(GBk),则调整W为一个较大的值,增加算法的搜索能力。通过计算微粒群的适应值,PBf表示第i个粒子进化到k代所经历的最好位置,GBk表示整个种群进化到k代所经历的最好位置。PBf、GBk可由公式(8)、(9)计算,当k=0时PBpx1。(9)惯性权重值在0<W<1范围内从大到小逐步调整其取值,从而使算法搜索空间由全局向局部的稳步过度。本发明针对微粒群算法优化过程中容易出现“早熟”现象,提出使用交换子和交换序的概念对微粒群算法的粒子位置和速度优化公式进行重构,禁忌搜索等方法提高微粒群算法跳出局部最优解的能力,增强了算法获得全局最优解的搜索能力。具体实施例方式一种基于生产排程的改进微粒群优化方法,包括如下步骤步骤1.将粒子进行编码。^表示车间调度问题中的一个解其中!!表示粒子群中粒子具有的维数,X;,表示第i个粒子在进化中第k代的位置值,如果表示在第k代粒子i(工件)不在第j台机器上加工,如果4*0表示在第k代粒子i(工件)在第j台机器上加工;Vfk,…,Vfnj表示第i个粒子在进化到第k代时的速度,k为迭代次数;微粒个体经历的最好位置记为Pb6St,整个群体微粒经历的最好位置记为Gb6St。步骤2.确定工件完成期的目标函数。模糊交货期Flow-shop问题中工件的完工时间及总流程时间是模糊的。一组连续加工的n个工件称为一个连续工件集,Pi,j表示工件i在机器j上的模糊加工时间,屯表示工件i的交货期,C..J表示工件集的模糊完工时间,模糊交货期流水生产排程问题的目标函数就是使总的完工时间最短。其拖后时间和提前时间分别为E/T指标可描述如下:其中0,Y为交货期提前完工和拖后完工的非负加权惩罚系数,对由n个连续工件集Bi,B2,…,Bn构成的调度方案,连续工件集民总的惩罚函数可以表示为函数Zj(x)是一连续线性分段凸函数,每一段的斜率由连续工件集Bn中工件的提前/拖期惩罚系数决定。步骤3.重构微粒群算法位置和速度计算公式。交换子F0(a,,a》代表交换解S中机器a,和aT的排列顺序。一个或多个交换子FC^FOy…,有序队列就是交换序,记作FS=(FC^FOy…,F0n)。交换序作用于调度解上意味着交换序中所有交换子依次作用于该解上,即F'=F+FS=F+(F01,F02,...,F0n)=[(F+FO^+FOj+.-.+FO^若干个交换序可以合并成一个交换序集合。在交换序集合中,拥有最少交换子的交换序称为基本交换序,用操作符“”表示。将PS0算法的位置和速度计算公式重新构造Vid(t+1)=Vid(t)(1-a)(Pid(t)-Xid(t))(1_3)(Pgd(t)_Xid(t))(5)Xid(t+1)=Xid(t)+Vid(t+1)(6)对公式(5)和(6)中个体微粒和种群微粒发现的局部交换序列Sjk,分别按照公式⑵计算惩罚函数Zj(x)的斜率来确定参数a,3的值。如果(1-a)值大,则(Pid-Xid)中保留的工序块就多,Pid对速度影响就大;如果(1-3)值大,(Pgd"Xid)中保留的工序多,则Pgd对速度影响较大。步骤4.对关键路线上的工序路径进行部分匹配交叉和变异操作。对于模糊交货期流水车间排程问题,采用部分匹配交叉PMX操作进行零件在机器上的加工顺序的排序。随机选取两个交叉点确定一个匹配段,根据两个父个体中两个交叉点之间的中间段给出的映射关系生成两个子个体。如对下面两个父个体&和P2,随机地选择两个交叉点“I”。{123|4567|89}P2{4521876|93}对两个交叉点之间的中间段交换,得到子个体和02{xxx|1876|xx}02{xxx|4567|xx}其中x表示暂未定义码,得到中间段的映射关系45—86——7,最后根据中间段的映射关系,对剩余个体进行变换。{4231876|59}02{182|4567|93}在原有PS0算法的基础上加入变异机制,采用单点和多点位置替换式变异,用另一种基因替换某一位置或某些位置上的基因,公式如下mut(xid)=xidX(l+uniform(u))(7)其中mut(xid)为变异后微粒的位置,imiformh)为均勻分布函数,对种群所有位置的分量进行均值长度为nXmXii的变异。变异的位置分量是随机抽取的。设种群xid={1234543}中,被选中变异的位置分量(1为2和3,得\2=3,\3=4,则变异后^={1243543}。通过这种方法找到关键路线上的工序路径的邻域集合是非常有效的。步骤5.建立禁忌表加强算法的优化效果。禁忌搜索最主要的特点是引入了记忆功能,禁忌表是用来存放T次搜索过程履历的记忆装置。令T={T^T2,…,Tub}为一个长度为Ltb的禁忌表,其中凡为被禁止的移动Ltb。初始的禁忌表是一个空表,即={0,0},一个移动v=(x,y)按下列方式加入到禁忌表T中把表T中的元素整个向左移动一步,因而处于表T中第一位置的元素被挤出,而被解除了禁忌状态,使第Ltb位置为空,然后把移动v以[二(y,x)的形式放入表T的第Ltb位置。v=(y,X)称为移动v=(x,y)的逆移动。一旦移动v=(x,y)被执行以后,它就被加入到禁忌表中,成为禁忌状态。此过程表示为T=Tv。在算法中禁忌表T被滚动循环使用,每一个新的移动v都被加到禁忌表T的最后位置。步骤6.禁忌搜索策略。设S为关键路线,V(s)为移动集,H(s)为邻域,C为到目前为止发现的最好目标值,即为该加工次序最后完工工件的最后一道加工工序加工结束时间。假定移动集合V(s)不为空,则可以把V(s)中移动分为三类不禁止移动(U);被禁止,但是有益的(FP);被禁止,但是无益的(Fn)。用数学式表示为不禁止移动U定义为V(s)/T,而禁忌的移动定义为V(s)nT。FP定义为D={vGV(s)nT:Cmax<C}。Fn定义为(V(s)nT)/Fp。显然,从U和FP中选移动是很自然的。在没有U移动集,也没有FP移动集的情况下,如果V(s)只包含单个移动,那么选择该移动。如果V(s)包含多个移动,那么选择的步骤处理为修改禁忌表重复T=TTLtb,直到V(s)/T兴0。其中Tub表示原禁忌表中处于第Ltb位置的元素,V(s)/T表示U移动集。设V、为所选择的移动,s—为更新的关键路线,为更新的禁忌表,Q(s,v)为初始的排序方案,Q(sW)为移动后的排序方案。步骤7.惯性权重的动态设定。惯性权重(W)是关系到微粒群算法收敛速度和搜索能力的重要参数,因此考虑将变量W根据搜索的情况动态改变权值大小。调整策略是通过将个体微粒适应值f(Xi)与群体当前最优的目标值f(GBk)比较,如果f(Xi)>f(GBk)则调整W为一个较小的值,算法进入局部搜索状态。如果f(Xi)<f(GBk),则调整W为一个较大的值,增加算法的搜索能力。通过计算微粒群的适应值,PBf表示第i个粒子进化到k代所经历的最好位置,GBk表示整个种群进化到k代所经历的最好位置。PBf、GBk可由公式(8)、(9)计算,当k=0时PBpx。惯性权重值在0<W<1范围内从大到小逐步调整其取值,从而使算法搜索空间由全局向局部的稳步过度。本发明提出改进的微粒群算法求解模糊交货期的流水车间排程问题,通过对关键路线上的工序块进行部分匹配交叉和变异操作,使用惩罚函数建立禁忌表并采用禁忌搜索策略改进微粒群算法的优化求解效果,提高了机器生产排程效率,降低了企业的生产成本。权利要求一种基于模糊交货期流水生产排程的改进微粒群优化方法,其特征在于该方法包括如下步骤步骤1.将粒子进行编码;表示车间调度问题中的一个解,其中n表示粒子群中粒子具有的维数,表示第i个粒子在进化中第k代的位置值,表示在第k代粒子i不在第j台机器上加工,表示在第k代粒子i在第j台机器上加工;表示第i个粒子进化到第k代时的速度,k为迭代次数;微粒个体经历的最好位置记为Pbest,整个群体微粒经历的最好位置记为Gbest;步骤2.确定工件完成期的目标函数;模糊交货期Flow-shop问题中工件的完工时间及总流程时间是模糊的,一组连续加工的n个工件称为一个连续工件集,pi,j表示工件i在机器j上的模糊加工时间,di表示工件i的交货期,Ci,j表示工件集的模糊完工时间,模糊交货期流水生产排程问题的目标函数就是使总的完工时间最短,<mrow><mi>Min</mi><msub><mi>C</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><msub><mi>C</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><msub><mi>C</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>+</mo><msub><mi>P</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>C</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mi>max</mi><mrow><mo>(</mo><msub><mi>C</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>C</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>P</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>其拖后时间和提前时间分别为<mrow><mi>T</mi><mrow><mo>[</mo><msub><mi>c</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>]</mo></mrow><mo>=</mo><mi>max</mi><mo>{</mo><mn>0</mn><mo>,</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>i</mi></munderover><msub><mi>c</mi><mrow><mi>j</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>-</mo><mi>d</mi><mo>}</mo><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mi>E</mi><mrow><mo>[</mo><msub><mi>c</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>]</mo></mrow><mo>=</mo><mi>max</mi><mo>{</mo><mn>0</mn><mo>,</mo><mi>d</mi><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>i</mi></munderover><msub><mi>c</mi><mrow><mi>j</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>}</mo><mo>&GreaterEqual;</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>E/T指标可描述如下MinE/Tmax=Max{βE[cj,i]+γT[cj,i]}(3)其中β,γ分别表示为交货期提前完工和拖后完工的惩罚非负加权系数,对由n个连续工件集B1,B2,…,Bn构成的调度方案,连续工件集Bn总的惩罚函数表示为<mrow><msub><mi>Z</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>Bn</mi></munderover><msub><mi>g</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>B</mi><mn>1</mn></mrow></munder><msub><mi>g</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>B</mi><mn>2</mn></mrow></munder><msub><mi>g</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><mi>Bn</mi></mrow></munder><msub><mi>g</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>函数Zi(x)是一连续线性分段凸函数,每一段的斜率由连续工件集Bn中工件的提前/拖期惩罚系数决定;步骤3.重构微粒群算法进化公式;交换子FO(αi,αJ)代表交换解S中机器αi和αJ的排列顺序,一个或多个交换子FO1,FO2,…,FOn的有序队列就是交换序,记作FS=(FO1,FO2,…,FOn),交换序作用于调度解上意味着交换序中所有交换子依次作用于该解上,即F′=F+FS=F+(FO1,FO2,…,FOn)=[(F+FO1)+FO2]+…+FOn,若干个交换序可以合并成一个交换序集合,在交换序集合中,拥有最少交换子的交换序称为基本交换序,用操作符“⊕”表示;将PSO算法的进化公式重新构造Vid(t+1)=ωVid(t)⊕(1-α)(Pid(t)-Xid(t))⊕(1-β)(Pgd(t)-Xid(t))(5)Xid(t+1)=Xid(t)+Vid(t+1)(6)对公式(5)和(6)中个体微粒和种群微粒发现的局部交换序列Sjk,分别按照公式(2)计算惩罚函数Zj(x)的斜率来确定参数α,β的值;如果(1-α)值大,则(Pid-Xid)中保留的工序块就多,Pid对速度影响就大;如果(1-β)值大,(Pgd-Xid)中保留的工序多,则Pgd对速度影响较大;步骤4.对关键路线上的工序路径进行部分匹配交叉和变异操作;对于模糊交货期流水车间排程问题,采用部分匹配交叉PMX操作进行零件在机器上的加工顺序的排序,随机选取两个交叉点确定一个匹配段,根据两个父个体中两个交叉点之间的中间段给出的映射关系生成两个子个体;步骤5.建立禁忌表加强算法的优化效果;禁忌表是用来存放T次搜索过程履历的记忆装置;令T={T1,T2,…,TLtb}为一个长度为Ltb的禁忌表,其中Ti为被禁止的移动1≤i≤Ltb;初始的禁忌表是一个空表,即Ti={0,0},一个移动v=(x,y)按下列方式加入到禁忌表T中把表T中的元素整个向左移动一步,因而处于表T中第一位置的元素被挤出,而被解除了禁忌状态,使第Ltb位置为空,然后把移动v以的形式放入表T的第Ltb位置;称为移动v=(x,y)的逆移动,一旦移动v=(x,y)被执行以后,它就被加入到禁忌表中,成为禁忌状态,此过程表示为T=T⊕v;在算法中禁忌表T被滚动循环使用,每一个新的移动v都被加到禁忌表T的最后位置;步骤6.邻域搜索策略;设S为关键路线,V(s)为移动集,H(s)为邻域,C为到目前为止发现的最好目标值,即为该加工次序最后完工工件的最后一道加工工序加工结束时间;假定移动集合V(s)不为空,则把V(s)中移动分为三类不禁止移动(U);被禁止,但是有益的(FP);被禁止,但是无益的(Fn),用数学式表示为不禁止移动U定义为V(s)/T,而禁忌的移动定义为V(s)∩T,FP定义为D={v∈V(s)∩TCmax<C},Fn定义为(V(s)∩T)/Fp;在没有U移动集,也没有FP移动集的情况下,如果V(s)只包含单个移动,那么选择该移动,如果V(s)包含多个移动,那么选择的步骤处理为修改禁忌表重复T=T⊕TLtb,直到V(s)/T≠θ,其中TLtb表示原禁忌表中处于第Ltb位置的元素,V(s)/T表示U移动集;设V`为所选择的移动,s`为更新的关键路线,T`为更新的禁忌表,Q(s,v)为初始的排序方案,Q(s`,v`)为移动后的排序方案;步骤7.惯性权重的动态设定;惯性权重W是关系到微粒群算法收敛速度和搜索能力的重要参数,因此考虑将变量W根据搜索的情况动态改变权值大小;调整策略是通过将个体微粒适应值f(xi)与群体当前最优的目标值f(GBk)比较,如果f(xi)>f(GBk)则调整W为一个较小的值,算法进入局部搜索状态;如果f(xi)<f(GBk),则调整W为一个较大的值,增加算法的搜索能力;通过计算微粒群的适应值,表示第i个粒子进化到k代所经历的最好位置,GBk表示整个种群进化到k代所经历的最好位置;GBk可由公式(8)、(9)计算,当k=0时<mrow><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><msubsup><mi>PB</mi><mi>i</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msubsup></mtd><mtd><mi>iff</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mi>i</mi><mi>k</mi></msubsup><mo>)</mo></mrow><mo>></mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>PB</mi><mi>i</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msubsup><mi>p</mi><mi>i</mi><mi>k</mi></msubsup></mtd><mtd><mi>Otherwise</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow><mrow><msup><mi>GB</mi><mi>k</mi></msup><mo>=</mo><mi>max</mi><mrow><mo>(</mo><msubsup><mi>PB</mi><mi>i</mi><mi>k</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mi>k</mi><mo>=</mo><mn>1,2</mn><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mi>n</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>惯性权重值在0<W≤1范围内从大到小逐步调整其取值,从而使算法搜索空间由全局向局部的稳步过度。FSA00000163728500011.tif,FSA00000163728500012.tif,FSA00000163728500013.tif,FSA00000163728500014.tif,FSA00000163728500015.tif,FSA00000163728500016.tif,FSA00000163728500021.tif,FSA00000163728500022.tif,FSA00000163728500031.tif,FSA00000163728500032.tif,FSA00000163728500033.tif全文摘要本发明涉及一种基于模糊交货期流水生产排程的改进微粒群优化方法。现有的算法最优解难以寻找,而且还会出现运算呈现早熟现象。本发明方法针对模糊交货期流水型车间生产排程问题的需要,使用惩罚函数对关键路线上的工序块进行邻域设计、建立禁忌表以及采用邻域搜索策略进而加强了改进微粒群算法的优化求解效果。针对微粒算法容易出现停滞现象的难题,引入交换子和交换序的概念对微粒群算法的粒子位置和速度优化公式进行重构,而禁忌搜索算法的引入则帮助微粒群算法在局部区域搜索最优解。通过对具有模糊交货期的流水生产排程问题的仿真实验,证明了改进微粒群优化方法有利于获得全局性的解。文档编号G05B13/02GK101859100SQ20101020403公开日2010年10月13日申请日期2010年6月18日优先权日2010年6月18日发明者张树人,李道国,柳毅申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1