張斯琪,倪 靜,郭起軒
1(上海理工大學(xué) 管理學(xué)院,上海 200093)2(上海理工大學(xué) 機(jī)械學(xué)院,上海 200093)
隨著工業(yè)化進(jìn)程的飛速發(fā)展,能源危機(jī)不容小覷.我國(guó)有將近三分之二的能源用于制造業(yè)的生產(chǎn)和加工[1],短缺的能源對(duì)資源可持續(xù)發(fā)展造成嚴(yán)重威脅,降低制造業(yè)能源消耗和噪聲污染的需求日益明顯.
制造業(yè)的核心生產(chǎn)單位是車間,柔性作業(yè)車間調(diào)度(Flexible Job-Shop scheduling problem,FJSP)對(duì)每個(gè)工件的工序排序和工序的機(jī)器選擇同時(shí)提出了可優(yōu)化的要求,很大程度上增加了調(diào)度的靈活性和計(jì)算的復(fù)雜度.在現(xiàn)有研究中,已有學(xué)者利用雜草算法、人工蜂群算法和化學(xué)反應(yīng)算法[2-4]等智能優(yōu)化算法求解FJSP問題.而對(duì)于FJSP問題的討論大多集中在完工時(shí)間和機(jī)器負(fù)荷上,隨著社會(huì)對(duì)低碳生產(chǎn)的大力倡導(dǎo),節(jié)能低碳的調(diào)度優(yōu)化開始成為學(xué)者關(guān)注的熱點(diǎn).Uhan[5]采用整數(shù)規(guī)劃公式,用于限制峰值功耗的流水車間調(diào)度.蔣增強(qiáng)[6]等人考慮了設(shè)備—能耗曲線,采用基于血緣變異的非支配排序遺傳算法求解低碳策略下的FJSP問題.Luo[7]等考慮了分時(shí)電價(jià)的優(yōu)化算法用于流水車間調(diào)度.LIU[8]等以總延遲時(shí)間、峰值負(fù)載和碳排放為目標(biāo)研究流水車間調(diào)度優(yōu)化.劉瓊[9]考慮了工序之間的搬運(yùn)時(shí)間對(duì)調(diào)度產(chǎn)生的影響,通過(guò)改進(jìn)果蠅算法優(yōu)化車間布局和調(diào)度方案從而降低能耗.
綜上所述,現(xiàn)有文獻(xiàn)在考慮低碳問題時(shí)主要分析加工能耗和峰值載荷,尚未考慮到噪聲對(duì)生產(chǎn)的影響,而且大多文獻(xiàn)以簡(jiǎn)單的系統(tǒng)作為研究對(duì)象,本文將同時(shí)優(yōu)化最大完工時(shí)間、能耗和噪聲三個(gè)目標(biāo).隨著新型智能優(yōu)化算法的發(fā)展,我們需要探尋更多有效的求解途徑去緩解制造企業(yè)生產(chǎn)帶來(lái)的環(huán)境壓力.鯨魚算法(WOA)是Mirjalilis等人[10]于2016年最新提出的智能優(yōu)化算法,并開始逐步應(yīng)用于故障診斷[11],水庫(kù)優(yōu)化[12]等領(lǐng)域,本文將鯨魚優(yōu)化算法應(yīng)用于多目標(biāo)FJSP低碳優(yōu)化問題,并結(jié)合小生境技術(shù)構(gòu)建外部文檔存儲(chǔ)多目標(biāo)Pareto非劣解,最后根據(jù)評(píng)價(jià)系數(shù)權(quán)重確定決策方案,通過(guò)一系列的仿真實(shí)驗(yàn)表明,改進(jìn)后的算法有效的提高了搜索性能和收斂精度,同時(shí)有利于決策者從中獲得偏好的結(jié)果.
FJSP問題可以描述為:n個(gè)工件在m臺(tái)機(jī)器上加工,每個(gè)工件包含ni道工序,每道工序可選擇所有加工機(jī)器中的一臺(tái)或多臺(tái)設(shè)備.FJSP的調(diào)度目標(biāo)就是為每個(gè)工件的每道工序安排最合適的機(jī)器,明確每臺(tái)可用機(jī)器上的每道工序的最佳加工順序和開始加工時(shí)間,使得給定的目標(biāo)最優(yōu).
FJSP應(yīng)滿足如下假設(shè):
1)同一時(shí)刻一道工序只能選擇一臺(tái)加工設(shè)備加工;
2)同一時(shí)刻同一臺(tái)可用設(shè)備只能加工一道工序;
3)不同工件之間的加工優(yōu)先級(jí)相同;
4)同一工件的不同工序之間加工路線確定;
5)工序的加工過(guò)程是不間斷的;
6)所有工件的初始加工時(shí)刻假設(shè)為零,所有加工設(shè)備的開始作業(yè)時(shí)間也假設(shè)為零.
本文將最大完工時(shí)間、能耗和噪聲三個(gè)函數(shù)共同構(gòu)建FJSP多目標(biāo)優(yōu)化模型.其中,n為工件數(shù)量,m為機(jī)器數(shù)量,ni為工件i包含的工序數(shù),Oij為第i個(gè)工件的第j道工序,L為一個(gè)足夠大的正數(shù),Ci為第i個(gè)工件的完工時(shí)間,Pk為機(jī)器k切割能耗,sij為Oij的開始加工時(shí)間,cij為Oij的結(jié)束加工時(shí)間,pijk為Oij在機(jī)器k上的加工時(shí)間,l為A級(jí)等效聲音在曝光時(shí)間所產(chǎn)生的瞬時(shí)值,Tk為噪音的曝光時(shí)間,nijk為Oij在機(jī)器k上加工的噪聲值.xijk表示如果Oij在機(jī)器k上加工,則xijk=1,否則xijk為0;yijhlk表示如果Oij先于Ohl在機(jī)器k上加工,則yijhlk=1,否則為0.
1)最大完工時(shí)間最小函數(shù).所有工件加工完成后最大的那個(gè)時(shí)間就是最大完工時(shí)間.
(1)
2)總能耗最小函數(shù).本文主要考慮了工件在加工過(guò)程中的切割能耗,即機(jī)器切割作業(yè)時(shí)所產(chǎn)生的能耗.
(2)
3)噪聲最小函數(shù).工件的加工過(guò)程所產(chǎn)生的噪聲主要有兩部分:結(jié)構(gòu)噪聲和切割噪聲.其中,機(jī)器的結(jié)構(gòu)噪聲是機(jī)體結(jié)構(gòu)受激勵(lì)振動(dòng)以及振動(dòng)傳遞所產(chǎn)生的噪聲,結(jié)構(gòu)噪聲主要來(lái)源于機(jī)架,通常是通過(guò)測(cè)量空轉(zhuǎn)機(jī)的噪聲來(lái)評(píng)估;切割噪聲則是由于工件切割過(guò)程的動(dòng)態(tài)力量所產(chǎn)生的噪聲.已有研究所得,如果在同一加工車間內(nèi)每道工序采用相同的工藝參數(shù),那么整個(gè)加工系統(tǒng)中切削所消耗的能量,動(dòng)態(tài)切削力和切削噪聲可視為近似相等,因此本文對(duì)噪聲的研究聚焦在結(jié)構(gòu)噪聲上.
噪聲的可劃分為ACZ三個(gè)等級(jí),而A聲級(jí)是反映人主觀感覺的基本評(píng)價(jià)量.通常意義上,一段循環(huán)時(shí)間內(nèi)的平均噪聲所產(chǎn)生的能量等于給定一個(gè)時(shí)段內(nèi)發(fā)生波動(dòng)變化的每個(gè)聲音等級(jí)A中的能量,所以在被選擇的等效時(shí)段中用連續(xù)且穩(wěn)定的A級(jí)聲壓來(lái)表示噪音強(qiáng)度.A級(jí)聲壓通常用l來(lái)表示,可由公式(3)表示為:
(3)
本文的研究對(duì)象中,由于加工車間的每臺(tái)機(jī)床都是以恒定的主軸轉(zhuǎn)速進(jìn)行作業(yè)的,因此在每個(gè)循環(huán)周期內(nèi)所輻射出的噪聲值也都是穩(wěn)定的,將連續(xù)型噪聲公式(3)可離散化成如下公式:
(4)
現(xiàn)將噪聲發(fā)射理論和評(píng)估模式公式用于車間調(diào)度的實(shí)際情況中,構(gòu)建出模型公式(5):
(5)
基于以上分析,本文對(duì)完工時(shí)間、能耗和噪聲可建立多目標(biāo)優(yōu)化模型如公式(6):
minF=(FC,FE,FN)
(6)
s.t:
sij+xijk×pijk≤cij,1≤i≤n,1≤j≤ni,1≤k≤m
(7)
cij≤si(j+1),1≤i≤n,1≤j≤ni-1
(8)
sij+pijk≤shl+L(1-yijhlk),1≤i,h≤n,1≤j,
l≤ni,1≤k≤m
(9)
cij≤si(j+1)+L(1-yijh(l+1)k),1≤i≤n,1≤j≤ni,
1≤h≤n,1≤l≤ni-1
(10)
(11)
sij≥0,cij≥0
(12)
公式(7)和公式(8)表示工序的順序約束,公式(9)和公式(10)表示同一時(shí)刻同一臺(tái)可用設(shè)備只能加工一道工序,公式(11)表示同一時(shí)刻一道工序只能選擇一臺(tái)加工設(shè)備加工,公式(12)表示各個(gè)參數(shù)變量非負(fù).
鯨魚算法(WOA)模仿座頭鯨的捕食過(guò)程,每一頭座頭鯨代表所求可行域中的一個(gè)可行解.WOA的覓食過(guò)程可分為三個(gè)環(huán)節(jié):包圍獵物,氣泡攻擊和隨機(jī)搜尋.
假設(shè)此時(shí)被捕食獵物的位置為最優(yōu)候選解的位置,其他鯨魚都根據(jù)目標(biāo)獵物的位置來(lái)更新自己的位置,具體的數(shù)學(xué)模型如下:
(13)
(14)
(15)
(16)
a=2-2t/Tmax
(17)
鯨魚在襲擊獵物的時(shí)候,首先會(huì)吐出氣泡將獵物包圍在氣泡中,然后根據(jù)概率p實(shí)現(xiàn)螺旋上升(同3.1)和縮小包圍圈同時(shí)進(jìn)行的方式靠近食物.Mirjalili將概率p設(shè)為0.5[10],即兩種方式各有二分之一的概率會(huì)被選擇.
(18)
(19)
其中,b定義對(duì)數(shù)螺旋形狀的常數(shù),l∈[-1,1]表示隨機(jī)向量.
(20)
(21)
已知FJSP有兩個(gè)子問題構(gòu)成,分別是基于工序的排序和基于機(jī)器的排序,如表1所示,其中,表中的數(shù)字表示該工序在此機(jī)器上的加工時(shí)間,“—”表示該工序不能在此機(jī)器上加工.由于鯨魚算法一般用在連續(xù)優(yōu)化問題上,柔性作業(yè)車間調(diào)度屬于離散型的組合優(yōu)化問題,需要通過(guò)合適的方式將鯨魚算法離散化用來(lái)求解調(diào)度車間問題.
表1 3×5 FJSP實(shí)例
Table 1 3×5 FJSP instances
工件工序可以選擇的加工機(jī)器M1M2M3M4M5J1O1124362O12—3—24J2O215—7—4O22—23——O2337—5—J3O31119—9—O32—6358
4.1.1 工序編碼
本文在對(duì)工序設(shè)計(jì)編碼規(guī)則時(shí)采用了文獻(xiàn)[13]中的隨機(jī)鍵編碼規(guī)則混合轉(zhuǎn)化序列方式.本文選取表1數(shù)據(jù)為例,表1是包含3個(gè)工件和7道工序的作業(yè),一組個(gè)體的編碼總長(zhǎng)度為2l,即編碼長(zhǎng)度為14,初始的工序序列l(wèi)為[1 1 2 2 2 3 3],并對(duì)各個(gè)元素在[-2,2]內(nèi)任意取值,按照一定的順序存儲(chǔ)為λi=[λi,1,λi,2,λi,3,…,λi,n],然后按照數(shù)字由大到小的順序編號(hào)得到序列ωi=[ωi,1,ωi,2,ωi,3,…,ωi,n],利用公式θi,ωi,k=k得到轉(zhuǎn)化序列θi=[θi,1,θi,2,…,θi,n],將工序的初始排序序列經(jīng)過(guò)轉(zhuǎn)化序列轉(zhuǎn)化后得到新的編碼排序,具體的轉(zhuǎn)換過(guò)程如表2.
表2 工序編碼方案
Table 2 Process coding scheme
初始序列1122233k1234567隨機(jī)數(shù)λi-1.50.91.3-0.61.11.7-1.2wi7425316θi6352471新序列13212213新序列22321321
4.1.2 機(jī)器編碼
在完成工序的排序之后,下一步就開始為工序選擇合適的機(jī)器.借鑒文獻(xiàn)[14]的轉(zhuǎn)換方法,這一部分需要將λi∈[-σ,σ]對(duì)應(yīng)到相應(yīng)的m(j)∈[1,s(j)]上去.首先通過(guò)線性變換將λi求解為屬于[1,s(j)]的實(shí)數(shù),然后通過(guò)round函數(shù)將其轉(zhuǎn)為最接近此實(shí)數(shù)的整數(shù)值,具體見公式(22).
(22)
其中,round函數(shù)表示將數(shù)字四舍五入至最接近的整數(shù),整數(shù)s(j)表示的是元素j對(duì)應(yīng)工序所能選擇的加工設(shè)備數(shù),整數(shù)m(j)表示的是每道工序在可選擇的加工設(shè)備集合中所選擇第幾臺(tái)設(shè)備的編碼,而不是對(duì)應(yīng)的機(jī)器號(hào).以表1中的數(shù)據(jù)為例,一個(gè)機(jī)器編碼為[1 2 3 1 1 2 4],可以解釋為第一整數(shù)位數(shù)字1,代表工件1的第一道工序O11選擇它所能使用的機(jī)器設(shè)備集合中的第一臺(tái)設(shè)備M1,第二個(gè)整數(shù)位上的數(shù)字2,代表工件1的第二道工序O12選擇它所能使用的機(jī)器設(shè)備集合中的第二臺(tái)設(shè)備M4,依次類推,可得到加工設(shè)備排序[M1,M4,M5,M2,M1,M2,M5],見圖1.
圖1 編碼示意圖Fig.1 Coding diagram
種群初始解對(duì)算法的全局搜索起到至關(guān)重要的作用,種群的多樣性程度影響算法的搜索性能.據(jù)文獻(xiàn)[15]研究,反向解有50%的可能性比當(dāng)前解更靠近最優(yōu)解,目前反向?qū)W習(xí)方式也被成功用于WOA算法[16],因此本文采用反向?qū)W習(xí)法對(duì)種群進(jìn)行初始化處理.
(23)
a=amax-(amax-amin)ln(1+t(e-1)/Tmax)
(24)
通過(guò)非線性改變a的值,實(shí)現(xiàn)算法在迭代早期a的值較大,偏向于全局搜索;迭代后期a的值較小,偏向于局部搜索的目的.
為了增加解的多樣性,本文對(duì)進(jìn)化后的個(gè)體按照一定的比例進(jìn)行二次插值算子變異.
通過(guò)擬合函數(shù)尋找未知點(diǎn)數(shù)據(jù)的方式叫做插值,以三個(gè)點(diǎn)做插值可以得到二次插值,其本質(zhì)是尋找三個(gè)點(diǎn)之間構(gòu)成的二次超曲面的極小點(diǎn).具體過(guò)程如下:
Step1.設(shè)置個(gè)體插值比例P*;
Step2.在每一次迭代完成后,分別對(duì)每個(gè)個(gè)體按照概率P*進(jìn)行判斷是否需要插值;
Step3.若需要插值處理,則選擇當(dāng)前個(gè)體a,全局最優(yōu)解b,和一個(gè)隨機(jī)個(gè)體c三點(diǎn)進(jìn)行二次插值,按照公式(25)尋找D維空間內(nèi)的二次超曲面的極小點(diǎn)R=(R1,R2,…,RD),其中
(25)
Step4.判斷原個(gè)體是否被插值得到的結(jié)果所支配,若當(dāng)前解支配原個(gè)體則用其替換掉原個(gè)體,反之舍棄.
二次超曲面的極小點(diǎn)很大概率上是優(yōu)于a,b,c三點(diǎn)的,通過(guò)引入二次插值算子一方面可以尋找更優(yōu)的個(gè)體,另一方面可以通過(guò)變異增進(jìn)種群的多樣性.
基本的WOA在算法后期種群可能向著局部最優(yōu)個(gè)體進(jìn)行位置更新,難以保證找到全局最優(yōu)解.為了改善WOA的收斂性能,本文引入了基于小生境生物行為的策略[17].首先利用鯨魚優(yōu)化算法來(lái)更新種群中的鯨魚位置,產(chǎn)生新的解集,在以Pareto支配關(guān)系的準(zhǔn)則下,選擇非劣解存儲(chǔ)到外部文檔;再根據(jù)一定的淘汰機(jī)制,不斷更新外部文檔的數(shù)據(jù);最后在多個(gè)非劣解中選擇決策者最滿意的解.
Step1.創(chuàng)建小生境種群.每一次鯨魚算法的迭代都會(huì)產(chǎn)生一組非劣解,在算法運(yùn)行的過(guò)程中,把產(chǎn)生的非劣解用一個(gè)外部文檔來(lái)進(jìn)行存儲(chǔ).設(shè)定外部文檔的范圍Q以及小生境的數(shù)量W,根據(jù)解的分布范圍確定m維目標(biāo)空間的體積,再將體積分塊,類比為球體的體積反推r,由此可以計(jì)算出每個(gè)小生境種群的半徑r.隨機(jī)選擇一個(gè)個(gè)體i作為中心,以r為半徑,根據(jù)式(26)判斷其他個(gè)體與該個(gè)體之間的歐式距離Dij.通過(guò)Dij與r的距離判斷該個(gè)體是否在小生境中群內(nèi),并且選擇不在該小生境種群中的另一個(gè)體作為中心確定新種群,直到生成小生境種群數(shù)量到達(dá)W.
(26)
Step2.計(jì)算個(gè)體間密度和擁擠度.對(duì)于每個(gè)存儲(chǔ)在外部文檔的個(gè)體,需要有一定的標(biāo)準(zhǔn)判斷其優(yōu)劣.這里引入個(gè)體之間的密度和擁擠距離的概念.所謂密度,就是每個(gè)小生境內(nèi)的所擁有個(gè)體的排列的緊密程度.個(gè)體密度越低,陷入局部解的幾率就越小.所謂擁擠距離,就是每個(gè)非劣解個(gè)體與和它最接近的Pareto間的歐式距離.擁擠距離越近,算法的收斂性就越好.個(gè)體密度和擁擠距離分別用公式(27)和公式(28)表示.
(27)
(28)
Step3.制定淘汰機(jī)制.為了避免外部文檔解的數(shù)量過(guò)于膨脹,需要按照一定的規(guī)則設(shè)置淘汰概率,本文根據(jù)密度和擁擠距離對(duì)外部文檔中的每個(gè)個(gè)體如公式(29)計(jì)算淘汰的概率,淘汰概率值最小的會(huì)被保留下來(lái)作為下一次WOA更新種群的最優(yōu)個(gè)體.如果在下次迭代時(shí)有更優(yōu)解,則將外部文檔中淘汰概率較大的解刪除掉,將新解添加至外部文檔.
(29)
整個(gè)迭代算法完成之后,在外部文檔中會(huì)存有規(guī)定規(guī)模的Pareto最優(yōu)解,對(duì)于多目標(biāo)問題來(lái)說(shuō),各個(gè)目標(biāo)之間是相互制約的關(guān)系,由于決策者對(duì)目標(biāo)的關(guān)注度不同,可能導(dǎo)致他們對(duì)解的不同維度會(huì)有各自的衡量.本文采用評(píng)價(jià)準(zhǔn)則幫助決策者在自己需求的基礎(chǔ)上合理選擇最優(yōu)解.首先通過(guò)公式(30)計(jì)算出每個(gè)解在不同目標(biāo)函數(shù)下所占的比例,然后根據(jù)決策者對(duì)生產(chǎn)的需求(高速、節(jié)能、降噪)定義的評(píng)價(jià)系數(shù)加權(quán)求和,評(píng)價(jià)準(zhǔn)則如公式(31)所示:
(30)
f=αfC+βfE+χfN
(31)
α+β+χ=1
(32)
Fmin,Fmax是當(dāng)前目標(biāo)下對(duì)應(yīng)函數(shù)的最大值和最小值,f值最大的解對(duì)應(yīng)的是當(dāng)前評(píng)價(jià)系數(shù)下最合理的解,α,β,χ分別是高速評(píng)價(jià)系數(shù),節(jié)能評(píng)價(jià)系數(shù)和降噪評(píng)價(jià)系數(shù).
Step1.設(shè)置算法參數(shù),種群數(shù)量N,最大迭代次數(shù)、編碼的上下限以及位置矩陣.
Step2.根據(jù)公式(23)采用反向?qū)W習(xí)策略初始化種群.
Step3.根據(jù)改進(jìn)WOA對(duì)每個(gè)個(gè)體進(jìn)行位置的更新,并選擇非劣解存儲(chǔ)至外部檔案.
Step4.如果全部鯨魚個(gè)體完成迭代,則基于Pareto支配關(guān)系選擇出新種群更新外部文檔,基于小生境技術(shù)計(jì)算各個(gè)個(gè)體的密度、擁擠度以及淘汰概率,淘汰概率最小的個(gè)體作為最優(yōu)個(gè)體,根據(jù)外部文檔規(guī)模將淘汰概率較大的個(gè)體刪除;否則繼續(xù)Step 3.
Step5.判斷迭代是否達(dá)到最大迭代次數(shù),如果是則輸出外部文檔保存的最優(yōu)解集,否則回到Step 3.
Step6.根據(jù)4.6的描述選擇外部文檔中的Pareto綜合最優(yōu)解,確定最符合決策者目標(biāo)的結(jié)果.
圖2 算法求解流程圖Fig.2 Algorithm flow chart
算法的具體流程可如圖2所示.
本文將改進(jìn)后的混合小生境鯨魚算法簡(jiǎn)寫為SWOA,為了驗(yàn)證其求解性能,本文選擇兩個(gè)單峰函數(shù)Sphere和Schwefel 2.21用來(lái)測(cè)試算法收斂的速度,以及兩個(gè)多峰函數(shù)Griewank和Zakharov用來(lái)測(cè)試全局搜索性能,將改進(jìn)后的鯨魚算法(SWOA)與粒子群算法(PSO)、遺傳算法(GA)和基本鯨魚算法(WOA)作對(duì)比,在維度n=10下分別對(duì)每個(gè)函數(shù)測(cè)試10組數(shù)據(jù),選取平均精度 Ave、標(biāo)準(zhǔn)差 Std和尋優(yōu)成功率 SR 作為求解結(jié)果的評(píng)價(jià)指標(biāo),尋優(yōu)成功率表示算法求解結(jié)果收斂到最優(yōu)解的比例,表3給出幾種常見算法的基本參數(shù)設(shè)置,為了保證實(shí)驗(yàn)的公平性,不同算法的種群規(guī)模和最大迭代次數(shù)均設(shè)置為相同.
表3 算法參數(shù)設(shè)置
Table 3 Algorithm parameter settings
算 法 參數(shù)值設(shè)置各個(gè)算法的相同部分種群規(guī)模N=50,最大迭代次數(shù)MaxGen=200,維度n=10PSO學(xué)習(xí)因子c1=c2=2,慣性權(quán)重w=0.6GA交叉概率pc=0.9,變異概率pm=0.1WOAa由2到0線性減小,b=1SWOAa由2到0非線性減小,b=1,P?=0.5
圖3 四種算法運(yùn)行不同函數(shù)下的收斂圖Fig.3 Convergence graphs of four algorithmsrunning different functions
表4給出了不同算法運(yùn)行測(cè)試函數(shù)后的數(shù)值,圖3分別為不同函數(shù)下的收斂曲線對(duì)比圖.改進(jìn)的鯨魚算法SWOA在四組獨(dú)立實(shí)驗(yàn)中均一致收斂到全局最優(yōu)解,尤其是求解函數(shù)f1,f3,f4時(shí),SWOA算法表現(xiàn)出較大優(yōu)勢(shì),能收斂到理論最優(yōu)值0,而對(duì)于f2,該算法求得的最優(yōu)結(jié)果也非常接近于0,并且能夠達(dá)到函數(shù)給定的收斂精度.從圖3中可以明顯地看出,相比于WOA,PSO和GA,SWOA在求解的快速性和準(zhǔn)確性性能上都比較優(yōu)秀,PSO和GA在運(yùn)算中未能找到最優(yōu)結(jié)果,WOA 在運(yùn)算函數(shù)f2和f4時(shí)陷入了局部最優(yōu)解,但改進(jìn)后的算法很容易便突破了局部最優(yōu)解,在其他函數(shù)上也比普通的鯨魚算法更快找到最優(yōu)解位置.f1和f3可以看出SWOA和WOA相比明顯提升了收斂速度,迭代到第30次左右便找到最優(yōu)解,雖然WOA也取得很好的收斂效果,但是仍不及 SWOA 的收斂性能明顯,結(jié)果表明改進(jìn)后的算法無(wú)論是收斂速度還是收斂精度,都起到一定的改善效果.
表4 測(cè)試函數(shù)的求解結(jié)果對(duì)比
Table 4 Comparison of solution results of test functions
函數(shù)名稱PSOAVESTDSRGAAVESTDSRWOAAVESTDSRSWOAAVESTDSRSpheref1(n=10)0.0001860.00031050.1486134.058601.20E-883.77E-8810000100Schwefel2.21f2(n=10)0.0794840.08018902.7337270.75982501.4124541.94521404.93E-1081.28E-107100Griewankf3(n=10)73.7958715.3996403.6985021.79171500.0888080.1497486000100Zakharovf4(n=10)0.0027630.0067940119.146155.5752024.2154523.14148000100
為了驗(yàn)證改進(jìn)算法求解FJSP問題的有效性,現(xiàn)選取具有代表性的柔性作業(yè)車間調(diào)度問題進(jìn)行分析,與兩種經(jīng)典的算法:文獻(xiàn)[18]中的多目標(biāo)遺傳算法(Multi-Objective Genetic Algorithm,MOGA)和常用的求解多目標(biāo)問題的非支配排序遺傳算法(Non-dominated Sorting Genetic Algorithm,NSGA-II)以及基本鯨魚算法(WOA)進(jìn)行比較,同時(shí)以最大完工時(shí)間C(min),車間調(diào)度總能耗E(kwh),車間噪聲輻射N(dB)作為優(yōu)化目標(biāo)求解,根據(jù)文獻(xiàn)[18]中的4×5,10×6,20×5三組實(shí)例進(jìn)行分析驗(yàn)證,本文采用MatlabR2016a實(shí)現(xiàn)算法編程,實(shí)驗(yàn)環(huán)境為操作系統(tǒng)window10,處理器為Intel(R)Core(TM)i5-4210M.
表5將SWOA、MOGA、NSGA-II和WOA分別運(yùn)行十次同樣的數(shù)據(jù)集進(jìn)行對(duì)比測(cè)試,計(jì)算每組結(jié)果的最優(yōu)值Best和平均值A(chǔ)vg.參考文獻(xiàn)[17]的參數(shù)定義,本文將算法參數(shù)設(shè)置為:種群規(guī)模為N=60,外部文檔規(guī)模Q=20,迭代次數(shù)MaxGen=200,小生境種群W=4,并且設(shè)置完工時(shí)間的評(píng)價(jià)系數(shù)α最高,在α=0.6,β=0.2,χ=0.2時(shí)得到的結(jié)果如表5所示,本文列出SWOA求解10×6實(shí)例問題的甘特圖見圖4,每個(gè)方格代表加工時(shí)長(zhǎng),括號(hào)中第一個(gè)數(shù)字代表加工工件序號(hào),第二個(gè)數(shù)字代表該工件所選擇的設(shè)備,其對(duì)應(yīng)Pareto解的分布見圖5,并得到以時(shí)間、能耗和噪聲為評(píng)價(jià)導(dǎo)向的各個(gè)目標(biāo)下的迭代收斂曲線見圖6.
表5 測(cè)試結(jié)果對(duì)比
Table 5 Comparison of test results
從表5的實(shí)驗(yàn)結(jié)果可知,根據(jù)三組實(shí)驗(yàn)案例的測(cè)試結(jié)果,混合小生境的鯨魚算法在給定的評(píng)價(jià)權(quán)重系數(shù)下均能找到較為滿意的解,且在解的質(zhì)量上有較大的提高.SWOA在處理4×5問題上,相較于其他三種算法,最優(yōu)解相差不大,但是得到的三個(gè)目標(biāo)的平均值均小于NSGA-II和WOA.在處理多工件問題上,SWOA對(duì)于完工時(shí)間的優(yōu)化效果明顯,表現(xiàn)出較大優(yōu)勢(shì).在10×6問題上,SWOA取得的三個(gè)目標(biāo)的平均值結(jié)果均優(yōu)于MOGA和NSGA-II,有兩個(gè)目標(biāo)結(jié)果優(yōu)于WOA.在20×5問題上,當(dāng)SWOA和WOA獲得相同的加工時(shí)間64時(shí),SWOA的能耗值和噪聲值都要低于 WOA的求解結(jié)果,說(shuō)明SWOA能夠有效求解多目標(biāo)FJSP問題.根據(jù)圖5可知,Pareto可行解的分布性比較分散且均勻,能夠有效跳出局部收斂狀態(tài),說(shuō)明小生境種群能夠引領(lǐng)鯨魚算法跳出局部最優(yōu),擴(kuò)大搜索的范圍,有效更新外部文檔中個(gè)體的最優(yōu)個(gè)體,保證種群的多樣性.根據(jù)圖4的甘特圖和圖6各個(gè)目標(biāo)的解的變化和種群均值的變化可知,在近60次迭代過(guò)程中就能夠陷入收斂狀態(tài),說(shuō)明了種群的收斂速度較快.
圖4 10×6實(shí)例對(duì)應(yīng)的工序圖 Fig.4 Process diagram corresponding to 10×6 instances
圖5 10×6實(shí)例對(duì)應(yīng)的Pareto解的分布Fig.5 Distribution of Pareto solution corresponding to 10×6
為了驗(yàn)證選取的評(píng)價(jià)系數(shù)因子能夠有效影響FJSP的多個(gè)目標(biāo)往預(yù)期方向優(yōu)化的可行性,現(xiàn)選取某汽車公司冷卻系統(tǒng)的生產(chǎn)線[18]作為調(diào)度目標(biāo)進(jìn)行求解,對(duì)該冷卻系統(tǒng)數(shù)據(jù)分析,得到10×6的FJSP,表6為根據(jù)實(shí)際生產(chǎn)任務(wù)的簡(jiǎn)化模型.算法中的各項(xiàng)參數(shù)與5.2的參數(shù)設(shè)置相同,只改變?cè)u(píng)價(jià)系數(shù)權(quán)重.
圖6 10×6實(shí)例在各個(gè)目標(biāo)上的收斂性圖Fig.6 Convergence graph of 10×6 instances on each target
表6 工序在各機(jī)器上的加工時(shí)間、功率和噪聲值Table 6 Processing time,power and noise values of each process on each machine
表7計(jì)算了在不同評(píng)價(jià)系數(shù)的影響下,小生境鯨魚算法所計(jì)算得到的完工時(shí)間、能耗和噪聲的Pareto最優(yōu)解求解結(jié)果,圖7為高速、節(jié)能、降噪的評(píng)價(jià)系數(shù)α,β,χ分別為[0.4,0.4,0.2],[0.4,0.2,0.4],[0.2,0.4,0.4]時(shí)的求解結(jié)果甘特圖.從表7的數(shù)據(jù)結(jié)果可以觀察到,最終的解的優(yōu)化程度與評(píng)價(jià)系數(shù)的分配有著密切的關(guān)系,某項(xiàng)目標(biāo)的評(píng)價(jià)權(quán)重所占比例越高,該評(píng)價(jià)權(quán)重所對(duì)應(yīng)的目標(biāo)優(yōu)化結(jié)果會(huì)越為理想,比如當(dāng)完工時(shí)間在價(jià)值系數(shù)α為0時(shí),最終完工時(shí)間可高達(dá)121min,在價(jià)值系數(shù)α為1時(shí),運(yùn)行結(jié)果則在28到30min的范圍內(nèi),能耗和噪聲也可得到同樣的規(guī)律.圖7甘特圖數(shù)據(jù)也表明,某項(xiàng)目標(biāo)的評(píng)價(jià)系數(shù)為0.2時(shí),求解的結(jié)果會(huì)劣于評(píng)價(jià)系數(shù)為0.4時(shí)的值,由此可以證明不同的偏好可以得到不同的目標(biāo)值和不同的調(diào)度方案,評(píng)價(jià)系數(shù)越大,得到相應(yīng)的目標(biāo)值越小,在進(jìn)行調(diào)度問題的選擇時(shí)可以通過(guò)評(píng)價(jià)系數(shù)來(lái)得到?jīng)Q策者偏好的結(jié)果,有利于決策者均衡生產(chǎn)效率、能源消耗和噪聲污染三者的協(xié)調(diào)關(guān)系,從而幫助決策者對(duì)車間調(diào)度的個(gè)性化生產(chǎn)起到指導(dǎo)作用,執(zhí)行調(diào)度方案時(shí)在保證完工時(shí)間滿足交貨期的前提下盡量的減少能源和噪聲的消耗.
本文采用混合小生境技術(shù)的鯨魚優(yōu)化算法對(duì)建立的三個(gè)目標(biāo)的FJSP模型進(jìn)行求解,通過(guò)與其他文獻(xiàn)中的結(jié)果進(jìn)行對(duì)比分析,驗(yàn)證了改進(jìn)后的鯨魚算法在求解多目標(biāo)FJSP問題時(shí)的可行性和有效性.仿真結(jié)果表明,該策略有效發(fā)揮了兩種算法的優(yōu)勢(shì),提高了基本鯨魚算法的求解性能和收斂精度,有效解決了多目標(biāo)FJSP問題.另外也通過(guò)對(duì)具體實(shí)例的運(yùn)算,說(shuō)明可以通過(guò)改變?cè)u(píng)價(jià)系數(shù)來(lái)得到?jīng)Q策者偏好的結(jié)果.
表7 SWOA在不同價(jià)值系數(shù)求解結(jié)果的對(duì)比
Table 7 Comparison of SWOA results in different value coefficients
在實(shí)際生產(chǎn)過(guò)程中,工件的加工存在各種不確定的干擾因素,WOA算法仍有很多可改進(jìn)之處,未來(lái)可以進(jìn)一步研究WOA的最優(yōu)性能,求解在復(fù)雜情況下FJSP動(dòng)態(tài)重調(diào)度問題.