專利名稱::一種基于模糊交貨期流水生產(chǎn)排程的改進(jìn)微粒群優(yōu)化方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于信息與控制
技術(shù)領(lǐng)域:
,涉及一種改進(jìn)的微粒群優(yōu)化算法。
背景技術(shù):
:隨著市場競爭的日趨激烈,每個(gè)企業(yè)都在尋求較好的生產(chǎn)運(yùn)作管理方式以提高企業(yè)的生產(chǎn)、經(jīng)營和管理效率,從而提高企業(yè)的競爭力。而整個(gè)先進(jìn)生產(chǎn)制造系統(tǒng)實(shí)現(xiàn)管理技術(shù)、優(yōu)化技術(shù)、自動化與計(jì)算機(jī)技術(shù)發(fā)展的核心是生產(chǎn)排程問題。生產(chǎn)排程問題是研究工件在機(jī)器上的加工順序、生產(chǎn)批量劃分的問題,因此,它是與城市不對稱情況下貨郎擔(dān)問題(TSP)難度相當(dāng)?shù)囊活惖湫蚇P難題,其研究的范圍具體包括車間作業(yè)調(diào)度問題、流水車間調(diào)度問題和柔性車間調(diào)度問題等。這些問題都具有復(fù)雜的不確定性、遞階結(jié)構(gòu)、多目標(biāo)、多約束、多資源相互協(xié)調(diào)的特點(diǎn)。因此,生產(chǎn)排程問題已經(jīng)受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,對它的研究不僅具有巨大的現(xiàn)實(shí)意義,而且具有重大的理論意義。微粒群算法(ParticleSwarmOptimization,PS0)由美國社會心理學(xué)家JamesKennedy和電器工程師RussellEberhart在1995年共同提出的一種新型的群體智能優(yōu)化算法,它具有全局性能好、搜索效率高等優(yōu)點(diǎn)。微粒群算法在進(jìn)化過程中同時(shí)保留和利用位置與速度上的信息,在問題尋優(yōu)過程中比其它優(yōu)化算法具有更大的優(yōu)勢和可行性。因此,微粒群算法的問世為諸多領(lǐng)域解決復(fù)雜優(yōu)化問題提供了有力的工具。但微粒群算法在實(shí)際優(yōu)化過程中還會有陷入局部極值,不向最優(yōu)解方向進(jìn)化的情況,從而使整個(gè)運(yùn)算呈現(xiàn)早熟現(xiàn)象。
發(fā)明內(nèi)容本發(fā)明的目的是根據(jù)實(shí)際生產(chǎn)調(diào)度問題中普遍存在的不確定性因素,提供一種基于模糊交貨期流水生產(chǎn)排程的改進(jìn)微粒群優(yōu)化方法。本發(fā)明方法針對模糊交貨期流水型車間生產(chǎn)排程問題的需要,對關(guān)鍵路線上的工序塊進(jìn)行部分匹配交叉和變異操作,使用懲罰函數(shù)建立禁忌表并采用禁忌搜索策略改進(jìn)了微粒群算法的優(yōu)化求解效果。針對微粒算法容易出現(xiàn)停滯現(xiàn)象的難題,引入交換子和交換序的概念對微粒群算法的粒子位置和速度優(yōu)化公式進(jìn)行重構(gòu),而禁忌搜索算法的引入則幫助微粒群算法在局部區(qū)域搜索最優(yōu)解。通過對具有模糊交貨期的流水生產(chǎn)排程問題的仿真實(shí)驗(yàn),證明了改進(jìn)微粒群算法有利于獲得全局性的解。本發(fā)明方法包括如下步驟步驟1.將粒子進(jìn)行編碼。x丨表示車間調(diào)度問題中的一個(gè)解,xf^lxl;,xtcxU,其中n表示粒子群中粒子具有的維數(shù),X;;表示第i個(gè)粒子在進(jìn)化中第k代的位置值,如果4=o表示在第k代粒子i(工件)不在第j臺機(jī)器上加工,如果本0表示在第k代粒子i(工件)在第j臺機(jī)器上加工;<二k,Vf2,…,表示第i個(gè)粒子在進(jìn)化到第k代時(shí)的速度,k為迭代次數(shù);微粒4個(gè)體經(jīng)歷的最好位置記為Pb6St,整個(gè)群體微粒經(jīng)歷的最好位置記為Gb6St。步驟2.確定工件完成期的目標(biāo)函數(shù)。模糊交貨期Flow-shop問題中工件的完工時(shí)間及總流程時(shí)間是模糊的。一組連續(xù)加工的n個(gè)工件稱為一個(gè)連續(xù)工件集,Pu表示工件i在機(jī)器j上的模糊加工時(shí)間,屯表示工件i的交貨期,C..J表示工件集的模糊完工時(shí)間,模糊交貨期流水生產(chǎn)排程問題的目標(biāo)函數(shù)就是使總的完工時(shí)間最短。其拖后時(shí)間和提前時(shí)間分別為TjCji^maxj^l^Cj,,—dj^OE/T指標(biāo)可描述如下:MinE/Tmax=Max{3E[Cj,J+YT[C」,J}(3)其中0,Y為交貨期提前完工和拖后完工的非負(fù)加權(quán)懲罰系數(shù),對由n個(gè)連續(xù)工件集Bi,B2,…,Bn構(gòu)成的調(diào)度方案,連續(xù)工件集民總的懲罰函數(shù)可以表示為Bn函數(shù)&(x)是一連續(xù)線性分段凸函數(shù),每一段的斜率由連續(xù)工件集Bn中工件的提前/拖期懲罰系數(shù)決定。步驟3.重構(gòu)微粒群算法位置和速度計(jì)算公式。交換子F0(a,,a》代表交換解S中機(jī)器a,和aT的排列順序。一個(gè)或多個(gè)交換子FC^FOy…,有序隊(duì)列就是交換序,記作FS=(FC^FOy…,F(xiàn)0n)。交換序作用于調(diào)度解上意味著交換序中所有交換子依次作用于該解上,即F'=F+FS=F+(F01,F02,...,F0n)=[(F+FO^+FOj+.-.+FO^若干個(gè)交換序可以合并成一個(gè)交換序集合。在交換序集合中,擁有最少交換子的交換序稱為基本交換序,用操作符“”表示。將PS0算法的位置和速度計(jì)算公式重新構(gòu)造(5)對公式(5)和(6)中個(gè)體微粒和種群微粒發(fā)現(xiàn)的局部交換序列Sjk,分別按照公式⑵計(jì)算懲罰函數(shù)Zj(x)的斜率來確定參數(shù)a,3的值。如果(1-a)值大,則(Pid-Xid)中保留的工序塊就多,Pid對速度影響就大;如果(1-3)值大,(Pgd"Xid)中保留的工序多,則Pgd對速度影響較大。步驟4.對關(guān)鍵路線上的工序路徑進(jìn)行部分匹配交叉和變異操作。對于模糊交貨期流水車間排程問題,采用部分匹配交叉PMX操作進(jìn)行零件在機(jī)器上的加工順序的排序。隨機(jī)選取兩個(gè)交叉點(diǎn)確定一個(gè)匹配段,根據(jù)兩個(gè)父個(gè)體中兩個(gè)交叉點(diǎn)之間的中間段給出的映射關(guān)系生成兩個(gè)子個(gè)體。如對下面兩個(gè)父個(gè)體&和P2,隨機(jī)地選擇兩個(gè)交叉點(diǎn)“I”。{123|4567|89}P2{4521876|93}對兩個(gè)交叉點(diǎn)之間的中間段交換,得到子個(gè)體和02{xxx|1876|xx}02{xxx|4567|xx}其中x表示暫未定義碼,得到中間段的映射關(guān)系45—86——7,最后根據(jù)中間段的映射關(guān)系,對剩余個(gè)體進(jìn)行變換。{4231876|59}02{182|4567|93}在原有PS0算法的基礎(chǔ)上加入變異機(jī)制,采用單點(diǎn)和多點(diǎn)位置替換式變異,用另一種基因替換某一位置或某些位置上的基因,公式如下mut(xid)=xidX(l+uniform(u))(7)其中mut(xid)為變異后微粒的位置,imiformh)為均勻分布函數(shù),對種群所有位置的分量進(jìn)行均值長度為nXmXii的變異。變異的位置分量是隨機(jī)抽取的。設(shè)種群xid={1234543}中,被選中變異的位置分量(1為2和3,得\2=3,\3=4,則變異后^={1243543}。通過這種方法找到關(guān)鍵路線上的工序路徑的鄰域集合是非常有效的。步驟5.建立禁忌表加強(qiáng)算法的優(yōu)化效果。禁忌搜索最主要的特點(diǎn)是引入了記憶功能,禁忌表是用來存放T次搜索過程履歷的記憶裝置。令T={T^T2,…,Tub}為一個(gè)長度為Ltb的禁忌表,其中凡為被禁止的移動Ltb。初始的禁忌表是一個(gè)空表,即={0,0},一個(gè)移動v=(x,y)按下列方式加入到禁忌表T中把表T中的元素整個(gè)向左移動一步,因而處于表T中第一位置的元素被擠出,而被解除了禁忌狀態(tài),使第Ltb位置為空,然后把移動v以(y,X)的形式放入表T的第Ltb位置。v=(y,X)稱為移動v=(x,y)的逆移動。一旦移動v=(x,y)被執(zhí)行以后,它就被加入到禁忌表中,成為禁忌狀態(tài)。此過程表示為T=Tv。在算法中禁忌表T被滾動循環(huán)使用,每一個(gè)新的移動v都被加到禁忌表T的最后位置。步驟6.禁忌搜索策略。設(shè)S為關(guān)鍵路線,V(s)為移動集,H(s)為鄰域,C為到目前為止發(fā)現(xiàn)的最好目標(biāo)值,即為該加工次序最后完工工件的最后一道加工工序加工結(jié)束時(shí)間。假定移動集合V(s)不為空,則可以把V(s)中移動分為三類不禁止移動(U);被禁止,但是有益的(FP);被禁止,但是無益的(Fn)。用數(shù)學(xué)式表示為不禁止移動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)只包含單個(gè)移動,那么選擇該移動。如果V(s)包含多個(gè)移動,那么選擇的步驟處理為修改禁忌表重復(fù)T=TTLtb,直到V(s)/T興0。其中Tub表示原禁忌表中處于第Ltb位置的元素,V(s)/T表示U移動集。設(shè)V、為所選擇的移動,s—為更新的關(guān)鍵路線,為更新的禁忌表,Q(s,v)為初始的排序方案,Q(sW)為移動后的排序方案。步驟7.慣性權(quán)重的動態(tài)設(shè)定。慣性權(quán)重(W)是關(guān)系到微粒群算法收斂速度和搜索能力的重要參數(shù),因此考慮將變量W根據(jù)搜索的情況動態(tài)改變權(quán)值大小。調(diào)整策略是通過將個(gè)體微粒適應(yīng)值f(Xi)與群體當(dāng)前最優(yōu)的目標(biāo)值f(GBk)比較,如果f(Xi)>f(GBk)則調(diào)整W為一個(gè)較小的值,算法進(jìn)入局部搜索狀態(tài)。如果f(Xi)<f(GBk),則調(diào)整W為一個(gè)較大的值,增加算法的搜索能力。通過計(jì)算微粒群的適應(yīng)值,PBf表示第i個(gè)粒子進(jìn)化到k代所經(jīng)歷的最好位置,GBk表示整個(gè)種群進(jìn)化到k代所經(jīng)歷的最好位置。PBf、GBk可由公式(8)、(9)計(jì)算,當(dāng)k=0時(shí)PBpx1。(9)慣性權(quán)重值在0<W<1范圍內(nèi)從大到小逐步調(diào)整其取值,從而使算法搜索空間由全局向局部的穩(wěn)步過度。本發(fā)明針對微粒群算法優(yōu)化過程中容易出現(xiàn)“早熟”現(xiàn)象,提出使用交換子和交換序的概念對微粒群算法的粒子位置和速度優(yōu)化公式進(jìn)行重構(gòu),禁忌搜索等方法提高微粒群算法跳出局部最優(yōu)解的能力,增強(qiáng)了算法獲得全局最優(yōu)解的搜索能力。具體實(shí)施例方式一種基于生產(chǎn)排程的改進(jìn)微粒群優(yōu)化方法,包括如下步驟步驟1.將粒子進(jìn)行編碼。^表示車間調(diào)度問題中的一個(gè)解其中!!表示粒子群中粒子具有的維數(shù),X;,表示第i個(gè)粒子在進(jìn)化中第k代的位置值,如果表示在第k代粒子i(工件)不在第j臺機(jī)器上加工,如果4*0表示在第k代粒子i(工件)在第j臺機(jī)器上加工;Vfk,…,Vfnj表示第i個(gè)粒子在進(jìn)化到第k代時(shí)的速度,k為迭代次數(shù);微粒個(gè)體經(jīng)歷的最好位置記為Pb6St,整個(gè)群體微粒經(jīng)歷的最好位置記為Gb6St。步驟2.確定工件完成期的目標(biāo)函數(shù)。模糊交貨期Flow-shop問題中工件的完工時(shí)間及總流程時(shí)間是模糊的。一組連續(xù)加工的n個(gè)工件稱為一個(gè)連續(xù)工件集,Pi,j表示工件i在機(jī)器j上的模糊加工時(shí)間,屯表示工件i的交貨期,C..J表示工件集的模糊完工時(shí)間,模糊交貨期流水生產(chǎn)排程問題的目標(biāo)函數(shù)就是使總的完工時(shí)間最短。其拖后時(shí)間和提前時(shí)間分別為E/T指標(biāo)可描述如下:其中0,Y為交貨期提前完工和拖后完工的非負(fù)加權(quán)懲罰系數(shù),對由n個(gè)連續(xù)工件集Bi,B2,…,Bn構(gòu)成的調(diào)度方案,連續(xù)工件集民總的懲罰函數(shù)可以表示為函數(shù)Zj(x)是一連續(xù)線性分段凸函數(shù),每一段的斜率由連續(xù)工件集Bn中工件的提前/拖期懲罰系數(shù)決定。步驟3.重構(gòu)微粒群算法位置和速度計(jì)算公式。交換子F0(a,,a》代表交換解S中機(jī)器a,和aT的排列順序。一個(gè)或多個(gè)交換子FC^FOy…,有序隊(duì)列就是交換序,記作FS=(FC^FOy…,F(xiàn)0n)。交換序作用于調(diào)度解上意味著交換序中所有交換子依次作用于該解上,即F'=F+FS=F+(F01,F02,...,F0n)=[(F+FO^+FOj+.-.+FO^若干個(gè)交換序可以合并成一個(gè)交換序集合。在交換序集合中,擁有最少交換子的交換序稱為基本交換序,用操作符“”表示。將PS0算法的位置和速度計(jì)算公式重新構(gòu)造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)中個(gè)體微粒和種群微粒發(fā)現(xiàn)的局部交換序列Sjk,分別按照公式⑵計(jì)算懲罰函數(shù)Zj(x)的斜率來確定參數(shù)a,3的值。如果(1-a)值大,則(Pid-Xid)中保留的工序塊就多,Pid對速度影響就大;如果(1-3)值大,(Pgd"Xid)中保留的工序多,則Pgd對速度影響較大。步驟4.對關(guān)鍵路線上的工序路徑進(jìn)行部分匹配交叉和變異操作。對于模糊交貨期流水車間排程問題,采用部分匹配交叉PMX操作進(jìn)行零件在機(jī)器上的加工順序的排序。隨機(jī)選取兩個(gè)交叉點(diǎn)確定一個(gè)匹配段,根據(jù)兩個(gè)父個(gè)體中兩個(gè)交叉點(diǎn)之間的中間段給出的映射關(guān)系生成兩個(gè)子個(gè)體。如對下面兩個(gè)父個(gè)體&和P2,隨機(jī)地選擇兩個(gè)交叉點(diǎn)“I”。{123|4567|89}P2{4521876|93}對兩個(gè)交叉點(diǎn)之間的中間段交換,得到子個(gè)體和02{xxx|1876|xx}02{xxx|4567|xx}其中x表示暫未定義碼,得到中間段的映射關(guān)系45—86——7,最后根據(jù)中間段的映射關(guān)系,對剩余個(gè)體進(jìn)行變換。{4231876|59}02{182|4567|93}在原有PS0算法的基礎(chǔ)上加入變異機(jī)制,采用單點(diǎn)和多點(diǎn)位置替換式變異,用另一種基因替換某一位置或某些位置上的基因,公式如下mut(xid)=xidX(l+uniform(u))(7)其中mut(xid)為變異后微粒的位置,imiformh)為均勻分布函數(shù),對種群所有位置的分量進(jìn)行均值長度為nXmXii的變異。變異的位置分量是隨機(jī)抽取的。設(shè)種群xid={1234543}中,被選中變異的位置分量(1為2和3,得\2=3,\3=4,則變異后^={1243543}。通過這種方法找到關(guān)鍵路線上的工序路徑的鄰域集合是非常有效的。步驟5.建立禁忌表加強(qiáng)算法的優(yōu)化效果。禁忌搜索最主要的特點(diǎn)是引入了記憶功能,禁忌表是用來存放T次搜索過程履歷的記憶裝置。令T={T^T2,…,Tub}為一個(gè)長度為Ltb的禁忌表,其中凡為被禁止的移動Ltb。初始的禁忌表是一個(gè)空表,即={0,0},一個(gè)移動v=(x,y)按下列方式加入到禁忌表T中把表T中的元素整個(gè)向左移動一步,因而處于表T中第一位置的元素被擠出,而被解除了禁忌狀態(tài),使第Ltb位置為空,然后把移動v以[二(y,x)的形式放入表T的第Ltb位置。v=(y,X)稱為移動v=(x,y)的逆移動。一旦移動v=(x,y)被執(zhí)行以后,它就被加入到禁忌表中,成為禁忌狀態(tài)。此過程表示為T=Tv。在算法中禁忌表T被滾動循環(huán)使用,每一個(gè)新的移動v都被加到禁忌表T的最后位置。步驟6.禁忌搜索策略。設(shè)S為關(guān)鍵路線,V(s)為移動集,H(s)為鄰域,C為到目前為止發(fā)現(xiàn)的最好目標(biāo)值,即為該加工次序最后完工工件的最后一道加工工序加工結(jié)束時(shí)間。假定移動集合V(s)不為空,則可以把V(s)中移動分為三類不禁止移動(U);被禁止,但是有益的(FP);被禁止,但是無益的(Fn)。用數(shù)學(xué)式表示為不禁止移動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)只包含單個(gè)移動,那么選擇該移動。如果V(s)包含多個(gè)移動,那么選擇的步驟處理為修改禁忌表重復(fù)T=TTLtb,直到V(s)/T興0。其中Tub表示原禁忌表中處于第Ltb位置的元素,V(s)/T表示U移動集。設(shè)V、為所選擇的移動,s—為更新的關(guān)鍵路線,為更新的禁忌表,Q(s,v)為初始的排序方案,Q(sW)為移動后的排序方案。步驟7.慣性權(quán)重的動態(tài)設(shè)定。慣性權(quán)重(W)是關(guān)系到微粒群算法收斂速度和搜索能力的重要參數(shù),因此考慮將變量W根據(jù)搜索的情況動態(tài)改變權(quán)值大小。調(diào)整策略是通過將個(gè)體微粒適應(yīng)值f(Xi)與群體當(dāng)前最優(yōu)的目標(biāo)值f(GBk)比較,如果f(Xi)>f(GBk)則調(diào)整W為一個(gè)較小的值,算法進(jìn)入局部搜索狀態(tài)。如果f(Xi)<f(GBk),則調(diào)整W為一個(gè)較大的值,增加算法的搜索能力。通過計(jì)算微粒群的適應(yīng)值,PBf表示第i個(gè)粒子進(jìn)化到k代所經(jīng)歷的最好位置,GBk表示整個(gè)種群進(jìn)化到k代所經(jīng)歷的最好位置。PBf、GBk可由公式(8)、(9)計(jì)算,當(dāng)k=0時(shí)PBpx。慣性權(quán)重值在0<W<1范圍內(nèi)從大到小逐步調(diào)整其取值,從而使算法搜索空間由全局向局部的穩(wěn)步過度。本發(fā)明提出改進(jìn)的微粒群算法求解模糊交貨期的流水車間排程問題,通過對關(guān)鍵路線上的工序塊進(jìn)行部分匹配交叉和變異操作,使用懲罰函數(shù)建立禁忌表并采用禁忌搜索策略改進(jìn)微粒群算法的優(yōu)化求解效果,提高了機(jī)器生產(chǎn)排程效率,降低了企業(yè)的生產(chǎn)成本。權(quán)利要求一種基于模糊交貨期流水生產(chǎn)排程的改進(jìn)微粒群優(yōu)化方法,其特征在于該方法包括如下步驟步驟1.將粒子進(jìn)行編碼;表示車間調(diào)度問題中的一個(gè)解,其中n表示粒子群中粒子具有的維數(shù),表示第i個(gè)粒子在進(jìn)化中第k代的位置值,表示在第k代粒子i不在第j臺機(jī)器上加工,表示在第k代粒子i在第j臺機(jī)器上加工;表示第i個(gè)粒子進(jìn)化到第k代時(shí)的速度,k為迭代次數(shù);微粒個(gè)體經(jīng)歷的最好位置記為Pbest,整個(gè)群體微粒經(jīng)歷的最好位置記為Gbest;步驟2.確定工件完成期的目標(biāo)函數(shù);模糊交貨期Flow-shop問題中工件的完工時(shí)間及總流程時(shí)間是模糊的,一組連續(xù)加工的n個(gè)工件稱為一個(gè)連續(xù)工件集,pi,j表示工件i在機(jī)器j上的模糊加工時(shí)間,di表示工件i的交貨期,Ci,j表示工件集的模糊完工時(shí)間,模糊交貨期流水生產(chǎn)排程問題的目標(biāo)函數(shù)就是使總的完工時(shí)間最短,<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>其拖后時(shí)間和提前時(shí)間分別為<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>Σ</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>≥</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>Σ</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>≥</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>E/T指標(biāo)可描述如下MinE/Tmax=Max{βE[cj,i]+γT[cj,i]}(3)其中β,γ分別表示為交貨期提前完工和拖后完工的懲罰非負(fù)加權(quán)系數(shù),對由n個(gè)連續(xù)工件集B1,B2,…,Bn構(gòu)成的調(diào)度方案,連續(xù)工件集Bn總的懲罰函數(shù)表示為<mrow><msub><mi>Z</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>Σ</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>Σ</mi><mrow><mi>j</mi><mo>∈</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>Σ</mi><mrow><mi>j</mi><mo>∈</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>Σ</mi><mrow><mi>j</mi><mo>∈</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>函數(shù)Zi(x)是一連續(xù)線性分段凸函數(shù),每一段的斜率由連續(xù)工件集Bn中工件的提前/拖期懲罰系數(shù)決定;步驟3.重構(gòu)微粒群算法進(jìn)化公式;交換子FO(αi,αJ)代表交換解S中機(jī)器αi和αJ的排列順序,一個(gè)或多個(gè)交換子FO1,F(xiàn)O2,…,F(xiàn)On的有序隊(duì)列就是交換序,記作FS=(FO1,F(xiàn)O2,…,F(xiàn)On),交換序作用于調(diào)度解上意味著交換序中所有交換子依次作用于該解上,即F′=F+FS=F+(FO1,F(xiàn)O2,…,F(xiàn)On)=[(F+FO1)+FO2]+…+FOn,若干個(gè)交換序可以合并成一個(gè)交換序集合,在交換序集合中,擁有最少交換子的交換序稱為基本交換序,用操作符“⊕”表示;將PSO算法的進(jìn)化公式重新構(gòu)造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)中個(gè)體微粒和種群微粒發(fā)現(xiàn)的局部交換序列Sjk,分別按照公式(2)計(jì)算懲罰函數(shù)Zj(x)的斜率來確定參數(shù)α,β的值;如果(1-α)值大,則(Pid-Xid)中保留的工序塊就多,Pid對速度影響就大;如果(1-β)值大,(Pgd-Xid)中保留的工序多,則Pgd對速度影響較大;步驟4.對關(guān)鍵路線上的工序路徑進(jìn)行部分匹配交叉和變異操作;對于模糊交貨期流水車間排程問題,采用部分匹配交叉PMX操作進(jìn)行零件在機(jī)器上的加工順序的排序,隨機(jī)選取兩個(gè)交叉點(diǎn)確定一個(gè)匹配段,根據(jù)兩個(gè)父個(gè)體中兩個(gè)交叉點(diǎn)之間的中間段給出的映射關(guān)系生成兩個(gè)子個(gè)體;步驟5.建立禁忌表加強(qiáng)算法的優(yōu)化效果;禁忌表是用來存放T次搜索過程履歷的記憶裝置;令T={T1,T2,…,TLtb}為一個(gè)長度為Ltb的禁忌表,其中Ti為被禁止的移動1≤i≤Ltb;初始的禁忌表是一個(gè)空表,即Ti={0,0},一個(gè)移動v=(x,y)按下列方式加入到禁忌表T中把表T中的元素整個(gè)向左移動一步,因而處于表T中第一位置的元素被擠出,而被解除了禁忌狀態(tài),使第Ltb位置為空,然后把移動v以的形式放入表T的第Ltb位置;稱為移動v=(x,y)的逆移動,一旦移動v=(x,y)被執(zhí)行以后,它就被加入到禁忌表中,成為禁忌狀態(tài),此過程表示為T=T⊕v;在算法中禁忌表T被滾動循環(huán)使用,每一個(gè)新的移動v都被加到禁忌表T的最后位置;步驟6.鄰域搜索策略;設(shè)S為關(guān)鍵路線,V(s)為移動集,H(s)為鄰域,C為到目前為止發(fā)現(xiàn)的最好目標(biāo)值,即為該加工次序最后完工工件的最后一道加工工序加工結(jié)束時(shí)間;假定移動集合V(s)不為空,則把V(s)中移動分為三類不禁止移動(U);被禁止,但是有益的(FP);被禁止,但是無益的(Fn),用數(shù)學(xué)式表示為不禁止移動U定義為V(s)/T,而禁忌的移動定義為V(s)∩T,F(xiàn)P定義為D={v∈V(s)∩TCmax<C},F(xiàn)n定義為(V(s)∩T)/Fp;在沒有U移動集,也沒有FP移動集的情況下,如果V(s)只包含單個(gè)移動,那么選擇該移動,如果V(s)包含多個(gè)移動,那么選擇的步驟處理為修改禁忌表重復(fù)T=T⊕TLtb,直到V(s)/T≠θ,其中TLtb表示原禁忌表中處于第Ltb位置的元素,V(s)/T表示U移動集;設(shè)V`為所選擇的移動,s`為更新的關(guān)鍵路線,T`為更新的禁忌表,Q(s,v)為初始的排序方案,Q(s`,v`)為移動后的排序方案;步驟7.慣性權(quán)重的動態(tài)設(shè)定;慣性權(quán)重W是關(guān)系到微粒群算法收斂速度和搜索能力的重要參數(shù),因此考慮將變量W根據(jù)搜索的情況動態(tài)改變權(quán)值大?。徽{(diào)整策略是通過將個(gè)體微粒適應(yīng)值f(xi)與群體當(dāng)前最優(yōu)的目標(biāo)值f(GBk)比較,如果f(xi)>f(GBk)則調(diào)整W為一個(gè)較小的值,算法進(jìn)入局部搜索狀態(tài);如果f(xi)<f(GBk),則調(diào)整W為一個(gè)較大的值,增加算法的搜索能力;通過計(jì)算微粒群的適應(yīng)值,表示第i個(gè)粒子進(jìn)化到k代所經(jīng)歷的最好位置,GBk表示整個(gè)種群進(jìn)化到k代所經(jīng)歷的最好位置;GBk可由公式(8)、(9)計(jì)算,當(dāng)k=0時(shí)<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>·</mo><mo>·</mo><mo>·</mo><mo>,</mo><mi>n</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>慣性權(quán)重值在0<W≤1范圍內(nèi)從大到小逐步調(diào)整其取值,從而使算法搜索空間由全局向局部的穩(wěn)步過度。FSA00000163728500011.tif,FSA00000163728500012.tif,FSA00000163728500013.tif,FSA00000163728500014.tif,FSA00000163728500015.tif,FSA00000163728500016.tif,FSA00000163728500021.tif,FSA00000163728500022.tif,FSA00000163728500031.tif,FSA00000163728500032.tif,FSA00000163728500033.tif全文摘要本發(fā)明涉及一種基于模糊交貨期流水生產(chǎn)排程的改進(jìn)微粒群優(yōu)化方法。現(xiàn)有的算法最優(yōu)解難以尋找,而且還會出現(xiàn)運(yùn)算呈現(xiàn)早熟現(xiàn)象。本發(fā)明方法針對模糊交貨期流水型車間生產(chǎn)排程問題的需要,使用懲罰函數(shù)對關(guān)鍵路線上的工序塊進(jìn)行鄰域設(shè)計(jì)、建立禁忌表以及采用鄰域搜索策略進(jìn)而加強(qiáng)了改進(jìn)微粒群算法的優(yōu)化求解效果。針對微粒算法容易出現(xiàn)停滯現(xiàn)象的難題,引入交換子和交換序的概念對微粒群算法的粒子位置和速度優(yōu)化公式進(jìn)行重構(gòu),而禁忌搜索算法的引入則幫助微粒群算法在局部區(qū)域搜索最優(yōu)解。通過對具有模糊交貨期的流水生產(chǎn)排程問題的仿真實(shí)驗(yàn),證明了改進(jìn)微粒群優(yōu)化方法有利于獲得全局性的解。文檔編號G05B13/02GK101859100SQ20101020403公開日2010年10月13日申請日期2010年6月18日優(yōu)先權(quán)日2010年6月18日發(fā)明者張樹人,李道國,柳毅申請人:杭州電子科技大學(xué)