馬 軍,李 薇
(1.安徽財經(jīng)大學(xué) 國際經(jīng)濟(jì)貿(mào)易學(xué)院,安徽 蚌埠 233041;2.安徽財經(jīng)大學(xué) 商務(wù)學(xué)院,安徽 蚌埠 233030)
作業(yè)車間調(diào)度問題(Job Shop Scheduling Problem,JSSP)是用m臺機器(資源)來加工n個工件(任務(wù)),并且每個工件又由k個工序組成,每個工序要按照一定的順序來完成[1]。JSSP的調(diào)度目標(biāo)是在滿足各工序加工順序約束條件下,確定每臺機器上各工序的加工順序及加工開始時間,并使某個性能指標(biāo)最優(yōu),如制造周期最短[2]。作業(yè)車間調(diào)度問題是一類典型的復(fù)雜生產(chǎn)調(diào)度問題,具有約束松弛度緊、NP-Hard等特性[3]。近年來,各國嘗試采用不同方法來求解作業(yè)車間調(diào)度問題,例如:遺傳算法 (genetic algorithm)[4~6]、禁忌搜索(taboo search)[7,8]、蟻群算法 (ant colony optimization)[9,10]、演化算法(evolutionary algorithm)[11,12]以及模擬退火(simulated annealing)[13,14]等。各國學(xué)者通常使用各種混合方法來求解作業(yè)車間調(diào)度問題:(1)將現(xiàn)有方法進(jìn)行一定程度地改進(jìn)[15~17];(2)將一些啟發(fā)式規(guī)則集成到已有方法中[18~20];(3)多種現(xiàn)有方法 的 混 合 集 成[7~9]。 在 求解復(fù)雜JSSP的過程中,JSSP的領(lǐng)域知識及專家的經(jīng)驗知識等對于最終的求解質(zhì)量和求解效率都起著至關(guān)重要的作用。因此,考慮將領(lǐng)域知識和經(jīng)驗知識集成到蟻群算法中的嘗試,具有重要的理論意義和實踐意義。鑒于此,本文擬提出一種求解作業(yè)車間調(diào)度問題的改進(jìn)蟻群算法。該方法將調(diào)度知識有效地融入到蟻群算法中,以期使其優(yōu)化效率得到極大地改進(jìn)。
為了有效地求解JSSP,本文提出了一種改進(jìn)蟻群算法。該方法將調(diào)度知識有效地融入到蟻群算法中,使得優(yōu)化效率得到極大地改進(jìn)。該方法的計算流程如圖1所示。
圖2 調(diào)度知識的表達(dá)形式
本文將JSSP的領(lǐng)域知識及專家的經(jīng)驗知識等統(tǒng)稱為調(diào)度知識。為了方便地實現(xiàn)優(yōu)化過程中調(diào)度知識的挖掘、存儲和應(yīng)用,筆者采用圖2所示的形式完成對調(diào)度知識表達(dá)。
工序處理優(yōu)先等級的賦值有兩種情況:(1)概率形式,表示給定屬性的工序在某優(yōu)先等級下加工的概率;(2)打分形式,表示給定屬性的工序在某優(yōu)先等級下加工的次數(shù)。為了便于后續(xù)的處理,筆者采用打分形式對工序處理優(yōu)先等級進(jìn)行賦值。圖2中調(diào)度知識的含義如下 (采用打分形式,第2條調(diào)度知識的含義):
如果
(工序x的工序加工順序?qū)傩?α21)∧
(工序x的處理時間屬性=α22)∧
(加工工序x的機器負(fù)荷屬性=α23)∧
(工序x后續(xù)工序累計處理時間屬性=α24)∧
則
(工序x以優(yōu)先等級1加工的次數(shù)為 β21)∧
(工序x以優(yōu)先等級2加工的次數(shù)為 β22)∧
(……)∧
(工序x以優(yōu)先等級m加工的次數(shù)為β2m)。
在描述狀態(tài)轉(zhuǎn)移規(guī)則之前,先定義工序的選擇概率。在這里,筆者定義了兩種工序選擇概率:基于工序處理時間的工序選擇概率和基于調(diào)度知識的工序選擇概率。
所謂的妊娠合并糖尿病指的是:妊娠期間發(fā)現(xiàn)或發(fā)病的由不同程度糖耐量異常及糖尿病引起的不同程度的高血糖,其中有些患者在妊娠前便已經(jīng)被診斷出患有糖尿病,在妊娠之后則有持續(xù)性加重的表現(xiàn)等[1-2]。為了研究妊娠與糖尿病的關(guān)系,從而提升臨床治療效果,本文在2015年12月-2016年12月間婦產(chǎn)科收治的80例妊娠合并糖尿病患者參與研究,探究其臨床護(hù)理效果,具體研究內(nèi)容闡述如下:
(1)基于工序處理時間的工序選擇概率。在t次迭代時,螞蟻k選擇工序j的概率公式為:
這里,allowedk表示螞蟻k在當(dāng)前位置(當(dāng)前時刻的特定機器)上可處理工序的集合;τj(t)表示t時刻工序j上的信息素水平;ηj=1/tj表示工序加工時間的倒數(shù);a,b分別表示工序j的信息素啟發(fā)值和加工時間啟發(fā)值的權(quán)重。
(2)基于調(diào)度知識的工序選擇概率。在t次迭代時,螞蟻k選擇工序j的概率公式為:
這里,γj表示根據(jù)當(dāng)前的調(diào)度知識,處理工序j的優(yōu)先等級的綜合評估值;a,b分別表示工序j的信息素啟發(fā)值和調(diào)度知識啟發(fā)值的權(quán)重;βji表示工序 j的第i個處理優(yōu)先等級的取值;wi表示第i個處理優(yōu)先等級的權(quán)重。
表1 本文的5種不同的實驗方案
表2 本文用到的14個測試實例
表3 本文蟻群算法中的參數(shù)設(shè)置
本文的狀態(tài)轉(zhuǎn)移規(guī)則如下:在t次迭代時,螞蟻k依據(jù)以下狀態(tài)轉(zhuǎn)移規(guī)則來選擇下一個需要處理的工序
這里的q為[0,1]范圍內(nèi)服從均勻分布的一個隨機數(shù);q0是一個設(shè)計參數(shù),q0=lg(Gen)/lg(Max_Gen);Gen表示當(dāng)前的迭代次數(shù),Max_Gen表示用戶設(shè)定的最大迭代次數(shù)。
這里的h表示在第t次迭代的最優(yōu)可行方案中,工序j在給定機器上的加工次序;H表示所有任務(wù)的最大工序數(shù)。
在蟻群算法中,信息素全局更新規(guī)則僅用于更新當(dāng)前最優(yōu)可行方案的信息素水平。
這里的hh表示在當(dāng)前最優(yōu)可行方案中,工序j在給定機器上的加工次序;HH表示所有任務(wù)的最大工序數(shù)。
本文將每個工序上的信息素都控制在范圍[τmin,τmax]內(nèi)。
這里ρ(0<ρ<1)表示信息素衰減因子。
為了有效地挖掘、存儲和應(yīng)用調(diào)度知識,筆者對每個工序?qū)傩灾笜?biāo)都進(jìn)行了離散化操作。根據(jù)不同的優(yōu)化需求,每個工序?qū)傩灾笜?biāo)都被劃分為若干個不同的水平(將每個工序?qū)傩灾笜?biāo)的取值范圍分割成若干個區(qū)間)。同時,本文采用多維數(shù)組來記錄和存儲調(diào)度知識(圖3)。調(diào)度知識挖掘的計算流程如圖4所示。
表4 采用5種實驗方案求解14個測試實例的優(yōu)化誤差
為了驗證本文方法的有效性,筆者設(shè)計了5種不同的實驗方案(表1)。表1中調(diào)度知識 i(1≤i≤4)的含義是:在該調(diào)度知識中,工序?qū)傩灾笜?biāo)被分為i+1個水平,工序處理優(yōu)先級被分為2(i+1)個等級。在對經(jīng)驗知識進(jìn)行綜合評估時,工序處理優(yōu)先等級的權(quán)重wi=5(mi+1),1≤i≤m,這里的m表示工序優(yōu)先處理等級的數(shù)目。筆者采用14個典型實例(表2)來驗證各種實驗方案,改進(jìn)蟻群算法的參數(shù)設(shè)置見表3。
表4和表5列舉了本文的試驗結(jié)果。從表4中可以看出,調(diào)度知識表述的越詳細(xì),平均優(yōu)化誤差越小。這表明:將調(diào)度知識融入到蟻群算法中,可以有效提高蟻群算法的優(yōu)化績效。從表5中可以看出,無論是優(yōu)化時間還是優(yōu)化結(jié)果,本文提出的改進(jìn)蟻群算法都要優(yōu)于現(xiàn)有的標(biāo)準(zhǔn)蟻群算法。
表5 采用5種實驗方案求解14個測試實例的優(yōu)化時間
本文的主要創(chuàng)新點是:采用一種改進(jìn)蟻群算法來求解作業(yè)車間調(diào)度問題。通過將調(diào)度知識有效地融入到蟻群算法中,使得改進(jìn)蟻群算法在優(yōu)化效率上大大改進(jìn)。
[1]Tavakkoli-Moghaddam R.,Daneshmand-Mehr M.A Computer Simulation Model for Job Shop Scheduling Problems Minimizing Makespan[J].Computers&Industrial Engineering,2005,48.
[2]王秀宏,喬清理,王正歐.Job-shop調(diào)度問題的瞬態(tài)混沌神經(jīng)網(wǎng)絡(luò)解法[J].系統(tǒng)工程,2001,19(3).
[3]Watanabe M.,Ida K.,Gen M.A Genetic Algorithm with Modified Crossover Operator and Search Area Adaptation for the Jobshop Scheduling Problem[J].Computers&Industrial Engineering,2005,48.
[4]Goncalves J.F.,De Magalhaes Mendes J.J.,Resende Gcm.A Hy-brid Genetic Algorithm for the Job Shop Scheduling Problem[J].European Journal of Operational Research,2005,167.
[5]楊曉梅,曾建潮.采用多個體交叉的遺傳算法求解作業(yè)車間問題[J].計算機集成制造系統(tǒng),2004,10(9).
[6]姜思杰,徐曉飛,李全龍.基于遺傳優(yōu)化算法求解作業(yè)車間調(diào)度問題[J].計算機集成制造系統(tǒng),2002,8(3).
[7]Pezzella F.,Merelli E.A Tabu Search Method Guided by Shifting Bottleneck for the Job Shop Scheduling Problem[J].European Journal of Operational Research,2000,120.
[8]梁旭,黃明.禁忌-并行遺傳算法在作業(yè)車間調(diào)度中的應(yīng)用[J].計算機集成制造系統(tǒng),2005,11(5).
[9]Huang K.L.,Liao C.J.Ant Colony Optimization Combined with Taboo Search for the Job Shop Scheduling Problem[J].Computers&Operations Research,2008,35(4).
[10]王常青,操云甫,戴國忠.用雙向收斂蟻群算法解作業(yè)車間調(diào)度問題[J].計算機集成制造系統(tǒng),2005,10(7).
[11]Tanev I.T.,Uozumi T.,Morotome Y.Hybrid Evolutionary Algorithm-Based Real-World Flexible Job Shop Scheduling Problem:Application Service Provider Approach[J].Applied Soft Computing,2004,(5).
[12]何霆,劉文煌,梁力平.基于進(jìn)化算法的一類作業(yè)車間調(diào)度[J].計算機集成制造系統(tǒng),2001,7(1).
[13]KoLonko M.Some New Results on Simulated Annealing Applied to the Job Shop Scheduling Problem[J].European Journal of Operational Research,1999,113.
[14]吳大為,陸濤棟,劉曉冰.求解作業(yè)車間調(diào)度問題的并行模擬退火算法[J].計算機集成制造系統(tǒng),2005,11(6).
[15]張超勇,饒運清,李培根.求解作業(yè)車間調(diào)度問題的一種改進(jìn)遺傳算法[J].計算機集成制造系統(tǒng),2004,10(8).
[16]馮奇峰,李言.運用帶有記憶庫的遺傳算法求解作業(yè)車間調(diào)度問題[J].計算機集成制造系統(tǒng),2005,11(8).
[17]范路橋,常會友,朱旭東.一種改進(jìn)的作業(yè)車間調(diào)度算法及其實現(xiàn)[J].計算機集成制造系統(tǒng),2005,11(5).
[18]Lee D.S.,Vassiliadis V.S.,Park J.M.A Novel Threshold Accepting Meta-Heuristic for the Job-Shop Scheduling Problem[J].Computers&Operations Research,2004,(31).
[19]代勇,付宜利,馬玉林.與啟發(fā)式規(guī)則相結(jié)合的遺傳算法在車間調(diào)度問題中的研究[J].現(xiàn)代制造工程,2003,(3).
[20]呂文彥,黨延忠.基于綜合規(guī)則與遺傳算法的可重入生產(chǎn)系統(tǒng)調(diào)度[J].計算機工程,2005,31(13).