一種基于改進粒子群優化的運輸和生產協同調度方法
【專利摘要】本發明公開了一種基于改進粒子群優化的運輸和生產協同調度方法,其特征是按如下步驟進行:1將工件進行組批;2設定算法參數;3產生初始種群;4計算適應度值;5判斷終止條件是否滿足,如果滿足則輸出全局最優解,否則繼續;6更新局部最優解和全局最優解;7更新粒子位置和速度;8對各粒子進行交叉操作;9對各粒子進行移民操作;10調整粒子位置,返回步驟4。本發明能實現企業總體經濟效益的優化,從而能降低企業成本,提升企業的服務水平。
【專利說明】
-種基于改進粒子群優化的運輸和生產協同調度方法
技術領域
[0001] 本發明屬于供應鏈領域,具體地說是一種基于改進粒子群優化的運輸和生產協同 調度方法,用于企業的生產調度管理中。
【背景技術】
[0002] 在當前市場環境下,制造型企業的核屯、競爭力不再是簡單的制造能力,而是供應 鏈協作能力。市場競爭的加劇,使企業之間的合作越來越密切。為了將技術、資源等集中在 生產的關鍵環節,企業往往將某些工序外包給多個制造商。不同的制造商往往位于不同的 地理位置,運就導致了企業和不同制造商之間存在不同的運輸時間。企業只有與其他制造 企業一起協同將運輸、生產等環節進行全局控制,進一步將生產系統和物流運輸系統進行 聯合優化,才能最大限度滿足客戶產品的及時供給,從而獲得總體經濟效益的最大化,提升 企業的競爭能力。
[0003] 協同調度是一類面向供應鏈的優化方法,采用精確調度的方式,設計供應鏈上各 環節的協同調度方案,實現企業總體經濟效益的優化,從而提升企業的服務水平。
[0004] 目前,對協同調度問題的研究主要集中在傳統生產模式下,在運類生產模式中,一 臺設備可W同時處理一個作業或者一批固定數量的作業,但往往沒有考慮到多個制造商分 布在不同地理位置的情況。在現實工業中,運類生產模式是存在的。而傳統的調度方法往往 將運輸時間忽略或者抽象為相同的,因此并不能適應當下的生產需求。
【發明內容】
[0005] 本發明是為了克服現有技術存在的不足之處,提供一種基于粒子群優化的生產配 送協同調度方法,W期能實現總體經濟效益的最優化,從而能降低生產成本,提升工作效 率。
[0006] 本發明為解決技術問題采用如下技術方案:
[0007] 本發明一種基于改進粒子群優化的運輸和生產協同調度方法的特點是,將處于工 件集合處的n個工件進行分批處理后,通過運輸車輛送達到m臺設備處進行生產加工;所述n 個工件構成的工件集合記為J= {Ji,J2,…,Jj,…,Jn},Jj表示第j個工件,1《j《n;將第j個 工件Jj的尺寸記為Sj、加工時間記為Pj;所述m臺設備記為M= {Ml,M2,…,Mi,…,Mm},Mi表示第 i臺設備,將第i臺設備Mi加工工件的速度記為Vi,將從所述工件集合處到達第i臺 設備Mi的運輸時間記為ti;將運輸車輛的容積和加工工件設備的容積均記為C;
[000引所述運輸和生產協同調度方法是按如下步驟進行:
[0009] 步驟1、將所述工件集合J中的工件按加工時間非增的順序進行排序,若加工時間 相同則按工件尺寸非增的順序進行排序,從而獲得排序后的工件集合r;
[0010] 步驟2、將所述排序后的工件集合r中的第1個未分配的工件放入能容納所述第1 個未分配工件的尺寸且剩余空間最小的批中,批的剩余空間為容積C與放入相應批中所有 工件尺寸之和的差值;若批的剩余空間中不能容納第1個未分配工件的尺寸,則生成容積為 C的新批,并將第I個未分配的工件加入新批中,直至所述工件集合r中的所有工件都分配 到相應的批中;
[0011]步驟3、將步驟帥得到的所有批按批處理時間非增序排列,得到批處理集合B = Ibi,b2,…,bq,…,bi},bq表示第q個批,將第q個批的加工時間記為P W,第q個批bq的加工時 間pW是由第q個批bq中加工時間最長的工件決定;批次總數記為1
I表 示不小于X的最小整數;
[0012]步驟4、初始化粒子群算法的各個參數,包括:粒子總數N、迭代次數U最大迭代次 數Lmax、交叉概率P。謝Pe2, l《L《Lmax;并初始化L = 1 ;
[oou]步驟5、產生初始種群,獲得第L代的第k個粒子的初始位置乂 "=站世,....瑣,…,.機 和初始速度皆)=姐>,哄,…,祇,…,皆},誠哺游分別表示第L代中第k個粒子在第d維捜 索空間上的位置和速度,其中,
[0014] 步驟6、計算第L代中第k個粒子的適應度if >,從而獲得第L代中第k個粒子的局部 最優解卻?(邊>,說),…,祐巧,其中,說嗦示第L代中第k個粒子在第d維捜索空間 上的最優位置;
[0015] 步驟7、重復步驟6,獲得第L代中N個綺子的局部最優解,并從中洗m最大適應度值 對應的最優解作為第L代的全局最優解,記為
,其中Pi?表示 第L代中整個粒子群體在第d維捜索空間上的最優位置;
[0016] 步驟8、根據第L代中第k個粒子的位置Afi和速度Pf i:,分別計算第L+1代的第k個 粒子的位置乂f+"和速度從而獲得第L+1代粒子群中N個粒子的位置和速度;
[0017] 步驟9、調整所述第L+1代粒子群中N個粒子的位置,從而獲得調整后的第L+1代的N 個粒子的位置;
[0018] 步驟10、計算第L+1代粒子群中第k個粒子的適應度巧并與第L代中第k個 粒子的適應度if >進行比較,將較大適應度值對應的粒子位置作為第L+1代中第k個粒子的 最優解/f ;
[0019] 步驟11、重復步驟10,從而獲得第L+1代中N粒子的最優解并從中選出最大適應度 值對應的最優解作為第L+1代的全局最優解Pf "1;
[0020] 步驟12、將L+1賦值給L,判斷L<Lmax是否成立,若成立,則執行步驟8;否則,表示完 成Lmax次迭代,并獲得全局最優解W全局最優解所對應的調度方案作為最優調 度方案。
[0021] 本發明所述的基于粒子群優化的生產調度方法的特點也在于,
[0022] 所述步驟5創建初始種群的過程中,N-I個粒子是通過隨機方式產生,剩下的一個 粒子是按如下步驟產生:
[002引步驟5.1、令^內表示第i臺設備Mi上第q個批bq的完工時間,n康示第i臺設備Mi上 加工的批的數量,Ai為第i臺設備Mi的空閑時間;初始化G, [i] = O、ni = I、q = I、Ai = 0;
[0024]步驟5.2、判斷q>l是否成立,若成立,則表示生成一個粒子;否則,執行步驟5.3; [002引步驟5.3、利用式(1)獲得第q個批bq在第i臺設備上的完工時間W,從而獲得第q 個批bq在m臺設備上的完工時間:
[0026]
(I)
[0027] 式(1)中,max{x,y}表示取X和y中的較大者;
[0028] 步驟5.4、從第q個批bq在m臺設備上的完工時間中選擇最小完工時間所對應的設 備,記為設備min,將第q個批次bq運輸到設備min上進行加工;再將nmin+1賦值給nmin,
[I"耐賦值給Amin,q+1賦值給q后,執行步驟5.2。
[0029] 所述步驟8是按如下步驟進行:
[0030] 步驟8.1、將第L代的第k個粒子的初始位置為"=姑>,堪,…,端,...,.皆}賦值給 式…,其中,省…為與Zf)具有相同含義的變量,比較Zf)與巧("中對應元素的值是否相同, 若相同,則將乂f坤對應元素的值設置為0,若不同,則將;Tf i中對應元素值設置為/fi中 對應元素的值;從而獲得更新的;Tf >,更新的_¥^>中的每個元素的值表示設備的序號;且每 個元素與批處理集合B中的每個批--對應;
[0031] 步驟8.2、將更新的義中非0值的元素所對應的批依次調度到非0值所代表的設 備上進行加工,并計算相應設備的完工時間;從而得到設備完工時間集合C^=IC/[1],…, C/[i],…,C/[m]}和批次數量集合n/={Vi,…,n^i,…,n\};C/[i]表示第i臺設備Mi的完 工時間,r/ 1表示第i臺設備Mi上加工的批的數量;
[0032] 步驟8.3、將r/ 1+1賦值給n/ i,C/山賦值給1,其中,變量1與Al具有相同含義;
[0033] 步驟8.4、將更新的Zfl中所有值為0的元素所對應的批次,按批處理時間非增序 排列得到批集合= {V 1,…,b/ qS…,b/ H,其中,1/表示更新的;^"坤值為0的元素的總 個數,即未分配的批總數;
[0034] 步驟8.5、令q'=l;
[0035] 步驟8.6、如果q/ >1/,表示完成對更新的Xf >進行再次更新,并執行步驟8.9;否 貝IJ,執行步驟8.7;
[0036] 步驟8.7、利用式(2)獲得第q/個批次在第i臺設備上的完工時間q;[/],從而獲 得第q/個批次b%'在m臺設備上的完工時間:
[0037]
(2)
[003引步驟8.8、從第q/個批次b%'在m臺設備上的完工時間中選擇最小完工時間所對應 的設備,記為設備min/,將第q/個批次b%'運輸到設備min/上進行加工;再將r/ min' +1賦值給 n' min',(1;,.; [min']賦值給A' min',q' +1 賦值給q',執行步驟8.6;
[0039] 步驟8.9、通過貝努利分布獲得一個由0和I組成的I維數組化,數組Ri中的每個元素 與再次更新的中的每個元素一一對應;若Ri中的元素為1,則再次更新的.rf I中對應元 素的值保持不變,若Ri中的元素為0,則再次更新的Xf 中對應元素的值設置為0;
[0040] 步驟8.10、將再次更新的Xf i作為更新的Zf i并代入步驟8.2-步驟8.8中執行,從 而獲得第=次更新后的Xf >;
[OOW 步驟8.11、將乂;("作為堿勾,將if)作為片"并代入步驟8.1-步驟 8.10中執行,從 而獲得第S次更新后的乂;W;
[00創步驟8.12、將第立次更新后的;Tf哺第立次更新后的義概率Pci進行貝努利交 叉,得到交叉后的第L代的第k個粒子的位置JTfW ;
[0043] 步驟8.13、將為與片概率Pci進行貝努利交叉,得到第L+1代的第k個粒子的 速度F
[0044] 步驟8.14、將If+6與乂W W概率Pci進行貝努利交叉,得到第L+1代的第k個粒子的 位置
[0045] 步驟8.15、將Zf + 4與全局最優解ffW概率Pe2進行貝努利交叉,獲得兩個交叉后 的粒子,比較交叉前的粒子義^"1>與交叉后的兩個粒子的適應度,將適應度大的粒子作為第 L+1代的第k個粒子Zf+"的位置;
[0046] 步驟8. 16、計算第L+1代粒子群中每個粒子的適應度,將適應度值最低的 l_£/X,iwX//2」個粒子用隨機產生的粒子代替,k」表示不超過X的最大整數;從而更新第L+1 代粒子群的位置。
[0047] 所述步驟9是按如下步驟進行調整:
[004引步驟9.1、定義變量巧日h,定義局部捜索的最大長度為fmax;令f = l,i = l,h=m;
[0049] 步驟9.2、判斷f<fmax是否成立,若成立,則將m臺設備按完工時間非增序進行排 列,執行步驟9.3;否則,完成第L+1代粒子群中N個粒子位置Af 的調整.
[0050] 步驟9.3、選擇第i臺設備Mi;選擇第h臺設備Mh;
[0051] 步驟9.4、判斷h>l是否成立,若成立,則執行步驟9.5;否則,完成第L+1代粒子群 中N個粒子位置+A的調整;
[(K)對步驟9.5、尋找任意第a個批ba,ba G Mi; W及任意第0個批be,be G Mh;如果第a個批ba 和第e個批be滿足式(3),則交換第a個批ba和第0個批be,并執行步驟9.6;否則,執行步驟 9.7:
[005:3]
0)
[0054] 式(3)中,pW表示第a個批ba的加工時間,C山表示第i臺設備Ml的完工時間,pW表 示第0個批be的加工時間,C比]表示第h臺設備Mh的完工時間,
[0055] 步驟9.6、將分配到同一設備上的批按批加工時間非增序排列,并計算各臺設備的 完工時間,將f+1賦值給f,執行步驟9.2;
[0化6] 步驟9.7、將h-1賦值給h后,執行步驟9.4。
[0057] 與已有技術相比,本發明有益效果體現在:
[0058] 1、本發明在典型的差異分批制造模式下,研究制造企業的運輸和生產兩階段協同 調度問題,通過采用改進的粒子群算法,首先針對差異工件進行分批然后基于運輸時間、批 處理時間W及設備的加工速度提出相應的調度策略,得出粒子的位置和速度;再利用粒子 的當前位置和速度更新規則,更新粒子位置和速度,實現了多次迭代,最終獲得最優解;粒 子群算法在時間有效性和結果的優化程度上,是一種性能更好的優化制造跨度的近似算 法;解決了現實工業中作業分批運輸和生產的聯合優化問題,實現了企業總體經濟效益的 優化,降低了能耗,節省了成本,提升了企業的服務水平。
[0059] 2、本發明在產生初始種群的過程中基于運輸時間、批次處理時間W及設備的加工 速度提出相應的策略,將批分配到使批最先完工的設備上,由此產生初始種群中的一個個 體,再結合隨機的種群產生方式產生種群中的其他個體,既保證了初始種群的質量,也確保 了初始種群的多樣性。
[0060] 3、本發明通過對每一次迭代得到的最優解進行更新,解決了算法捜索過程中過快 地集中到局部最優解的問題;在位置更新規則中加入遺傳算法中的交叉算子W及一個自適 應的移民算子,在保證解得質量的同時,也保持了種群的多樣性。
[0061] 4、本發明基于批處理時間W及設備的加工速度設計了粒子位置的調整策略;將設 備按完工時間非增序進行排序,然后將完工時間較長的設備與完工時間較短的設備上的批 次按約束條件進行調整,從而實現對每一次迭代的粒子的位置進行調整,提高了解的質量。
【附圖說明】
[0062] 圖1為本發明采用粒子群算法進運輸生產協同調度的方法流程圖;
[0063] 圖2為本發明運輸和生產過程圖。
【具體實施方式】
[0064] 本實施實例中,一種基于粒子群優化的運輸和生產調度方法,其流程如圖1所示, 是針對工件體積和生產時間有差異、生產設備速度有差異并且不同運輸路線上運輸時間有 差異的運輸、生產協同調度問題進行建模,然后通過一種改進粒子群算法進行求解,從而得 到一套運輸生產調度的優化方案,W此大大降低目標企業的總運作成本,提高企業運作效 率。具體的說,是將處于工件集合處的n個工件進行分批處理后,通過運輸車輛送達到m臺設 備處進行生產加工;n個工件構成的工件集合記為J= Ui,J2,…,Jj,…,Jn},Jj表示第j個工 件,將第j個工件Jj的尺寸記為sj、加工時間記為pj;m臺設備記為M={Mi,M2,…, Mi,…,Mm},M康示第i臺設備,1《i《m;將第i臺設備Mi加工工件的速度記為Vi,將從工件集 合處到達第i臺設備Mi的運輸時間記為ti;將運輸車輛的容積和加工工件設備的容積均記為 C;
[0065] 基于粒子群優化的運輸和生產調度方法是按如下步驟進行:
[0066] 步驟1、將工件集合J中的工件按加工時間非增的順序進行排序,若加工時間相同 則按工件尺寸非增的順序進行排序,從而獲得排序后的工件集合r;
[0067] 步驟2、將排序后的工件集合r中的第1個未分配的工件放入能容納第1個未分配 工件的尺寸且剩余空間最小的批中,批的剩余空間為容積C與放入相應批中所有工件尺寸 之和的差值;若批的剩余空間中不能容納第1個未分配工件的尺寸,則生成容積為C的新批, 并將第1個未分配的工件加入新批中,直至工件集合r中的所有工件都分配到相應的批中; 該分批策略將加工時間接近的工件盡量分配在同一個批次中,同時使設備的剩余工件盡可 能小,能較大程度較少批的總數及批的加工時間。
[0068] 步驟3、將步驟2中得到的所有批按批處理時間非增序排列,得到批處理集合B = {bl,b2,. . .,bq,. . .,bl },bq表示第q個批,將第q個批的加工時間記為。(9)笛。水肚心的巾日工時 間pW是由第q個批bq中加工時間最長的工件決定;批次總數記為1 「xl表 示不小于X的最小整數;通過將批按批處理時間非增序進行排列,使分配到每臺設備上加工 的批在加工的過程中也是按批處理時間非增序進行加工的,在存在有運輸時間的情況下, 運樣可W減少機器的等待時間。
[0069] 步驟4、初始化粒子群算法的各個參數,包括:粒子總數N、迭代次數U最大迭代次 數Lmax、交叉概率Pel和Pe2, l《L《Lmax;并初始化L = 1 ;
[0070] 步驟5、產生初始種群,獲得第L代的第k個粒子的初始位置嫂;=說,巧,...,墻1,…,姥 和初始速度巧"=地>,姆,…,做,…,皆},誠嘴V皆分別表示第L代中第k個粒子在第d維捜 索空間上的位置和速度,其中,在產生初始種群的過程中,其中一個個體 通過將批分配到使批最早完工的機器上獲得,其他的個體通過隨機的方式產生,既保證了 初始種群的質量,保持了種群的多樣性,也提高了算法的收斂速度,具體的說,
[0071] 步驟5.1、令Q W表示第i臺設備Mi上第q個批bq的完工時間,n康示第i臺設備Mi上 加工的批的數量,A功第i臺設備Mi的空閑時間;初始化[i] = G、.ru = 1、q = 1、Ai = 0;
[0072] 步驟5.2、判斷q>l是否成立,若成立,則表示生成一個粒子;否則,執行步驟5.3;
[0073] 步驟5.3、利用式(1)獲得第q個批bq在第i臺設備上的完工時間Q.[/],從而獲得第q 個批bq在m臺設備上的完工時間:
[0074]
(I)
[0075] 式(1)中,max{x,y}表示取X和y中的較大者;
[0076] 步驟5.4、從第q個批bq在m臺設備上的完工時間中選擇最小完工時間所對應的設 備,記為設備min,將第q個批次bq運輸到設備min上進行加工;再將nmin+1賦值給nmin, ([t"in]賦值給Amin,q+1賦值給q后,執行步驟5.2。
[0077] 基于設備速度,通過計算第q個批bq在m臺設備上的完工時間,再選擇最小完工時 間所對應的設備作為第q個批bq的加工設備,運樣比將第q個批bq分配到最先空閑的設備上 進行加工求解結果更優。
[0078] 步驟6、計算第L代中第k個粒子的適應度^^,從而獲得第L代中第k個粒子的局部 最優解
,其中,表示第L代中第k個粒子在第d維捜索空間 上的最優位置;
[0079] 步驟7、重復步驟6,獲得第L代中N個粒子的局部最優解,并從中選出最大適應度值 對應的最優解作為第L代的全局最優解,記夫
,其中表示 第L代中整個粒子群體在第d維捜索空間上的最優位置;
[0080] 步驟8、根據第L代中第k個粒子的位置Zf和速度咬9,分別計算第L+1代的第k個 粒子的位置XfWl和速度+y;從而獲得第L+1代粒子群中N個粒子的位置和速度;
[0081] 步驟8.1、將第L代的第k個粒子的初始位置為"=地>,也),...,端,...,4巧賦值給 義;…:,其中,,為與蜂)具有相同含義的變量,比較Zf >與巧";中對應元素的值是否相同, 若相同,則將義;^中對應元素的值設置為0,若不同,則將中對應元素值設置為if >中對 應元素的值;從而獲得更新的Xfi,更新的義中的每個元素的值表示設備的序號;且每個 元素與批處理集合B中的每個批一一對應;
[0082] 步驟8.2、將更新的Xf >中非0值的元素所對應的批依次調度到非0值所代表的設 備上進行加工,并計算相應設備的完工時間;從而得到設備完工時間集合C^=IC/[1],…, C/[i],…,C/[m]}和批次數量集合n/={Vi,…,n^i,…,n\};C/[i]表示第i臺設備Mi的完 工時間,r/ 1表示第i臺設備Mi上加工的批的數量;
[0083] 步驟8.3、將r/ 1+1賦值給n/ i,C/山賦值給1,其中,變量1與Al具有相同含義;
[0084] 步驟8.4、將更新的Jrf i中所有值為0的元素所對應的批次,按批處理時間非增序 排列得到批集合= {V 1,…,…,b/ r },其中,1/表示更新的Jff)中值為0的元素的總 個數,即未分配的批總數;
[0085] 步驟8.5、令q'=l;
[00化]步驟8.6、如果q/ >1/,表示完成對更新的義進行再次更新,并執行步驟8.9;否 貝IJ,執行步驟8.7;
[0087]步驟8.7、利用式(2)獲得第(1^個批次13%'在第1臺設備上的完工時間鳴.1>'],從而獲 得第q/個批次b%'在m臺設備上的完工時間:
[008引
貸
[0089]步驟8.8、從第q/個批次在m臺設備上的完工時間中選擇最小完工時間所對應 的設備,記為設備min/,將第q/個批次b%'運輸到設備min/上進行加工;再將r/ min' +1賦值給 。'。1。',(、''.加虹']賦值給八\1。',9'+1賦值給9',執行步驟8.6;
[0090] 步驟8.9、通過貝努利分布獲得一個由0和I組成的I維數組化,數組Ri中的每個元素 與再次更新的義中的每個元素一一對應;若Ri中的元素為1,則再次更新的乂中對應元 素的值保持不變,若Ri中的元素為0,則再次更新的?中對應元素的值設置為0;
[0091] 步驟8.10、將再次更新的Xf I作為更新的;Tf >并代入步驟8.2-步驟8.8中執行,從 而獲得第=次更新后的
[0092] 步驟8.11、將作為疋…,將與"作為P嚴并代入步驟8.1-步驟8.10中執行,從 而獲得第S次更新后的Xf >:
[009引步驟8.12、將第S次更新后的.Yf哺第S次更新后的瑣概率P。進行貝努利交 叉,得到交叉后的第L代的第k個粒子的位置;
[0094]步驟8.13、將馬'<"與巧"W概率Pci進行貝努利交叉,得到第L+1代的第k個粒子的 速度巧;
[00對步驟8.14、將皆+0與if) W概率Pci進行貝努利交叉,得到第L+1代的第k個粒子的 位置Xf+":;
[0096] 步驟8.15、將;rf+li與全局最優解^f?W概率P。2進行貝努利交叉,獲得兩個交叉后 的粒子,比較交叉前的粒子if 與交叉后的兩個粒子的適應度,將適應度大的粒子作為第 L+1代的第k個粒子Af ">的位置;通過對交叉前后的粒子進行適應度比較,可W保證將產生 的適應度值高的粒子保留下來,從而提高種群的質量。
[0097] 步驟8. 16、計算第L+1代粒子群中每個粒子的適應度,將適應度最低的 王/1 胃xW/2」個粒子用隨機產生的粒子代替,l_x」表示不超過X的最大整數;從而更新第L+ l代粒子群的位置。通過^^^/4&、xW/2」計算每一次迭代的種群中需要用隨機產生的粒子替 代的粒子數量,該公式隨著迭代次數L增大,被隨機產生的粒子代替的粒子數量隨著迭代次 數增加逐漸增多,運樣就可W在迭代前期增加局部捜索的能力,在迭代后期使種群具有較 大的多樣性,避免陷入局部最優。
[0098] 步驟9、調整第L+1代粒子群中N個粒子的位置,從而獲得調整后的第L+1代的N個粒 子的位置;
[0099] 步驟9.1、定義變量巧日h,定義局部捜索的最大長度為fmax;令f = l,i = l,h=m;
[0100] 步驟9.2、判斷f<fmax是否成立,若成立,則將m臺設備按完工時間非增序進行排 列,執行步驟9.3;否則,完成第L+1代粒子群中N個粒子位置義^^">的調整;
[0101] 步驟9.3、選擇第i臺設備Mi;選擇第h臺設備Mh;
[0102] 步驟9.4、判斷h>l是否成立,若成立,則執行步驟9.5;否則,完成第L+1代粒子群 中N個粒子位置;rf+9的調整;
[010引步驟9.5、尋找任意第a個批ba,ba G Mi; W及任意第0個批be,be G Mh;如果第a個批ba 和第e個批be滿足式(3),則交換第a個批ba和第e個批be,并執行步驟9.6;否則,執行步驟 9.7:
[0104]
(巧
[0105] 式(3)中,pW表示第a個批ba的加工時間,C[i]表示第i臺設備Mi的完工時間,pW表 示第e個批be的加工時間,C比]表示第h臺設備Mh的完工時間;將滿足公式(3)的批進行交換 可W縮短完工時間最長的設備的完工時間,并且不會使完工時間較小的設備的完工時間超 過交換前完工時間最長的設備的完工時間,因此該交換能夠縮短制造跨度。
[0106] 步驟9.6、將分配到同一設備上的批按批加工時間非增序排列,并計算各臺設備的 完工時間,將f+1賦值給f,執行步驟9.2;
[0107] 步驟9.7、將h-1賦值給h后,執行步驟9.4。
[0108] 步驟10、計算第L+1代粒子群中第k個粒子乂的適應度if并與第L代中第k個 粒子的適應度巧W進行比較,將較大適應度值對應的粒子位置作為第L+1代中第k個粒子的 最優解if+";
[0109] 步驟11、重復步驟10,從而獲得第L+1代中N粒子的最優解并從中選出最大適應度 值對應的最優解作為第L+1代的全局最優解if ");
[0110] 步驟12、將L+1賦值給L,判斷L<Lmax是否成立,若成立,則執行步驟8;否則,表示完 成Lmax次迭代,并獲得全局最優解全局最優解/>^^""'>所對應的調度方案作為最優調 度方案,工件組批W及運輸和制造過程如圖2所示。
【主權項】
1. 一種基于改進粒子群優化的運輸和生產協同調度方法,其特征是,將處于工件集合 處的η個工件進行分批處理后,通過運輸車輛送達到m臺設備處進行生產加工;所述η個工件 構成的工件集合記為J = {Ji,J2,…,Jj,…,Jn},Jj表示第j個工件,1 < j;將第j個工件Jj 的尺寸記為以、加工時間記為W;所述m臺設備記為M= {Mi,M2,…,Mi,…,Mm}爲表示第i臺設 備,1 ;將第i臺設備Mi加工工件的速度記為 Vi,將從所述工件集合處到達第i臺設備Mi 的運輸時間記為ti;將運輸車輛的容積和加工工件設備的容積均記為C; 所述運輸和生產協同調度方法是按如下步驟進行: 步驟1、將所述工件集合J中的工件按加工時間非增的順序進行排序,若加工時間相同 則按工件尺寸非增的順序進行排序,從而獲得排序后的工件集合; 步驟2、將所述排序后的工件集合J'中的第1個未分配的工件放入能容納所述第1個未 分配工件的尺寸且剩余空間最小的批中,批的剩余空間為容積C與放入相應批中所有工件 尺寸之和的差值;若批的剩余空間中不能容納第1個未分配工件的尺寸,則生成容積為C的 新批,并將第1個未分配的工件加入新批中,直至所述工件集合y中的所有工件都分配到相 應的批中; 步驟3、將步驟2中得到的所有批按批處理時間非增序排列,得到批處理集合B={ln, b2,…,bq,…,hhbq表示第q個批,將第q個批的加工時間記為p(q),第q個批b q的加工時間p(q) 是由第q個批bq中加工時間最長的工件決定;批次總數記為1:表示不 小于X的最小整數; 步驟4、初始化粒子群算法的各個參數,包括:粒子總數N、迭代次數L、最大迭代次數 Lmax、交叉概率Pc^PPu,1彡L彡Lmax;并初始化L = 1; 步驟5、產生初始種群,獲得第L代的第k個粒子的初始位置; 和初始速度= 和^^分別表示第L代中第k個粒子在第d維搜 索空間上的位置和速度,其中,1彡d彡l;l<k彡N; 步驟6、計算第L代中第k個粒子的適應度FA(i),從而獲得第L代中第k個粒子的局部最優 解其中,;表示第L代中第k個粒子在第d維搜索空間上的 最優位置; 步驟7、重復步驟6,獲得第L代中N個粒子的局部最優解,并從中選出最大適應度值對應 的最優解作為第L代的全局最優解,記戈^其中^^表示第L 代中整個粒子群體在第d維搜索空間上的最優位置; 步驟8、根據第L代中第k個粒子的位置JTf和速度F/£),分別計算第L+1代的第k個粒子 的位置XfW和速度從而獲得第L+1代粒子群中N個粒子的位置和速度; 步驟9、調整所述第L+1代粒子群中N個粒子的位置,從而獲得調整后的第L+1代的N個粒 子的位置; 步驟10、計算第L+1代粒子群中第k個粒子ΧΑ(?+1)的適應度Ff+1)并與第L代中第k個粒子 的適應度if >進行比較,將較大適應度值對應的粒子位置作為第L+1代中第k個粒子的最優 解if4" ; 步驟11、重復步驟10,從而獲得第L+1代中N粒子的最優解并從中選出最大適應度值對 應的最優解作為第L+1代的全局最優解/f+u ; 步驟12、將L+1賦值給L,判斷L<Lmax是否成立,若成立,則執行步驟8;否則,表示完成 Lmax次迭代,并獲得全局最優解以全局最優解所對應的調度方案作為最優調度 方案。2. 根據權利要求1所述的基于粒子群優化的生產調度方法,其特征在于,所述步驟5創 建初始種群的過程中,N-1個粒子是通過隨機方式產生,剩下的一個粒子是按如下步驟產 生: 步驟5.1、令表示第i臺設備Mi上第q個批bq的完工時間,m表示第i臺設備Mi上加工 的批的數量,Ai為第i臺設備Mi的空閑時間;初始化G [?] _= 〇_、m = 1、q = 1、Ai = 0; 步驟5.2、判斷q>l是否成立,若成立,則表示生成一個粒子;否則,執行步驟5.3; 步驟5.3、利用式(1)獲得第q個批bq在第i臺設備上的完工時間d],從而獲得第q個批 bq在m臺設備上的完工時間:式(1)中,max{x,y}表示取X和y中的較大者; 步驟5.4、從第q個批bq在m臺設備上的完工時間中選擇最小完工時間所對應的設備,記 為設備min,將第q個批次bq運輸到設備min上進行加工;再將nmin+1賦值給nmin,C^_[imn]賦值 給Amin,q+Ι賦值給q后,執行步驟5.2。3. 根據權利要求1所述的基于粒子群優化的生產調度方法,其特征在于,所述步驟8是 按如下步驟進行: 步驟8.1、將第L代的第k個粒子的初始位置;^ = ……,43賦值給, 其中,為與具有相同含義的變量,比較與/f >中對應元素的值是否相同,若相 同,則將>中對應元素的值設置為〇,若不同,則將中對應元素值設置為if >中對應元 素的值;從而獲得更新的JTf1 ,更新的Xf5中的每個元素的值表示設備的序號;且每個元素 與批處理集合B中的每個批--對應; 步驟8.2、將更新的中非0值的元素所對應的批依次調度到非0值所代表的設備上 進行加工,并計算相應設備的完工時間;從而得到設備完工時間集合[1],···,(/ [1],~,(:/[ 111]}和批次數量集合11/={11/1,~,11/1,~,11、};(: /[1]表示第1臺設備吣的完工 時間,r/ i表示第i臺設備Mi上加工的批的數量; 步驟8.3、將Y i+Ι賦值給Y i,C [ i ]賦值給# i,其中,變量A' i與Ai具有相同含義; 步驟8.4、將更新的If1中所有值為0的元素所對應的批次,按批處理時間非增序排列 得到批集合V = {V i,…,1/ </,…,1/ r },其中,V表示更新的>中值為0的元素的總個數, 即未分配的批總數; 步驟8.5、令Υ =1; 步驟8.6、如果Y ,表示完成對更新的Xf1進行再次更新,并執行步驟8.9;否則,執 行步驟8.7; 步驟8.7、利用式(2)獲得第Y個批次在第i臺設備上的完工時間,從而獲得第 Y個批次V q'在m臺設備上的完工時間:步驟8.8、從第Y個批次在m臺設備上的完工時間中選擇最小完工時間所對應的設 備,記為設備mir/,將第Y個批次b%'運輸到設備mir/上進行加工;再將r/mW+1賦值給 ,Mf0¥i8.6; 步驟8.9、通過貝努利分布獲得一個由0和1組成的1維數組Ri,數組Ri中的每個元素與再 次更新的Xf1中的每個元素一一對應;若心中的元素為1,則再次更新的Tf1中對應元素的 值保持不變,若心中的元素為〇,則再次更新的中對應元素的值設置為〇; 步驟8.10、將再次更新的If作為更新的Xf1并代入步驟8.2-步驟8.8中執行,從而獲 得第三次更新后的Xf1: 步驟8.11、將;^"⑷作為Xf1,:將if}作為if;并代入步驟8.1-步驟8.10中執行,從而獲 得第三次更新后的A了 步驟8.12、將第三次更新后的;^)和第三次更新后的工/(£1以概率匕1進行貝努利交叉, 得到交叉后的第L代的第k個粒子的位置;q"(i>; 步驟8.13、將尤廣)與!^)以概率?。1進行貝努利交叉,得到第1>1代的第1^個粒子的速度 步驟8.14、將ff+1)與Xf以概率心進行貝努利交叉,得到第L+1代的第k個粒子的位置 Zf+1); 步驟8.15、將zf+1>與全局最優解if}以概率心進行貝努利交叉,獲得兩個交叉后的粒 子,比較交叉前的粒子Xf+1)與交叉后的兩個粒子的適應度,將適應度大的粒子作為第L+1 代的第k個粒子Zf +l)的位置; 步驟8.16、計算第L+1代粒子群中每個粒子的適應度,將適應度值最低的 個粒子用隨機產生的粒子代替,表示不超過X的最大整數;從而更新第L+1代粒子群的位 置。4.根據權利要求1所述的基于粒子群優化的生產調度方法,其特征在于,所述步驟9是 按如下步驟進行調整: 步驟9.1、定義變量f和h,定義局部搜索的最大長度為fmax;令f=l,i = l,h=m; 步驟9.2、判斷f<fmax是否成立,若成立,則將m臺設備按完工時間非增序進行排列,執 行步驟9.3;否則,完成第L+1代粒子群中N個粒子位置Zf〇的調整; 步驟9.3、選擇第i臺設備Mi;選擇第h臺設備Mh; 步驟9.4、判斷h>l是否成立,若成立,則執行步驟9.5;否則,完成第L+1代粒子群中N個 粒子位置;Tf+1)的調整; 步驟9.5、尋找任意第α個批ba,ba e Mi;以及任意第β個批be,be e Mh;如果第α個批ba和第β 個批be滿足式(3),則交換第α個批ba和第β個批be,并執行步驟9.6;否則,執行步驟9.7:(3) 式⑶中,Ρ(α)表示第α個批ba的加工時間,C[i]表示第i臺設備I的完工時間,p(e)表示第 β個批be的加工時間,C[h]表示第h臺設備Mh的完工時間, 步驟9.6、將分配到同一設備上的批按批加工時間非增序排列,并計算各臺設備的完工 時間,將f+1賦值給f,執行步驟9.2; 步驟9.7、將h-Ι賦值給h后,執行步驟9.4。
【文檔編號】G06Q10/04GK105956689SQ201610260236
【公開日】2016年9月21日
【申請日】2016年4月21日
【發明人】裴軍, 蔣露, 劉心報, 范雯娟, 周謐, 劉林, 方昶, 周志平
【申請人】合肥工業大學