王建華,潘宇杰,孫 瑞
(江蘇大學(xué) 管理學(xué)院,江蘇 鎮(zhèn)江 212013)
環(huán)境污染是近年來(lái)我國(guó)重點(diǎn)關(guān)注的熱點(diǎn)問(wèn)題。據(jù)有效數(shù)據(jù)不完全統(tǒng)計(jì),中國(guó)工業(yè)能源消耗占社會(huì)總能源消耗的70%,而二氧化碳排放量占總二氧化碳排放量的83.1%,可以看出,大部分的能源消耗以及二氧化碳排放都來(lái)自于工業(yè)行業(yè)[1],因此能源的使用效率成為了工業(yè)企業(yè)關(guān)注的重點(diǎn)。
綠色制造正是在這一背景下逐漸成為企業(yè)界與學(xué)術(shù)界的常議話題之一[2]。綠色制造作為現(xiàn)代先進(jìn)制造模式,其主旨為在不降低產(chǎn)品功能與質(zhì)量的前提下,盡可能地降低生產(chǎn)成本,同時(shí)兼顧環(huán)境污染與能源浪費(fèi)問(wèn)題,進(jìn)而實(shí)現(xiàn)經(jīng)濟(jì)指標(biāo)和綠色指標(biāo)多目標(biāo)的協(xié)同優(yōu)化[3],而綠色車(chē)間調(diào)度作為綠色制造的重要一環(huán),近年來(lái)也成為了學(xué)術(shù)界研究的熱點(diǎn)。雖然綠色車(chē)間調(diào)度已經(jīng)引起了學(xué)者們的關(guān)注,但是相關(guān)的研究文獻(xiàn)還較少。李玉霞等[4]基于設(shè)備選擇和作業(yè)順序規(guī)劃提出了一種二階低碳調(diào)度模型用于解決車(chē)間調(diào)度問(wèn)題;Adekola等[5]和Capón-García等[6]分別研究了丙烯酸纖維生產(chǎn)的批處理問(wèn)題,用于解決以經(jīng)濟(jì)指標(biāo)和綠色指標(biāo)為目標(biāo)的多目標(biāo)車(chē)間調(diào)度問(wèn)題;Ding等[7]針對(duì)作業(yè)車(chē)間調(diào)度問(wèn)題以產(chǎn)品總完工時(shí)間不超過(guò)截止時(shí)間為約束,優(yōu)化生產(chǎn)過(guò)程的總電耗。
上述文獻(xiàn)的研究對(duì)象大都是傳統(tǒng)車(chē)間調(diào)度問(wèn)題(Job-shop Scheduling Problem, JSP),所研究的內(nèi)容較為簡(jiǎn)單,而關(guān)于柔性作業(yè)車(chē)間調(diào)度問(wèn)題(Flexible Job-shop Scheduling Problem, FJSP)的綠色車(chē)間調(diào)度研究還相對(duì)較少。柔性作業(yè)車(chē)間區(qū)別于傳統(tǒng)作業(yè)車(chē)間,具有工序順序、工藝路線和機(jī)器的不確定性。朱偉[8]提出一種改進(jìn)非支配排序遺傳算法解決柔性作業(yè)車(chē)間多目標(biāo)調(diào)度問(wèn)題;Gong等[9]設(shè)計(jì)了一種模因算法用于解決具有工人柔性的多目標(biāo)柔性車(chē)間調(diào)度;Zheng等[10]提出一種基于知識(shí)導(dǎo)向的果蠅優(yōu)化算法求解具有雙資源約束的柔性作業(yè)車(chē)間調(diào)度問(wèn)題。上述研究中,多是只從經(jīng)濟(jì)目標(biāo)角度出發(fā)解決柔性作業(yè)車(chē)間問(wèn)題,少有考慮綠色目標(biāo),本文將從機(jī)床折舊的角度進(jìn)行考慮,機(jī)床在使用過(guò)程中不可避免地產(chǎn)生折舊,從而導(dǎo)致單位時(shí)間內(nèi)產(chǎn)生的能耗增加,使用時(shí)間越久的機(jī)床,單位時(shí)間內(nèi)產(chǎn)生的能耗越多。因而在作業(yè)調(diào)度過(guò)程中,若有若干個(gè)調(diào)度方案完工時(shí)間相同,但因使用的機(jī)器不同導(dǎo)致產(chǎn)生的能耗不同,進(jìn)而可以選擇能耗低的方案,此類(lèi)方案大多使用折舊低的機(jī)床。
在求解方法方面,現(xiàn)有的研究提出了許多改進(jìn)遺傳算法用于解決流水車(chē)間問(wèn)題以及作業(yè)車(chē)間問(wèn)題[11-13],但是并未考慮引入均衡分散原則用于生成初始種群,因此本文建立了以最大完工時(shí)間和總能耗加權(quán)和最小為調(diào)度目標(biāo)的柔性作業(yè)車(chē)間綠色調(diào)度模型,同時(shí)設(shè)計(jì)了一種改進(jìn)的遺傳算法(Improved Genetic Algorithm, IGA)對(duì)其進(jìn)行求解。在IGA中,不僅采用了一種三維實(shí)數(shù)的編碼方式、便于動(dòng)態(tài)變化的工序機(jī)器號(hào)選擇與加工時(shí)間的數(shù)據(jù)存儲(chǔ);同時(shí)提出了結(jié)合均衡分散原則的初始種群產(chǎn)生方法,使遺傳算法的收斂速度和全局搜索性能顯著提升,降低陷入局部最優(yōu)解的概率,使初始種群的解均勻遍布整個(gè)解空間。最后結(jié)合Brandimarte算例驗(yàn)證所提出的算法的可行性和有效性,同時(shí)也分析了不同權(quán)重比例對(duì)最大完工時(shí)間和總能耗的影響。
對(duì)于柔性作業(yè)車(chē)間綠色調(diào)度問(wèn)題可以有如下描述:車(chē)間中有n個(gè)工件在m臺(tái)機(jī)器上加工,工件i(i=1,2,…,n)具有Ni道工序,其中不同工件的工序數(shù)量可以不等,在本文中不考慮工件的工序順序柔性,因此每個(gè)工件只有一條指定的工藝路線;工件i的第j道工序Oij具有一定可選擇的機(jī)器數(shù)mij(mij 表1 簡(jiǎn)單FJSP模型 Tab. 1 Simple FJSP model 在對(duì)本文提出的問(wèn)題建立模型之前,首先對(duì)問(wèn)題作一些合理的假設(shè),以保證研究結(jié)果的嚴(yán)謹(jǐn)性和準(zhǔn)確性:1)工序不能在加工過(guò)程中被打斷;2)本文不考慮工件在加工前的準(zhǔn)備時(shí)間以及加工過(guò)程中的搬運(yùn)時(shí)間;3)機(jī)器不會(huì)在加工過(guò)程中出現(xiàn)故障;4)每道工序僅能被一臺(tái)機(jī)器上加工一次;5)每臺(tái)機(jī)器在每個(gè)時(shí)刻只能加工一個(gè)工件;6)同一工件的不同工序必須在不同的時(shí)刻被加工;7)在初始時(shí)間,機(jī)器處于停止運(yùn)轉(zhuǎn)狀態(tài),且機(jī)器上沒(méi)有代加工工件;8)在初始時(shí)間,所有工件的原材料準(zhǔn)備完畢;9)機(jī)器一旦開(kāi)啟,只有加工完該機(jī)器所需加工的最后一道工序才停止運(yùn)行,其余時(shí)間保持空載狀態(tài)。 1.2.1 符號(hào)定義 為方便討論及讀者對(duì)本文的理解,現(xiàn)對(duì)本文中出現(xiàn)的所有符號(hào)作定義,如表2所示。 表2 符號(hào)定義 Tab. 2 Symbol definition 1.2.2 模型建立 基于以上問(wèn)題描述以及條件假設(shè),結(jié)合本文的調(diào)度目標(biāo)為最大完成時(shí)間和總碳排放量的加權(quán)和,其中總能耗的計(jì)算公式參照文獻(xiàn)[14]所提出的普通機(jī)械加工設(shè)備工步間空載運(yùn)行時(shí)停機(jī)節(jié)能的理論決策模型。其能耗分布如圖1所示,其中:t0~t1為機(jī)器的啟動(dòng)時(shí)間,t2~t3,t4~t5都是機(jī)器的加工時(shí)間,t1~t2及t3~t4為機(jī)器的空載時(shí)間,t5~t6為機(jī)器的停機(jī)時(shí)間。 圖1 機(jī)床加工功率變化Fig. 1 Machine tool power change 結(jié)合本文研究問(wèn)題以及上述表2的參數(shù)設(shè)定,可以得到機(jī)器在啟動(dòng)、負(fù)載、空轉(zhuǎn)、停止時(shí)各產(chǎn)生的能耗。 (1) (2) (3) (4) 進(jìn)而可以得到在整個(gè)生產(chǎn)過(guò)程中總的能量消耗: E=Eb+Ec+El+Ef (5) 其中:式(1)表示機(jī)器啟動(dòng)的總能耗;式(2)表示機(jī)器負(fù)載時(shí)的總能耗;式(3)表示機(jī)器空轉(zhuǎn)時(shí)的總能耗;式(4)表示機(jī)器停止運(yùn)轉(zhuǎn)的總能耗;式(5)表示所有機(jī)器的總能耗。 時(shí)間是企業(yè)生產(chǎn)時(shí)考慮的最重要的因素,同樣能耗也是一項(xiàng)重要指標(biāo),本文的目標(biāo)函數(shù)是使最大完工時(shí)間(Makespan)CT和總能耗E的加權(quán)和最小,以此建立如下FJSP模型。 (6) s.t.Cij-Sij=Pij;i=1,2,…,n,j=1,2,…,Ni (7) Mij∈mij (8) (i,k)=1,2,…,n,(j,v)=1,2,…,Ni (9) Sij≥Ci(j-1);i=1,2,…n,j=1,2,…,Ni (10) m=1,2,…,k (11) Xkvij∈{0,1},(i,k)=1,2,…,n, (j,v)=1,2,…,Ni (12) Kijm∈{0,1};i=1,2,…,n, j=1,2,…,Ni,m=1,2,…,k (13) 其中:式(6)表示目標(biāo)函數(shù),OS為所求的目標(biāo)值,代表最小的最大完工時(shí)間C和總能耗E的加權(quán)和;式(7)表示工序不能在加工過(guò)程中被打斷;式(8)表示每道工序有且僅能在一臺(tái)機(jī)器上進(jìn)行加工,并且只能加工一次;式(9)表示每臺(tái)機(jī)器一次在每個(gè)時(shí)刻只能加工一個(gè)工件;式(10)表示同一個(gè)工件的不同工序需要在不同時(shí)間被加工,且時(shí)間不能有重疊;式(11)表示機(jī)器一旦開(kāi)啟,需要在加工完該機(jī)器上的最后一道工序才停止;式(12)表示0- 1變量,若工序Oij在工序Okv之后加工,則Xkvij=1,否則Xkvij=0;式(13)表示0- 1變量,若工序Oij在機(jī)器m上加工,則Kijm=1,否則Kijm=0。 本文所求解的綠色FJSP問(wèn)題主要有兩個(gè)子問(wèn)題,即每道工序機(jī)器的選擇以及工序在機(jī)器上的加工順序,F(xiàn)JSP已被證實(shí)屬于NP-hard問(wèn)題,而對(duì)于大規(guī)模的FJSP更是屬于求解困難的問(wèn)題。針對(duì)這些問(wèn)題設(shè)計(jì)了一種改進(jìn)遺傳算法用于求解綠色FJSP。遺傳算法是一種具有隨機(jī)、自適應(yīng)和高度并行特點(diǎn)的優(yōu)化算法,由Holland教授于1975年首次提出,但也存在著明顯的缺點(diǎn),遺傳算法的本質(zhì)是隨機(jī)性的搜索,不能保證最終所得解為全局最優(yōu)解[15-16]。針對(duì)這一問(wèn)題,本文引入正交實(shí)驗(yàn)的均衡分散原則生成初始種群,保證初始種群分布于用于整個(gè)解空間,提高初始種群的質(zhì)量;同時(shí)采用三維實(shí)數(shù)的編碼方式,避免了交叉操作后重復(fù)基因片段的產(chǎn)生,具體操作步驟如下: 步驟1 設(shè)置參數(shù):種群規(guī)模N、迭代次數(shù)count、交叉概率Pc以及變異概率Pm。 步驟2 產(chǎn)生初始種群。令i=0,結(jié)合均衡分散原則隨機(jī)產(chǎn)生初始種群P。 步驟3 計(jì)算種群的適應(yīng)度值。采用權(quán)重分配法為兩個(gè)目標(biāo)分配權(quán)重,然后求和得到個(gè)體適應(yīng)度值。 步驟4 判斷終止條件,如果滿足條件(i>count),則輸出最優(yōu)解;否則進(jìn)行下一步。 步驟5 進(jìn)行選擇操作,采用輪盤(pán)賭的方法選擇適應(yīng)度值較優(yōu)的個(gè)體進(jìn)入新的種群,種群規(guī)模仍為N。 步驟6 進(jìn)行交叉操作,從種群中選取兩個(gè)個(gè)體,若random>Pc,則用雙個(gè)體算術(shù)交叉的方式對(duì)其進(jìn)行交叉操作,然后放入新的種群;否則將兩個(gè)個(gè)體直接放入新的種群,直到所有的個(gè)體都執(zhí)行了交叉操作為止。 步驟7 進(jìn)行變異操作,根據(jù)變異概率Pm判斷是否對(duì)個(gè)體進(jìn)行變異操作,若random>Pm,則用動(dòng)態(tài)步長(zhǎng)的方式對(duì)其基因片段進(jìn)行變異;否則進(jìn)行下一步操作。 步驟8 求出當(dāng)前種群的最優(yōu)解,令i=i+1,返回步驟4。 本文采用三維實(shí)數(shù)的編碼方式[17],用元胞結(jié)構(gòu)進(jìn)行存儲(chǔ),存儲(chǔ)結(jié)構(gòu)為N×n×Ni,這種編碼方式的好處是方便對(duì)其中的基因進(jìn)行修改以及交叉時(shí)不會(huì)產(chǎn)生沖突基因。每道工序的機(jī)器號(hào)為一條染色體的基因,每個(gè)染色體擁有n×Ni個(gè)基因,而一個(gè)種群擁有N條這樣的染色體。例如圖2所示為4×4的一條染色體,行代表同一個(gè)工件的不同工序的機(jī)器號(hào),列代表不同工件的同一道工序的機(jī)器號(hào),0表示該工件的該工序不存在。 圖2 染色體示例圖Fig. 2 Example diagram of chromosome 染色體中基因的位置決定了工件的加工順序,先自上而下加工所有工件的第一道工序,再同樣加工所有工件的第二道工序,直至所有工序都加工完成,例如圖2染色體對(duì)應(yīng)的加工順序轉(zhuǎn)化為表3,首先加工O11,再加工O21,然后繼續(xù)加工其余工序。 表3 基因加工順序 Tab. 3 Gene processing sequence 初始種群解質(zhì)量與最優(yōu)解之間的差距很大程度上決定了GA的搜索性能,而一般采用隨機(jī)方式產(chǎn)生的初始種群很難保證解的質(zhì)量,在搜索過(guò)程中難免會(huì)造成陷入局部最優(yōu)解以及增加搜索時(shí)長(zhǎng)的情況。為了加強(qiáng)GA的全局搜索性能,本文結(jié)合均衡分散原則來(lái)生成初始種群,均衡分散原則是實(shí)驗(yàn)設(shè)計(jì)(Design of Experiment, DOE)中的常用方法[18],在實(shí)驗(yàn)安排中,所挑選出來(lái)的水平組合是均勻分布在所有水平空間的,均衡分散原則如表4所示。以此原則為基準(zhǔn)的初始種群生成方法主要遵守三個(gè)原則:1)所有機(jī)器被選擇的次數(shù)相等;2)同一工件的不同工序選用不同機(jī)器;3)不同工件的同一工序選用不同機(jī)器。以此方法生成的每一個(gè)解都具備三個(gè)維度上的分散性,提升了解的質(zhì)量,具體步驟如下: 步驟1 建立調(diào)用機(jī)器次數(shù)初始集a1×k=[0,0,…,0]。 步驟2 隨機(jī)生成工序Oij的機(jī)器號(hào)Mij,令am=Mij,其中Mij∈mij,m代表機(jī)器號(hào)。 表4 均勻分布點(diǎn)數(shù) Tab. 4 Evenly distributed points 假設(shè)存在一個(gè)每個(gè)面都有9個(gè)點(diǎn)的立方體中,根據(jù)均勻分散原則,在所有的面上都需要均勻分布點(diǎn)數(shù),如表4所示坐標(biāo),在立方體中均勻分布著9個(gè)點(diǎn)。具體示例如圖2所示,該表為4×4的一條染色體,共有4個(gè)工件,每個(gè)工件4道工序,最終所選的機(jī)器集體現(xiàn)了上述三個(gè)原則,但考慮到實(shí)際情況中機(jī)器平均調(diào)用次數(shù)不一定為整數(shù),本實(shí)例中共有6臺(tái)機(jī)器,每臺(tái)機(jī)器的理想調(diào)用次數(shù)為2.6,而機(jī)器1~4都調(diào)用三次,機(jī)器5、6調(diào)用兩次,因此原則1)可以具有一定柔性。 選擇操作的目的是為了讓具有高適應(yīng)度值的染色體存活下來(lái),而高適應(yīng)度值意味著該個(gè)體的解質(zhì)量更高,在一次次迭代過(guò)程中,種群的規(guī)模N是固定不變的,但是其中的染色體是在不斷變化的,并且是朝著好的一面發(fā)展。本文采用輪盤(pán)賭的方法選擇染色體個(gè)體,具體步驟如下: 步驟2 隨機(jī)產(chǎn)生α,α∈(0,1),若α∈(∑fi′,∑fi+1′),則選取第i個(gè)個(gè)體,將此步驟循環(huán)N次,即得到新的種群。 在IGA中,交叉操作選擇雙個(gè)體算術(shù)交叉的方式,在基于機(jī)器的編碼或基于工件的編碼方式中,通常在兩個(gè)被選中染色體的相同位置選取兩個(gè)或者多個(gè)交叉位進(jìn)行交叉,隨后再進(jìn)行沖突檢測(cè),檢查重復(fù)的基因片段,而在本文所采用的三維實(shí)數(shù)的編碼方式中,需要將該交叉方式進(jìn)行改進(jìn),同時(shí)避免了產(chǎn)生相同的基因片段,無(wú)需進(jìn)行沖突檢測(cè),減少了交叉操作的步驟,示例如圖3所示,具體步驟如下: 步驟1 隨機(jī)從種群N中選取兩條染色體,染色體結(jié)構(gòu)為n×Ni,隨機(jī)確定兩個(gè)數(shù)βi,βj,β=(β1,β2,…,βn),其中βi∈{1,2,…,Ni},N=N-2。 步驟2 在兩條染色體的每一行都確定一個(gè)交叉位,每個(gè)交叉位置的選擇用β,然后將兩條染色體進(jìn)行交叉。繼續(xù)步驟1的操作,直至N=0。 圖3 染色體交叉Fig. 3 Chromosome crossover 變異操作的目的是為了保證種群的多樣性,同樣也是為了增加算法的搜索方向,防止遺漏某些區(qū)域的解。本文因采用的是實(shí)數(shù)編碼,所以選擇動(dòng)態(tài)步長(zhǎng)[16]的方式來(lái)進(jìn)行變異操作,從而達(dá)到搜索該方向局部空間的效果,實(shí)例如圖4所示,具體步驟如下: 步驟1 隨機(jī)生成X=(ε1,ε2)用于確定需要執(zhí)行變異操作的基因,其中ε1∈{1,2,…,n},ε2∈{1,2,…,Ni},X為選中的機(jī)器號(hào)。 步驟2 確定基因的搜索方向,若X≤k/2,則搜索方向?yàn)檎较騵X+1,X+2,…,k};否則搜索方向?yàn)樨?fù)方向{1,2,…,X-1},其中X∈{1,2,…,k}。 步驟3 確定搜索的步長(zhǎng)。為了保證局部搜索的有效性,若搜索方向?yàn)檎较?,則將步長(zhǎng)確定為L(zhǎng)1,若L1不存在,將步長(zhǎng)變?yōu)長(zhǎng)3,直至步長(zhǎng)存在L2i+1;否則步長(zhǎng)為L(zhǎng)2,L2不存在變?yōu)長(zhǎng)4,直至步長(zhǎng)存在L2i,其中L=(X+1,X-1,X+2,X-2,…,k,1)。 圖4 染色體變異實(shí)例Fig. 4 Example of chromosomal variation 為了驗(yàn)證IGA的有效性,本文采用Matlab 2014a的M語(yǔ)言進(jìn)行編程,并在Windows 7,Intel Core i5- 3337U,CPU 1.8 GHz,內(nèi)存4 GB,64位操作系統(tǒng)的計(jì)算機(jī)上運(yùn)行。在整個(gè)實(shí)驗(yàn)過(guò)程中,IGA的參數(shù)設(shè)置如下:迭代次數(shù)count=1 000,種群規(guī)模N=200,交叉概率Pc=0.8,變異概率Pm=0.1。 3.1.1 實(shí)驗(yàn)1(8×8問(wèn)題) 實(shí)驗(yàn)1的8×8工件測(cè)試數(shù)據(jù)來(lái)自于文獻(xiàn)[19],由8個(gè)工件、8臺(tái)機(jī)器組成,為了測(cè)試IGA的性能,將其目標(biāo)函數(shù)設(shè)定為最小化最大完成時(shí)間,將所得結(jié)果與SPT規(guī)則、傳統(tǒng)GA以及Zhang等[20]提出的GA測(cè)試結(jié)果進(jìn)行對(duì)比,其中SPT所能求得的最優(yōu)解為19,傳統(tǒng)GA求解的最優(yōu)解為16,Zhang等[20]的方法求得的最優(yōu)解為14,而本文所提算法求得的最優(yōu)解為14,由對(duì)比數(shù)據(jù)可知,IGA的求解結(jié)果已達(dá)到文獻(xiàn)記錄中的最優(yōu)解,圖5顯示了8×8算例中Makespan為14的調(diào)度方案。 3.1.2 實(shí)驗(yàn)2(基準(zhǔn)Brandimarte算例) 為了更好地驗(yàn)證IGA的有效性,在基準(zhǔn)Brandimarte算例MK01~MK08的基礎(chǔ)上分別運(yùn)行10次,并取其中的最優(yōu)解分別與田旻等[21]提出的分層混合遺傳算法(Hierarchical Hybrid Genetic Algorithm, HHGA),Ziaee[22]提出的基于構(gòu)造過(guò)程的啟發(fā)式算法(Heuristic Algorithm Construction Process, HACP),夏俊紅等[23]提出的改進(jìn)螢火蟲(chóng)(Improved Glowworm Swarm Optimization, IGSO)算法進(jìn)行對(duì)比。 從表5的統(tǒng)計(jì)結(jié)果來(lái)看,MK02、MK03以及MK06已經(jīng)達(dá)到了相關(guān)文獻(xiàn)算法的最優(yōu)值,其余問(wèn)題的結(jié)果也接近于相關(guān)文獻(xiàn)算法的最優(yōu)值。與單個(gè)算法相比,本文算法得到的結(jié)果有7個(gè)優(yōu)于HACP得到的結(jié)果,有3個(gè)優(yōu)于HHGA得到的結(jié)果,有7個(gè)接近或等于IGSO得到的結(jié)果,由此可見(jiàn)本文算法與其余三種算法相比具有一定的優(yōu)越性,圖6顯示了20×10算例中最大完成時(shí)間為530的調(diào)度方案。 圖5 8×8實(shí)例(Makespan=14)調(diào)度方案Fig. 5 Scheduling scheme of 8×8 instance (Makespan=14) 圖6 20×10實(shí)例(Makespan=530)調(diào)度方案Fig. 6 Scheduling scheme of 20×10 instance (Makespan=530) 表5 Brandimarte算例結(jié)果分析 Tab. 5 Analysis of Brandimarte example results 3.1.3 算法分析 圖7為實(shí)驗(yàn)1中傳統(tǒng)GA的收斂曲線,圖8為IGA的收斂曲線,從圖7~8中可以看出,傳統(tǒng)GA在第1 000代的時(shí)候才得到了最優(yōu)解,而IGA在420代的時(shí)候已經(jīng)得到了傳統(tǒng)GA最優(yōu)解相等的值,并在大約500代的時(shí)候得到了IGA所能得到的最優(yōu)解。此外,IGA在開(kāi)始階段就快速收斂,并在之后收斂速度減緩,說(shuō)明了IGA初始解集的質(zhì)量較高,具有一定的全局搜索性能。 圖7 8×8實(shí)例傳統(tǒng)GA收斂曲線Fig. 7 Traditional GA convergence curve of 8×8 instance 圖8 8×8實(shí)例IGA收斂曲線Fig. 8 IGA convergence curve of 8×8 instance 對(duì)于以最大完工時(shí)間(Makespan)CT和總能耗E的加權(quán)和最小為目標(biāo)函數(shù)的綠色FJSP,為了保證實(shí)驗(yàn)結(jié)果的可信度,數(shù)據(jù)采用基準(zhǔn)Brandimarte算例的MK08,因其最終的Makespan較大,能夠較為明顯比較出不同α值得到結(jié)果的差異。機(jī)器的四階段(開(kāi)機(jī)、空載、加工、關(guān)機(jī))單位能耗取[42,14,25,43][24],同時(shí)考慮新舊機(jī)器單位能耗不同的因素[25],因不同使用年限的機(jī)器能耗不同,在這里本文假設(shè)舊機(jī)器的單位能耗為新機(jī)器的1.2倍,MK08算例中的10臺(tái)機(jī)器M1~M5為新機(jī)器,M6~M10為舊機(jī)器,因此舊機(jī)器的四階段(開(kāi)機(jī)、空載、加工、關(guān)機(jī))單位能耗為[50,17,30,52]對(duì)于α分別取[0.0,0.2,0.4,0.6,0.8,1.0]六個(gè)維度,測(cè)試結(jié)果如表6所示。 表6 不同α取值的綠色FJSP結(jié)果 Tab. 6 Green FJSP results with different α values 為了更好地分析不同α取值對(duì)OS、C、E的影響,將OS與E分別取除以100得到對(duì)比結(jié)果,如圖9所示。 圖9 FJSP結(jié)果分析Fig. 9 Analysis chart of FJSP results 從圖9可以發(fā)現(xiàn):在α不斷增大的過(guò)程中,最大完成時(shí)間逐漸縮小,而總能耗也呈逐漸下降的趨勢(shì),因此可以得出結(jié)論,最大完成時(shí)間與能耗呈正相關(guān)關(guān)系,企業(yè)在追求完工時(shí)間最小化的同時(shí),也在潛在地追求能耗的最小。 針對(duì)綠色FJSP進(jìn)行研究,本文設(shè)計(jì)了IGA用于解決該類(lèi)問(wèn)題。依據(jù)GA的缺陷,采用三維實(shí)數(shù)的編碼方式,并在初始解集生成階段引入均衡分散原則,確保初始解集均勻分散在整個(gè)解空間,保證了初始解集的質(zhì)量;在交叉階段選用雙個(gè)體算術(shù)交叉的方式,結(jié)合實(shí)數(shù)編碼方式能夠避免單個(gè)解內(nèi)部的沖突;在變異階段采用了動(dòng)態(tài)步長(zhǎng)的方式進(jìn)行變異,保證了對(duì)局部空間的有效搜索。最后將IGA運(yùn)用于兩個(gè)實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明了IGA求解FJSP的有效性,同時(shí)分析了不同權(quán)重比例對(duì)最大完工時(shí)間CT和總能耗E的加權(quán)和的影響,實(shí)驗(yàn)結(jié)果表明最大完工時(shí)間與總能耗呈正相關(guān)關(guān)系。 本文的不足之處在于僅考慮了機(jī)器柔性,下一步的研究方向是考慮其他的柔性約束,此外對(duì)于大規(guī)模調(diào)度,庫(kù)存對(duì)于工件的加工順序影響也值得研究。1.2 柔性作業(yè)車(chē)間綠色調(diào)度問(wèn)題模型建立
2 改進(jìn)遺傳算法設(shè)計(jì)
2.1 編碼機(jī)制
2.2 初始種群的產(chǎn)生
2.3 選擇算子
2.4 交叉算子
2.5 變異算子
3 算例研究和結(jié)果分析
3.1 IGA性能分析
3.2 綠色FJSP結(jié)果分析
4 結(jié)語(yǔ)