武善玉 張平 李方
(1.華南理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 廣東 廣州510006;2.廣東石油化工學(xué)院 計(jì)算機(jī)與電子信息學(xué)院, 廣東 茂名525000)
隨著面向服務(wù)架構(gòu)、云計(jì)算、高性能計(jì)算、物聯(lián)網(wǎng)等技術(shù)的發(fā)展及在制造領(lǐng)域中的應(yīng)用[1-4],構(gòu)造具有開放性、可重構(gòu)性、互操作性的制造系統(tǒng)的需求和理念不斷更新,制造資源服務(wù)化的程度也不斷加深.李伯虎等[5]最早提出了“云制造”的概念:云制造是一種利用網(wǎng)絡(luò)和云制造服務(wù)平臺(tái),按用戶需求組織網(wǎng)上制造資源(制造云),為用戶提供各類按需制造服務(wù)的一種網(wǎng)絡(luò)化制造新模式.
以制造網(wǎng)格為代表的網(wǎng)絡(luò)化制造模式主要實(shí)現(xiàn)分散制造資源的共享、集成和協(xié)同工作,體現(xiàn)的是多對(duì)一的服務(wù)模式.多用戶制造是云制造的典型特征之一[6-7],因此,如何面向多個(gè)制造任務(wù)請(qǐng)求,精確調(diào)控云制造資源和制造能力,構(gòu)造整體服務(wù)質(zhì)量最優(yōu)的組合云服務(wù)集合,就成為亟需解決的問(wèn)題[7].針對(duì)多任務(wù)服務(wù)組合問(wèn)題的相關(guān)研究未見報(bào)道,文獻(xiàn)[7]中提出了面向多任務(wù)的制造云服務(wù)組合問(wèn)題,并提出了基于矩陣實(shí)數(shù)編碼的遺傳算法進(jìn)行求解.另外,云制造以“制造即服務(wù)”的理念為基礎(chǔ),將產(chǎn)品全生命周期需要的一切資源以服務(wù)的形式提供給用戶,其中包括不受物理位置約束的軟件服務(wù),也包括需要具體硬件設(shè)備支持的硬件服務(wù).因此,服務(wù)間的運(yùn)輸環(huán)節(jié)不可忽視.王時(shí)龍等[8]對(duì)考慮運(yùn)輸環(huán)節(jié)的云制造資源配置問(wèn)題進(jìn)行了形式化描述,并對(duì)單個(gè)任務(wù)的資源配置優(yōu)化問(wèn)題進(jìn)行了求解,但未求解多任務(wù)調(diào)度問(wèn)題.
文中同時(shí)考慮多任務(wù)和運(yùn)輸環(huán)節(jié)兩個(gè)關(guān)鍵因素,以任務(wù)完成時(shí)間和成本最優(yōu)為目標(biāo),提出了一種離散粒子群遺傳混合算法,以解決云制造多任務(wù)調(diào)度問(wèn)題.
云制造系統(tǒng)面向多任務(wù)的服務(wù)組合問(wèn)題綜合了制造網(wǎng)格、網(wǎng)絡(luò)化制造系統(tǒng)面向單用戶任務(wù)的調(diào)度和車間流水線任務(wù)調(diào)度問(wèn)題的部分特征[9-12],但更加復(fù)雜.制造網(wǎng)格系統(tǒng)面向單用戶任務(wù)的調(diào)度是從充足的可用資源中選擇性能最優(yōu)的加工路徑,車間流水線任務(wù)調(diào)度則解決x 個(gè)包含多道工序的工件在y 臺(tái)機(jī)器上加工的機(jī)器分配和工件排序問(wèn)題.
如圖1所示,文中將同類型同優(yōu)先級(jí)的多任務(wù)調(diào)度問(wèn)題描述為:在制造系統(tǒng)中,應(yīng)用層下達(dá)的任務(wù)中有N 個(gè)同類型同優(yōu)先級(jí)生產(chǎn)任務(wù)T={Ti|i∈[1,N ]},其中任務(wù)Ti經(jīng)過(guò)分解形成n 個(gè)階段子任務(wù)Ti= {Tij|j∈[1,n ]},Tj*= {T1j,T2j,…,TNj}是所有任務(wù)的同一階段的子任務(wù)集,該集合中的所有子任務(wù)屬于同類型子任務(wù).系統(tǒng)經(jīng)過(guò)服務(wù)發(fā)現(xiàn)和匹配機(jī)制為每個(gè)階段的子任務(wù)集篩選出可用服務(wù)集合Sj= {Sj|kk∈[1,sj]},其中sj≥n,Sjk為集合中的第k個(gè)服務(wù),相鄰兩個(gè)階段的子任務(wù)對(duì)應(yīng)的服務(wù)之間可能存在運(yùn)輸環(huán)節(jié).另外,用戶與第1 個(gè)及最后一個(gè)子任務(wù)所需服務(wù)之間也可能存在運(yùn)輸環(huán)節(jié).因此,任務(wù)調(diào)度即服務(wù)組合優(yōu)化要解決的問(wèn)題是:為每個(gè)階段子任務(wù)集中的子任務(wù)分配相應(yīng)可用集合中的服務(wù),使得最終所有任務(wù)完成時(shí)間最短,成本最小.該問(wèn)題的解空間為∏(sj?。╯j-N)?。?
圖1 問(wèn)題描述示意圖Fig.1 Schematic diagram of problem description
文中假設(shè):①所有等待調(diào)度的任務(wù)的優(yōu)先級(jí)相同;②所有同批調(diào)度的任務(wù)具有相同的加工過(guò)程;③一個(gè)任務(wù)的某個(gè)加工階段對(duì)應(yīng)一個(gè)子任務(wù);④所有子任務(wù)對(duì)服務(wù)的占用是獨(dú)占的,直到操作完成才釋放該服務(wù);⑤同一任務(wù)的子任務(wù)之間是順序關(guān)系,即Tij操作完成時(shí)間不晚于Ti(j+1)開始時(shí)間.
離散粒子群算法和遺傳算法等進(jìn)化算法在車間流水線調(diào)度優(yōu)化中被廣泛采用.云制造同類型多任務(wù)調(diào)度問(wèn)題中每個(gè)階段子任務(wù)的服務(wù)分配問(wèn)題與柔性車間流水線任務(wù)調(diào)度問(wèn)題在一定程度上是相似的,但前者包含多個(gè)此類加工階段且還需要考慮相鄰加工階段之間的運(yùn)輸環(huán)節(jié),因而要復(fù)雜得多.已有相關(guān)領(lǐng)域的調(diào)度和優(yōu)化方案不適用于文中要研究的問(wèn)題,因此針對(duì)云制造多任務(wù)調(diào)度的特點(diǎn),文中從種群編碼、初始化及更新方法等環(huán)節(jié)考慮,提出了一種離散粒子群遺傳混合算法,用于對(duì)云制造多任務(wù)調(diào)度模型進(jìn)行求解.
文中同時(shí)對(duì)任務(wù)總完成時(shí)間(見式(1))和總成本(見式(2))進(jìn)行優(yōu)化.
式中,ti和ci分別為任務(wù)Ti的完成時(shí)間、完成任務(wù)Ti所需的成本.設(shè)tij和cij(j=1,2,…,n)分別為子任務(wù)Tij的加工時(shí)間和成本,ti(j,j+1)和ci(j,j+1)分別為子任務(wù)Tij與Ti(j+1)之間的物料運(yùn)輸時(shí)間和成本(其中j=0,1,…,n;運(yùn)輸時(shí)間和成本的大小與相鄰兩個(gè)加工階段使用的服務(wù)及加工任務(wù)的屬性相關(guān);當(dāng)j=0時(shí)為用戶到第1 個(gè)子任務(wù)的運(yùn)輸環(huán)節(jié),j=n 時(shí)為成品交付到用戶的運(yùn)輸環(huán)節(jié)).不考慮資源受限情形,則
該優(yōu)化問(wèn)題屬于最小化問(wèn)題,兩個(gè)目標(biāo)之間往往是相互矛盾的,同時(shí)對(duì)這些目標(biāo)進(jìn)行優(yōu)化,屬于多目標(biāo)優(yōu)化問(wèn)題.文中的目標(biāo)函數(shù)為
式中,權(quán)重系數(shù)w1,w2∈(0,1),且w1+w2=1.
采用整數(shù)編碼方法建立粒子的位置矢量與服務(wù)組合方案的映射關(guān)系,粒子維度D=N,第i 維表示任務(wù)Ti的子任務(wù)選用的服務(wù)序列,則第h 個(gè)粒子的位置和速度矢量分別為
其中,第i 行元素對(duì)應(yīng)任務(wù)Ti的服務(wù)組合序列,xhij的取值范圍為[1,sj],表示子任務(wù)Tij在其對(duì)應(yīng)的可用服務(wù)集Sj中的第xhij個(gè)服務(wù)上執(zhí)行.vhij是[-sj,sj]上的任意整數(shù)值.
子任務(wù)集T*j中任意一個(gè)子任務(wù)Tij在相應(yīng)可用服務(wù)集Sj的所有服務(wù)上的執(zhí)行時(shí)間、成本是已知的,可分別表示為向量(tij1,tij2,…,tijsj)、(cij1,cij2,…,cijsj);對(duì)于一個(gè)具體的服務(wù)來(lái)說(shuō),服務(wù)集Sj中的任意一個(gè)服務(wù)和服務(wù)集Sj+1中的任意一個(gè)服務(wù)間的運(yùn)輸時(shí)間、成本指標(biāo)可預(yù)知分別表示對(duì)于任務(wù)Ti來(lái)說(shuō)可用服務(wù)集Sj中的第kj個(gè)服務(wù)與Sj+1中的第kj+1個(gè)服務(wù)間的運(yùn)輸時(shí)間、成本,其中j=1,2,…,n-1.
解析第h 個(gè)粒子:按行處理第h 個(gè)粒子,根據(jù)元素值計(jì)算行對(duì)應(yīng)任務(wù)的時(shí)間和成本指標(biāo).如讀取xhij和xhi(j+1),確定相應(yīng)子任務(wù)的執(zhí)行時(shí)間和成本:tij=tijxhij,cij=cijxhij;確定子任務(wù)間的運(yùn)輸時(shí)間和成本,分別為
解析完粒子h 的所有元素后,根據(jù)式(1)-(4)可計(jì)算出目標(biāo)函數(shù)值.
為了獲得盡量接近優(yōu)化解的初始種群,對(duì)于所有粒子的位置,隨機(jī)采用最短執(zhí)行時(shí)間優(yōu)先或最低加工成本優(yōu)先規(guī)則進(jìn)行初始化.以第h 個(gè)粒子為例,初始化按列進(jìn)行,依次對(duì)第1 至第n 列進(jìn)行操作,最短執(zhí)行時(shí)間優(yōu)先初始化規(guī)則的偽代碼如下:
最低加工成本優(yōu)先初始化規(guī)則與最短執(zhí)行時(shí)間優(yōu)先初始化規(guī)則相似,唯一的區(qū)別在于選取服務(wù)的標(biāo)準(zhǔn)是按照子任務(wù)在服務(wù)上的加工成本.根據(jù)兩個(gè)子目標(biāo)的重要程度調(diào)整采用上述兩個(gè)規(guī)則進(jìn)行初始化的粒子的比例,可以獲得性能均衡的種群.而粒子速度初始化相對(duì)簡(jiǎn)單,即vhij在[-sj,sj]間隨機(jī)取值.
標(biāo)準(zhǔn)粒子群算法的位置、速度更新公式[13-14]適用于求解連續(xù)空間問(wèn)題,文中求解的是使用整數(shù)編碼的離散問(wèn)題,因此引入遺傳算法的交叉和變異操作[15-16],得到改進(jìn)的離散粒子群遺傳混合算法.速度和位置的更新公式如下:
式中:rond()表示取整;rand()為0~1 之間的隨機(jī)數(shù);┐表示變異操作,文中隨機(jī)采用部分“取反”或“倒置”的變異方法,即將原粒子位置矢量的一段元素值用sj-xhij替換xhij或者將一段元素值逆序;?表示交叉操作;Pkh、Gkh分別為粒子的局部最優(yōu)位置和全局最優(yōu)位置.更新操作是以上更新方式的逐級(jí)疊加,即使用當(dāng)前公式更新粒子位置后,計(jì)算目標(biāo)函數(shù)值,若優(yōu)于該粒子的局部最優(yōu)位置,則更新局部最優(yōu)位置后等待下一輪迭代,否則采用下一級(jí)公式進(jìn)行更新.
每次更新后,粒子位置矩陣同列元素值可能出現(xiàn)重復(fù)現(xiàn)象,這意味著相同階段多個(gè)子任務(wù)選取了同一服務(wù),因此需要對(duì)粒子元素取值進(jìn)行校正.校正過(guò)程以列為單位進(jìn)行,對(duì)于每一列進(jìn)行如下操作:①掃描該列所有元素取值,將相應(yīng)服務(wù)集Sj中未分配的服務(wù)加入集合Uj;②將同列中取值相同的元素行號(hào)作為一個(gè)集合,集合中行號(hào)按照對(duì)應(yīng)子任務(wù)在所分配服務(wù)上的加工性能(隨機(jī)使用時(shí)間或成本指標(biāo))從優(yōu)到劣排列,那么有可能存在多組元素行號(hào)的集合,記為SA1,SA2,…,SAl;③將集合SA1,SA2,…,SAl隨機(jī)排列,按排列順序依次處理;④對(duì)任意SAa,保留其中第1 個(gè)行號(hào)對(duì)應(yīng)粒子位置元素的服務(wù)分配,而后為該集合中其他行號(hào)對(duì)應(yīng)的粒子隨機(jī)分配Uj中的服務(wù),并將已分配的服務(wù)從Uj中刪除.重復(fù)第④步,直到粒子所有列校正完成為止.
云制造系統(tǒng)面向多任務(wù)調(diào)度的離散粒子群遺傳混合算法的偽代碼如下:
以包含4 個(gè)子任務(wù)的某產(chǎn)品制造過(guò)程為例,設(shè)有5 個(gè)任務(wù)同時(shí)請(qǐng)求服務(wù),每個(gè)子任務(wù)對(duì)應(yīng)的可用云制造服務(wù)集中包含多個(gè)性能不同的服務(wù).為驗(yàn)證文中算法的有效性和執(zhí)行效率,設(shè)計(jì)了3 個(gè)實(shí)驗(yàn).
實(shí)驗(yàn)中用到的各種參數(shù)按標(biāo)準(zhǔn)粒子群算法、遺傳算法參數(shù)的常用取值范圍取值或隨機(jī)取值;權(quán)重系數(shù)表明不同子目標(biāo)在總體性能中所占的權(quán)重,本實(shí)驗(yàn)設(shè)定兩個(gè)子目標(biāo)的重要程度相等;輸入數(shù)據(jù)即子任務(wù)對(duì)應(yīng)的可用服務(wù)集及在每個(gè)服務(wù)上的執(zhí)行時(shí)間和成本等信息是已知的,本實(shí)驗(yàn)采用隨機(jī)生成的一組加工時(shí)間、運(yùn)輸時(shí)間(取值范圍分別為1~100h,1~120h)和加工成本、運(yùn)輸成本(取值范圍為50~1000 元)數(shù)據(jù).
仿真實(shí)驗(yàn)參數(shù)設(shè)置為:N=5,n=4,s1=6,s2=7,s3=7,s4=6,w1=w2=0.5;粒子群算法中w=0.7298,c1=c2=2;遺傳算法中pm=0.03,pc=0.8.
仿真實(shí)驗(yàn)環(huán)境:Intel 酷睿i3 380UM 處理器,1.33 GHz 主頻,2 GB 內(nèi)存,Windows7 系統(tǒng),Matlab7.0.
為驗(yàn)證文中算法的有效性,采用文中算法與標(biāo)準(zhǔn)粒子群算法、遺傳算法各進(jìn)行50 次實(shí)驗(yàn),迭代次數(shù)為500,種群規(guī)模為200,3 種算法的50 次實(shí)驗(yàn)均使用同一組輸入數(shù)據(jù).以求得最優(yōu)目標(biāo)值的大小及最優(yōu)結(jié)果的迭代次數(shù)為指標(biāo),3 種算法的實(shí)驗(yàn)結(jié)果如圖2所示.
圖2 3 種算法的最優(yōu)目標(biāo)值及迭代次數(shù)比較Fig.2 Comparison of optimum target values and iterations among three algorithms
可以看出,求解云制造系統(tǒng)多任務(wù)調(diào)度問(wèn)題時(shí),遺傳算法容易早熟收斂,標(biāo)準(zhǔn)粒子群算法易陷入局部極值,而文中算法求得實(shí)際最優(yōu)目標(biāo)值的次數(shù)占實(shí)驗(yàn)總次數(shù)的百分比(96%)遠(yuǎn)遠(yuǎn)高于標(biāo)準(zhǔn)粒子群算法和遺傳算法.
影響算法有效性和執(zhí)行效率的因素主要有種群規(guī)模和迭代次數(shù),由于文中算法比標(biāo)準(zhǔn)粒子群算法和基本遺傳算法更復(fù)雜,種群規(guī)模和迭代次數(shù)的增長(zhǎng)對(duì)算法效率的影響從理論上來(lái)推斷會(huì)更為顯著.為了驗(yàn)證算法的執(zhí)行效率,文中分別考察種群規(guī)模和迭代次數(shù)的增長(zhǎng)對(duì)算法執(zhí)行時(shí)間的影響.
(1)迭代次數(shù)固定為500,種群規(guī)模分別取100、200、300、400、500、600 時(shí),離散粒子群遺傳混合算法的執(zhí)行時(shí)間呈線性增長(zhǎng),如圖3(a)所示.
(2)種群規(guī)模固定為200,迭代次數(shù)分別取100、200、300、400、500、600 時(shí),離散粒子群遺傳混合算法的執(zhí)行時(shí)間的增長(zhǎng)較為緩慢,如圖3(b)所示.
圖3 種群規(guī)模和迭代次數(shù)對(duì)文中算法執(zhí)行時(shí)間的影響Fig.3 Effects of population size and iterations on execution time of the proposed algorithm
以上兩組結(jié)果表明,迭代次數(shù)和種群規(guī)模的增長(zhǎng)對(duì)算法執(zhí)行時(shí)間的影響在合理范圍內(nèi),算法執(zhí)行時(shí)間可以滿足文中求解問(wèn)題的需求.
分別采用文中初始化方法得到的種群與隨機(jī)初始化方法得到的種群作為初始種群,使用文中提出的更新算法各進(jìn)行20 次實(shí)驗(yàn),結(jié)果如圖4所示,可見“好”的初始種群對(duì)算法的有效性有著重要的影響.
圖4 初始種群對(duì)文中算法性能的影響Fig.4 Effect of initial population on the performance of the proposed algorithm
文中研究了云制造系統(tǒng)面向多任務(wù)的服務(wù)組合問(wèn)題,同時(shí)考慮多任務(wù)和子任務(wù)間的運(yùn)輸環(huán)節(jié),建立了以任務(wù)完成時(shí)間和成本最小為目標(biāo)的多目標(biāo)優(yōu)化調(diào)度數(shù)學(xué)模型;提出了粒子群遺傳混合算法并用于求解系統(tǒng)多任務(wù)調(diào)度問(wèn)題,為保持種群多樣性、避免早熟收斂,按條件采用標(biāo)準(zhǔn)粒子群位置、速度更新公式、交叉、變異更新方法對(duì)種群進(jìn)行“逐級(jí)疊加”式地更新.算例仿真結(jié)果驗(yàn)證了該算法的有效性和優(yōu)越性.今后將進(jìn)一步研究服務(wù)爭(zhēng)用條件下的多任務(wù)調(diào)度優(yōu)化問(wèn)題,除任務(wù)加工和運(yùn)輸所用時(shí)間/成本外,還將考慮等待時(shí)間/成本對(duì)生產(chǎn)效率的影響.
[1]Karnouskos S,Baecker O,de Souza L M S,et al.Integration of SOA-ready networked embedded devices in enterprise systems via a cross-layered web service infrastructure [C]//Proceedings of the 12th IEEE Conference on Emerging Technologies and Factory Automation.Patras:IEEE,2007:25-28.
[2]Fox A.Cloud computing:what’s in it for me as a scientist?[J].Science,2011,331(6016):406-407.
[3]Jayavardhana Gubbi,Rajkumar Buyyab,Slaven Mrusic,et al.Internet of things (IoT):a vision,architectural elements,and future directions [J].Future Generation Computer Systems,2013,29:1645-1660.
[4]Dillon T,Zhuge H,Wu C.Web-of-things framework for cyber-physical systems [J].Concurrency Computation:Practice and Experience,2011,23(7):905-923.
[5]李伯虎,張霖,王時(shí)龍,等.云制造:面向服務(wù)的網(wǎng)絡(luò)化制造新模式[J].計(jì)算機(jī)集成制造系統(tǒng),2010,16(1):1-7.Li Bo-hu,Zhang Lin,Wang Shi-long,et al.Cloud manufacturing:a new service-oriented networked manufacturing model[J].Computer Integrated Manufacturing Systems,2010,16(1):1-7.
[6]陶飛,張霖,郭華,等.云制造特征及云服務(wù)組合關(guān)鍵問(wèn)題研究[J].計(jì)算機(jī)集成制造系統(tǒng),2011,17(3):477-486.Tao Fei,Zhang Lin,Guo Hua,et al.Typical characteristics of cloud manufacturing and several key issues of cloud service composition[J].Computer Integrated Manufacturing Systems,2011,17(3):477-486.
[7]劉衛(wèi)寧,劉波,孫棣華.面向多任務(wù)的制造云服務(wù)組合研究[J].計(jì)算機(jī)集成制造系統(tǒng),2013,19(1):200-209.Liu Wei-ning,Liu Bo,Sun Di-hua.Study on multitask oriented service composition in cloud manufacturing [J].Computer Integrated Manufacturing Systems,2013,19(1):200-209.
[8]王時(shí)龍,宋文艷,康玲,等.云制造環(huán)境下制造資源優(yōu)化配置研究[J].計(jì)算機(jī)集成制造系統(tǒng),2012,18(7):1396-1405.Wang Shi-long,Song Wen-yan,Kang Ling,et al.Research of manufacturing resource allocation based on cloud manufacturing [J].Computer Integrated Manufacturing Systems,2012,18(7):1396-1405.
[9]Tao F,Zhao D,Hu Y,et al.Resource service composition and its optimal-selection based on particle swarm optimization in manufacturing grid system [J].IEEE Transactions on Industrial Informatics,2008,4(4):315-327.
[10]馬雪芬,戴旭東,孫樹棟.面向網(wǎng)絡(luò)化制造的制造資源優(yōu)化配置研究[J].計(jì)算機(jī)集成制造系統(tǒng),2004,10(5):523-527.Ma Xue-fen,Dai Xu-dong,Sun Shu-dong.Optimization deployment of networked manufacturing resources [J].Computer Integrated Manufacturing Systems,2004,10(5):523-527.
[11]韋韞,李東波,童一飛.面向服務(wù)的網(wǎng)絡(luò)化協(xié)同制造資源多目標(biāo)重組優(yōu)化調(diào)度[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2012,43(3):193-199.Wei Yun,Li Dong-bo,Tong Yi-fei.Multi-objective reconfiguration and optimal scheduling of service-oriented networked collaborative manufacturing resource [J].Transactions of the Chinese Society for Agricultural Machinery,2012,43(3):193-199.
[12]Minella G,Ruiz R,Ciavotta M.A review and evaluation of multi-objective algorithms for the flowshop scheduling problem[J].Informs Journal on Computing,2008,20(3):451-471.
[13]Eberhart R C,Kennedy J.A new optimizer using particle swarmtheory [C]//Proceedings of the 6th International Symposium on Micromachine and Human Science.Nagoya:IEEE,1995:39-43.
[14]Kennedy J,Eberhart R C.Particle swarm optimization[C]//Proceedings of the IEEE International Conference on Neural Networks.Perth:IEEE,1995:1942-1948.
[15]Holland J H.Adaptation in natural and artificial system[M].Ann Arbor:University of Michigan Press,1975.
[16]Goldberg D E.Genetic algorithms in search,optimization&machine learning [M].Upper Saddle River:Addison-Wesley Professional,1989.