唐天兵,陳永發(fā),蒙祖強
(廣西大學(xué) 計算機與電子信息學(xué)院,廣西 南寧 530004)
云制造最早由中國學(xué)者李伯虎等[1]提出,結(jié)合云計算和物聯(lián)網(wǎng)等新興技術(shù),將分布于各地的制造資源進行整合,提升制造服務(wù)質(zhì)量,促進制造產(chǎn)業(yè)良性發(fā)展。云制造平臺面向區(qū)域、行業(yè)或企業(yè),借助先進的信息技術(shù),實現(xiàn)對產(chǎn)品制造全生命周期的相關(guān)資源的整合,發(fā)布標(biāo)準(zhǔn)、規(guī)范、可共享的制造服務(wù)。隨著相關(guān)技術(shù)不斷完善,云制造正在成為“互聯(lián)網(wǎng)+制造業(yè)”實踐的重要形式。另一方面,隨著制造業(yè)不斷發(fā)展,大規(guī)模制造任務(wù)變得越來越普遍,其核心要求大批量、短周期、低成本,但需在短時間內(nèi)完成大批量任務(wù),只有少數(shù)大企業(yè)能夠完成。由于缺乏競爭,且大企業(yè)運營成本偏高,因此制造費用一般較高。在傳統(tǒng)制造業(yè)中,我國充分借鑒歐美發(fā)達國家做法,通過專業(yè)的分包運營管理,可有效加快任務(wù)進度,減小制造成本,降低項目風(fēng)險[2]。在云制造環(huán)境中,存在大量各種類型的制造服務(wù),更有利于分包任務(wù)分配,發(fā)揮任務(wù)分包的優(yōu)勢,但如何將制造任務(wù)分配到不同的制造服務(wù),使效益最大化是一個需要解決的問題。
近年來,分包模式已被廣泛應(yīng)用于解決各類制造業(yè)生產(chǎn)問題。苑彬彬[2]針對裝備制造業(yè)的安全、質(zhì)量、成本與工期問題,分析分包運營管理的基本概念,探討現(xiàn)代裝備制造企業(yè)的項目管理方式,對制造業(yè)分包項目運營管理提出改進措施。Wang 等[3]為提高制造效率,降低制造費用,將制造任務(wù)分解為內(nèi)部機器生產(chǎn)和分包商機器生產(chǎn)的作業(yè),并提出以總制造周期和費用最小為目標(biāo)的調(diào)度方案。盡管研究人員對制造業(yè)分包模式,以及其他云制造資源優(yōu)化調(diào)度方案[4-7]進行了大量研究,但沒有涉及云環(huán)境中大規(guī)模制造任務(wù)問題,主要有兩方面原因:一是研究人員對規(guī)模經(jīng)濟的片面理解導(dǎo)致大規(guī)模制造任務(wù)的問題被掩蓋,片面地認(rèn)為生產(chǎn)規(guī)模越大,投入的制造資源越優(yōu)質(zhì),生產(chǎn)效率則越高,制造成本也越小;二是通過將大規(guī)模任務(wù)簡單拆分為多個并行執(zhí)行子任務(wù)來減輕問題的影響,導(dǎo)致該問題的研究價值無法顯著體現(xiàn)。盡管大規(guī)模制造任務(wù)問題具有隱蔽性,但是根據(jù)成本理論分析,生產(chǎn)成本由固定成本與邊際成本構(gòu)成,當(dāng)固定成本的增長量大于邊際成本的減少量時,規(guī)模經(jīng)濟將會變得不經(jīng)濟[8],即任務(wù)規(guī)模越大,單位成本將越高。通過簡單的任務(wù)拆分雖然可以在一定程度上緩解制造周期和成本偏高問題,但如果不能進行合理的任務(wù)分配,則無法實現(xiàn)效益最大化,并且可能導(dǎo)致風(fēng)險蔓延。
本文提出一種云制造分包服務(wù)組合方法,通過將大規(guī)模制造任務(wù)分包,將制造任務(wù)進一步拆分為更小的單元,從總承包商的視角,以任務(wù)包為維度,優(yōu)化分包服務(wù)組合,旨在解決大規(guī)模制造任務(wù)執(zhí)行周期長、成本高的問題。完成一個分包任務(wù),需要經(jīng)歷需求發(fā)布、分包方案發(fā)布、服務(wù)匹配、服務(wù)組合4 個階段。云制造平臺中的總包商基于采購方需求,制作并發(fā)布分包方案,云制造平臺注冊的制造服務(wù)匹配分包方案。云制造平臺根據(jù)分包方案要求的功能屬性和非功能屬性匹配一個或多個制造企業(yè),但是在服務(wù)匹配環(huán)節(jié)中,多個服務(wù)組合都能滿足分包方案要求,如何選擇最優(yōu)的分包服務(wù)組合是個NP-hard 的組合優(yōu)化問題[9],一般采用群體智能算法解決。
為高效解決云制造分包服務(wù)組合優(yōu)化問題,本文對Kaur 等[10]提出的被囊群算法 (tunicate swarm algorithm,TSA) 進行改進。被囊群算法是受深海中被囊生物覓食行為啟發(fā)而提出的群體智能算法,目前已經(jīng)被用于解決各種優(yōu)化問題。Sharma 等[11]利用TSA 算法識別光伏組件的參數(shù);Rizk-Allah 等[12]提出了求解大規(guī)模非線性優(yōu)化問題的增強型TSA算法。與此同時,TSA 算法作為近年新提出的群體智能算法,同樣存在收斂精度低、尋優(yōu)性能不足等局限性,目前已提出多種改進TSA 算法。例如,屈遲文等[13]提出信息共享的記憶被囊群算法;史鴻鋒等[14]提出精英反向黃金正弦被囊群優(yōu)化算法。雖然文獻[13]和文獻[14]的改進被囊群算法對尋優(yōu)能力都有一定提升,但也存在問題:文獻[13]的改進方法過度依賴初始參數(shù),不同的初始參數(shù)值對算法性能影響非常大,使算法的適用場景范圍縮??;文獻[14]的改進算法在每一次迭代過程中每個粒子需要計算兩次適應(yīng)度值,導(dǎo)致算法執(zhí)行耗時較長。本文針對被囊群算法存在的問題進行改進,提出一種改進被囊群算法 (modified tunicate swarm algorithm,MTSA),用于求解云制造分包服務(wù)組合優(yōu)化問題。
云制造分包服務(wù)組合流程如圖1 所示。某制造服務(wù)采購方需采購一項或多項制造任務(wù),由于工作量太大,且制造周期和成本控制要求較高,云制造標(biāo)準(zhǔn)平臺無法匹配到能獨立完成任務(wù)的制造服務(wù),則在云制造標(biāo)準(zhǔn)平臺發(fā)布可分包的制造任務(wù)。有意向的總包商制定分包方案,在云制造分包平臺進行發(fā)布,有意向承接分包任務(wù)的制造企業(yè)在分包平臺提交意向書。分包平臺根據(jù)分包服務(wù)組合評價模型,對各分包服務(wù)組合進行評價,向發(fā)布分包方案的總包商推薦最優(yōu)分包服務(wù)組合??偘淘诜职脚_選擇分包服務(wù)組合,將組合作為整體,向標(biāo)準(zhǔn)平臺提交任務(wù)意向書。云制造標(biāo)準(zhǔn)平臺以任務(wù)為維度評價收到的意向書,向采購方推薦候選的服務(wù)組合。采購方選擇有意向的總包商,在云制造標(biāo)準(zhǔn)平臺發(fā)出訂單,云制造分包平臺自動向分包商發(fā)出訂單,總包商和全部分包商接受并簽署訂單,則服務(wù)調(diào)度完成。
圖1 云制造分包服務(wù)組合流程Figure 1 Composition processes of cloud manufacturing subcontracting services
分包服務(wù)組合中的服務(wù)為并行執(zhí)行,分包服務(wù)調(diào)度模式依靠并行執(zhí)行和調(diào)整單個服務(wù)的工作量能夠縮短總制造時間。分包模式的云制造服務(wù)組合方法能夠有效降低制造服務(wù)吞吐量要求。對于一般的制造任務(wù),當(dāng)吞吐量要求較高時,則只能選擇較大規(guī)模的制造企業(yè),大企業(yè)由于運營成本高以及品牌溢價,制造單價偏高,通過降低吞吐量要求,則可選的制造服務(wù)數(shù)量增多,提升了云制造平臺制造成本調(diào)節(jié)空間。
1) 制造任務(wù)。服務(wù)采購方在云制造標(biāo)準(zhǔn)平臺發(fā)布分包任務(wù),Task={Taski|i=1,2,3, ··· ,N}表示分包任務(wù)集合,其中N表示任務(wù)數(shù),Taski表示第i項任務(wù)。
2) 分包方案。有意向承接Taski任務(wù)的總包商在云制造分包平臺制定并發(fā)布分包方案。Taski任務(wù)的分包方案集合GCi={, ··· , G Ci p, ··· ,},其中表示Taski的第p個分包方案,Mi表示Taski的分包方案的數(shù)量。分包方案描述了總承包商對分包服務(wù)組合的制造周期、成本控制的期望和對分包商資質(zhì)、生產(chǎn)能力的要求。
3) 分包服務(wù)。有意向按照分包方案p承接Taski任務(wù) 的 制 造 服 務(wù) 集 合MCSi,p={, ··· ,, ··· ,},其中表示集合中第k個服務(wù),Wip表示MCSi,p中可選服務(wù)數(shù)量。每一個分包服務(wù)都對應(yīng)一組服務(wù)描述信息Q() ={q1(),q2(), ··· ,qj()},其中qj() 表示Taski任務(wù)第p個分包方案下第k個服務(wù)第j維服務(wù)屬性,例如吞吐量、單價、可靠性、可用性等。
4) 分包服務(wù)組合。共同完成同一個分包方案的一個或多個分包服務(wù)構(gòu)成一個分包服務(wù)組合。分包方案分包數(shù)量為n時的服務(wù)組合集合CMCSi,p,n=表示集合中第l個組合,Ln表示CMCSi,p,n中的服務(wù)組合的數(shù)量,Ln=(C為組合符號)。分包方案需要設(shè)置最小分包數(shù)量nl、最大分包數(shù)量nu,則每個分包方案存在個服務(wù)組合,分包服務(wù)組合問題如圖2 所描述。每個分包服務(wù)組合包含1 個或多個分包服務(wù),每個分包服務(wù)可以屬于一個或多個分包服務(wù)組合,中的服務(wù)集合SMCSi,p,n,l= {, ··· ,, ··· ,},SMCSi,p,n,l為 集 合MCSi,p的子集,其中表示服務(wù)組合中的第r個服務(wù)。總包商選擇最佳分包服務(wù)組合后,將服務(wù)組合作為整體在云制造標(biāo)準(zhǔn)平臺提交任務(wù)Taski的承接意向書。
圖2 云制造平臺分包服務(wù)組合問題描述Figure 2 Descriptions of cloud manufacturing platform subcontracting service composition
在服務(wù)組合選擇方面,若存在多個分包服務(wù)組合都能完成Taski任務(wù),并且從不同維度評價都是最優(yōu)的,則無法直接選擇最佳組合。比如從制造周期維度評價,組合A 是最優(yōu)的;從成本控制維度評價,組合B 是最優(yōu)的;從風(fēng)險控制維度評價,組合C 是最優(yōu)的。從總包商角度出發(fā),如何選取最佳的分包服務(wù)組合,是能否中標(biāo)Taski任務(wù),實現(xiàn)利潤最大化和降低風(fēng)險的關(guān)鍵。為選擇最優(yōu)服務(wù)組合,以總包商視角分析,以時間最短、成本最少、風(fēng)險最小為目標(biāo),制定基于綜合制造水平的分包服務(wù)組合優(yōu)化模型。表1 定義了系統(tǒng)模型所用的服務(wù)屬性符號及描述。
表1 云制造分包服務(wù)組合屬性符號及描述Table 1 Attribute symbols and descriptions of cloud manufacturing subcontracting service composition
云制造分包任務(wù)最重要的特征是制造產(chǎn)品數(shù)量大,分包服務(wù)評價指標(biāo)應(yīng)該以吞吐量最大化為首要原則,在控制成本的前提下,提高服務(wù)質(zhì)量,降低交付風(fēng)險,因此對分包服務(wù)組合采用基于綜合制造水平的評價模型。
為了保證吞吐量最大化,服務(wù)組合中每個制造服務(wù)分配的任務(wù)量由該服務(wù)的吞吐量占總體吞吐量的比重決定。通過式 (2) 計算服務(wù)吞吐量占服務(wù)組合總體吞吐量的比重,即服務(wù)被分配的任務(wù)量占總體任務(wù)量的比例。
其中,fth(x) 是計算服務(wù)x吞吐量函數(shù),x( ωi)表示服務(wù)x的屬性值。η() 為計算服務(wù)的吞吐量占服務(wù)組合整體吞吐量的比重的函數(shù),n為服務(wù)所屬服務(wù)組合的服務(wù)數(shù)量。
1) 制造時間評價。對于一般的制造任務(wù),制造時間主要包括產(chǎn)品的加工時間和完工后的運輸時間。云制造分包服務(wù)組合制造時間評價模型為:
其中,STime() 是服務(wù)組合的制造時間,由組合中制造時間最長的服務(wù)決定;Tprocess(x)是計算服務(wù)x的加工時間的函數(shù);Ttran(x) 是計算服務(wù)x的運輸時間的函數(shù);η (x) 表示服務(wù)x被分配的制造任務(wù)量占全部任務(wù)量的比例,通過式 (2) 計算。
2) 制造成本評價。對于一般的制造任務(wù),服務(wù)成本主要包括加工成本和運輸成本,其評價模型為
其中,SCost() 是服務(wù)組合的總制造成本;Cprocess(x) 是計算服務(wù)x加工成本的函數(shù);Ctran(x) 是計算服務(wù)x運輸成本的函數(shù)。
3) 持續(xù)生產(chǎn)能力評價。云制造服務(wù)組合持續(xù)生產(chǎn)能力主要從服務(wù)可用性、信用度、合格率方面評價,評價模型為
其中,SQuality()是服務(wù)組合持續(xù)生產(chǎn)能力指標(biāo);n為組合中服務(wù)數(shù)量;Ii,p為分包方案中設(shè)置的管理風(fēng)險系數(shù),取值為(0,1) 之間,Ii,p值越小,代表每增加一個分包需付出的額外管理風(fēng)險越大,整體Qos 隨n的增加下降得越快;fav(x) 是計算服務(wù)x可用性的函數(shù);fhi(x) 是計算服務(wù)x信用度的函數(shù);fpass(x) 是計算服務(wù)x歷史任務(wù)合格率的函數(shù)。
對上述指標(biāo)標(biāo)準(zhǔn)化,基于綜合制造水平的分包服務(wù)組合評價目標(biāo)模型見式 (13),優(yōu)化目標(biāo)是使指標(biāo)最小化。
其中,為服務(wù)組合基于綜合制造水平整體評價;Tmax() 為分包方案要求的最長制造時間,Cmax() 為分包方案要求的最大費用預(yù)算;分別為分包方案GCi,p設(shè)置的制造時間、制造成本、持續(xù)生產(chǎn)能力指標(biāo)權(quán)重,各指標(biāo)權(quán)重之和為1。通過采用文獻[15]的層次分析法獲取指標(biāo)權(quán)重,將時間、成本、持續(xù)生產(chǎn)能力作為高層級指標(biāo),將業(yè)主需求、產(chǎn)品類型、商務(wù)策略等因素作為次層級指標(biāo),自底向上分析權(quán)重。例如業(yè)主更關(guān)注制造周期,則增加時間指標(biāo)權(quán)重;產(chǎn)品制造工藝復(fù)雜,則增加持續(xù)生產(chǎn)能力指標(biāo)權(quán)重;總包商希望通過低價策略打開市場,則增加成本指標(biāo)權(quán)重。
在真實場景中,由于分包服務(wù)質(zhì)量、水平參差不齊,因此需對式 (13) 進行先行約束,分包服務(wù)組合模型約束條件可描述為
其中,Smin() 為分包方案設(shè)定的持續(xù)制造能力最低水平。
被囊群算法尋優(yōu)過程主要包括噴氣推進和群體行為,其中噴氣推進需要滿足3 個條件:避免個體之間的沖突,向最佳鄰居移動,以及向最佳個體位置聚集。被囊群算法具體流程如圖3 所示。
圖3 被囊群算法流程圖Figure 3 Flowchart of TSA
1) 避免個體之間沖突。被囊群在搜索食物過程中,為了避免個體之間的搜索沖突,用式 (15) 計算個體新的位置向量。
其中,A為避免個體沖突計算的新位置向量;c1、c2、c3為 (0,1) 之間的隨機數(shù);Amin、Amax表示被囊群進行群體互動的初始速度和從屬速度,初始值分別為1 和4。
2) 向最優(yōu)鄰居方向移動。在避免種群中個體沖突后,種群個體向最優(yōu)鄰居方向移動。在種群移動時,需要計算種群個體與最優(yōu)個體的距離,其計算方式如式 (16) 所示。
其中,表示第i個個體在第t次迭代時向最優(yōu)個體聚集的位置,表示第t次迭代時的種群中最優(yōu)個體位置,表示第i個個體在第t次迭代時與種群最優(yōu)個體的距離。
3) 向最優(yōu)個體位置聚集。種群中個體確認(rèn)與最優(yōu)個體距離及新的位置向量后,被囊群采用式 (17)方式開始向最優(yōu)個體位置聚集。
4) 群體行為。在被囊群向最優(yōu)個體位置聚集時,為了從數(shù)學(xué)上模擬被囊群的群體行為,通過式(18) 定義被囊群的群體行為:
針對被囊群算法在搜索過程中,僅圍繞全局最優(yōu)個體進行收斂,搜索范圍小、種群多樣性差,導(dǎo)致搜索精度不高的問題。本文對被囊群算法進行改進。
1) 個體信息共享。被囊群算法中的群體智能行為主要采用式 (18) 方式進行,由于該算法在搜索后期,第t代個體與上一代個體變化比較小時(盡管c1具有部分?jǐn)_動的作用,但c1的取值為 (0,1)之間的隨機數(shù)),其群體智能行為的收效甚微,種群的多樣性逐漸退縮。為了充分利用當(dāng)代個體的信息,引入種群個體信息共享策略,以提高種群多樣性,其具體策略如式 (19) 所示。
其中,NA 為種群數(shù)量。當(dāng)i>1 時,第i個個體與第i-1 個個體進行信息共享;當(dāng)i=1 時,第i個個體與第NA 個個體信息共享。s的計算方式如式 (20)所示。
其中,t和Tmax分別為當(dāng)前迭代次數(shù)和最大迭代次數(shù)。
2) 歷史信息共享。被囊群算法在搜索過程中,每次迭代只保留全局最優(yōu)個體的位置,而沒有參考種群個體所攜帶的歷史搜索信息,導(dǎo)致搜索精度不高。為提高搜索精度,充分參考搜索過程中個體攜帶的歷史搜索信息,引入歷史信息共享策略。種群在迭代過程中,保留所有個體的歷史最優(yōu)記錄,在種群陷入局部最優(yōu)時,減少向全局最優(yōu)位置收斂,增加種群個體向種群其他個體歷史最優(yōu)位置探索的行為。
在執(zhí)行歷史信息共享時,當(dāng)前個體向種群中其他個體最優(yōu)位置探索過程中,利用式 (21) 高斯變異策略對目標(biāo)位置進行擾動,增加搜索范圍。
執(zhí)行歷史信息共享的個體位置根據(jù)式 (22) 更新。
其中,為個體更新后的位置,f() 表示第i個個體的個體最優(yōu)適應(yīng)度值,f() 表示第j個個體的個體最優(yōu)適應(yīng)度值。
3) 種群狀態(tài)信息共享。種群迭代開始前,分析當(dāng)前搜索狀態(tài),對種群搜索狀態(tài)進行量化并共享。
其中,dg 代表種群當(dāng)前搜索狀態(tài),fc 為計數(shù)器,fc 初始為0,如果上一次迭代過程中,全局最優(yōu)適應(yīng)度值未被更新,則fc 值自增1;如果上一次迭代過程中,全局最優(yōu)適應(yīng)度值被更新,則fc 值歸0。a為動態(tài)策略選擇因子,取a=2.5。圖4 是當(dāng)Tmax=500 時,dg 隨fc 增加的變化軌跡。當(dāng)fc 較小時,dg 趨近于1,當(dāng)fc 逐漸增加時,dg 逐漸減小,并且減小的幅度越來越慢,最終趨向于0.5。dg 越大,表示當(dāng)前搜索效率越高。
圖4 dg 隨著fc 增加的變化軌跡Figure 4 The change of dg with the increase of fc
當(dāng)種群搜索效率高時,種群趨向于執(zhí)行個體信息共享策略;搜索效率較差時,種群80%的個體執(zhí)行歷史信息共享策略,20%的個體采用式 (24) 執(zhí)行自由行動,以進一步增強種群多樣性。
其中,Lb 是種群邊界下限,Ub 是種群邊界上限。
云制造分包服務(wù)組合的評價模型為式 (13),約束條件為式 (14),屬于離散約束組合優(yōu)化問題??梢杂帽疚牡母倪M被囊群算法來求解。求解的基本思想是將式 (13) 作為改進被囊群算法的適應(yīng)度函數(shù)。云制造分包平臺按照分包方案設(shè)置的最小分包數(shù)量nl、最大分包數(shù)量nu,計算所有滿足條件的分包數(shù)量的最優(yōu)服務(wù)組合,根據(jù)評價結(jié)果向總包商推薦最優(yōu)的分包服務(wù)組合。
3.3.1 編碼方式
本文參考文獻[4]采用實數(shù)編碼方法,被囊群個體坐標(biāo)維度與服務(wù)組合中的服務(wù)數(shù)量對應(yīng)。每個被囊群個體表示一個解,即每一個被囊群個體表示一個分包服務(wù)組合方案。由于被囊群坐標(biāo)是連續(xù)值,而對應(yīng)的制造服務(wù)序號是離散值,為了增大服務(wù)被搜索到的范圍,提高算法準(zhǔn)確度,將被囊群個體坐標(biāo)取四舍五入映射到一個服務(wù)序號。圖5 是分包方案當(dāng)分包數(shù)量為4 時,分包服務(wù)組合編碼實例。
3.3.2 算法流程
基于改進被囊群算法求解云制造分包服務(wù)組合的流程如圖6 所示,具體描述如下。
圖6 改進被囊群算法流程圖Figure 6 Flowchart of MTSA
步驟1初始化問題維度參數(shù)nl、nu、n。根據(jù)分包方案設(shè)置的分包數(shù)量,n初始值為最小分包數(shù)。
步驟2種群初始化。設(shè)置種群個體數(shù)量NA、最大迭代次數(shù)Tmax、當(dāng)前迭代次數(shù)t、種群下邊界Lb、種群上邊界Ub、計數(shù)器fc 等參數(shù)。隨機初始化種群個體。確定當(dāng)前全局最優(yōu)種群個體、全局最優(yōu)適應(yīng)度。
步驟3當(dāng)t<Tmax時,開始種群迭代。根據(jù)式(23) 計算參數(shù)dg,判斷rand<dg 時,執(zhí)行步驟4,否則執(zhí)行步驟5。
步驟4根據(jù)式 (19) 更新種群個體位置,結(jié)束后執(zhí)行步驟6。
步驟5當(dāng)rand < 0.8 時,根據(jù)式 (22) 更新個體位置,執(zhí)行歷史信息共享策略,否則根據(jù)式 (24)更新個體位置,執(zhí)行自由行動。
步驟6根據(jù)式 (14) 判斷更新后的個體位置是否越界,若超越上、下界,則個體位置設(shè)置為上、下界的值。種群個體位置更新后,按照式 (13) 計算本次迭代的個體適應(yīng)度值。
步驟7更新全局最優(yōu)位置、更新個體最優(yōu)位置、更新參數(shù)fc、t。
步驟8判斷是否結(jié)束迭代。如果是,則執(zhí)行下一步,否則執(zhí)行步驟3。
步驟9判斷n是否不大于nu,若是,則n自增1,執(zhí)行步驟2,否則執(zhí)行下一步。
步驟10輸出全局種群最優(yōu)位置及適應(yīng)度,即最優(yōu)服務(wù)組合及最優(yōu)評價結(jié)果。
仿真實驗在操作系統(tǒng)為64 位Windows11 的電腦上進行。程序采用Matlab R2016a 編寫。
為驗證本文改進被囊群算法 (MTSA) 性能,適應(yīng)度函數(shù)采用分包服務(wù)組合評價目標(biāo)模型函數(shù),選取被囊群算法 (TSA)[10]、文獻[13]的信息共享的記憶被囊群算法 (memory TSA with information sharing, IS-MTSA) 以及其他5 個經(jīng)典的群體智能算法:粒子群優(yōu)化算法 (particle swarm optimization, PSO)[16]、蝴蝶優(yōu)化算法 (butterfly optimization algorithm, BOA)[17]、差分進化算法 (differential evolution, DE)[18]、教與學(xué)優(yōu)化算法 (teaching-learning-based optimization,TLBO)[4]、布谷鳥算法 (cuckoo search, CS)[19]作為對比算法。為了保證對比算法的公平性和合理性,所有算法的種群規(guī)模均設(shè)置NA = 30,各算法的參數(shù)均按照相應(yīng)文獻進行設(shè)置。本實驗設(shè)置分包數(shù)量為10,即問題求解維度為10,模擬大規(guī)模零件制造場景,設(shè)采購方將制造任務(wù)i設(shè)置為分包任務(wù),要求制造200 萬個某零件。該任務(wù)的分包方案p 要求最長制造周期不超過45 d,最大制造費用不超過500 萬,共有300 個制造企業(yè)提交方案p 的任務(wù)意向書。實驗借鑒文獻[4],在一定取值區(qū)間內(nèi),隨機生成服務(wù)屬性值,表2 為屬性取值范圍。
表2 云制造分包服務(wù)組合屬性取值范圍Table 2 Attribute value ranges of cloud manufacturing subcontracting service composition
每個算法對分包服務(wù)組合評價模型函數(shù)獨立運行30 次,每次迭代200 次。表3 是從實驗結(jié)果中得到的最優(yōu)值、平均值、最差值、執(zhí)行時間 (執(zhí)行一次的平均時間) 等4 個指標(biāo),從不同維度分析實驗結(jié)果。
表3 各算法實驗結(jié)果Table 3 Experimental results of different algorithms
通過表3 可以看出,MTSA 在實驗函數(shù)上的最優(yōu)值、平均值、最差值均為最優(yōu),表明該算法具有更好的收斂精度和穩(wěn)定性。MTSA 由于在式 (21) 中執(zhí)行高斯變異操作消耗時間較長,因此執(zhí)行時間略長于TSA、ISMTSA、PSO,但差距不大。隨著求解問題復(fù)雜性的提高,式 (21) 所消耗的時間占整體比重將越來越小,MTSA 與TSA 執(zhí)行時間的差距將縮小。表4 是設(shè)置不同分包數(shù)量時TSA 和MTSA 執(zhí)行時間,當(dāng)分包數(shù)n=50 時,MTSA 執(zhí)行時間小于TSA 執(zhí)行時間。圖7 是各算法計算云制造分包服務(wù)組合的收斂曲線,橫軸代表算法迭代次數(shù),縱軸代表迭代過程搜索到的最優(yōu)適應(yīng)度值的平均數(shù)。從圖中可以看出,對比其他算法,本文改進的被囊群算法收斂速度明顯較快,在迭代60 次之后搜索到的最優(yōu)適應(yīng)度值已優(yōu)于其他對比算法,并且將優(yōu)勢一直保持到最后。因此,改進的被囊群算法在搜索精度和收斂速度方面與對比算法比較有明顯優(yōu)勢,更適合求解云制造分包服務(wù)組合優(yōu)化問題。
表4 不同分包數(shù)量時執(zhí)行時間Table 4 Execution time for different subcontracting quantities 10-4 s
圖7 各算法的收斂曲線Figure 7 Convergence curves of different algorithm
將本文的方案與文獻[4]、文獻[5]和文獻[6]所提方案進行對比。所選對比方案針對云環(huán)境中資源配置問題分別提供了3 種不同方法,實驗分別應(yīng)用本文方案和對比方案解決資源配置問題。首先,比較本文方案在不同分包數(shù)量時根據(jù)式 (13) 求解的綜合制造水平差異,搜索最優(yōu)分包服務(wù)組合。然后,通過方案對比,驗證本文方案在制造時間和制造成本方面的優(yōu)勢。
為方便實驗觀察,本文方案設(shè)置分包數(shù)量分別為1、3,5、7、9、11、13、15。文獻[4]、文獻[5]和文獻[6]提供的方案分別設(shè)為對比方案1、對比方案2 和對比方案3,參數(shù)按照相應(yīng)文獻設(shè)置。實驗設(shè)置種群規(guī)模NA=30,所有方案均獨立運行10 次,每次迭代500 次。
表5 為本文方案不同分包數(shù)量的服務(wù)組合指標(biāo)明細(xì),展示了不同分包數(shù)量下搜索到的最優(yōu)分包服務(wù)組合的制造時間、制造成本、持續(xù)生產(chǎn)能力和綜合制造水平。通過表5 可知,當(dāng)未分包 (分包數(shù)量為1) 時,制造時間為22.2 d,成本為122.2 萬元,持續(xù)生產(chǎn)能力指標(biāo)為93.36%,雖然持續(xù)生產(chǎn)能力較強,但制造時間和成本明顯較高。隨著分包數(shù)量的增加,完成制造任務(wù)的時間和成本逐漸減少。但由于過多的分包量導(dǎo)致生產(chǎn)的不確定性風(fēng)險增加,相應(yīng)的持續(xù)生產(chǎn)能力在不斷減弱。從表5 可以看出,分包數(shù)量為3 時,制造時間為14.4 d,成本為58.56 萬元,持續(xù)生產(chǎn)能力為73.52%,各項數(shù)據(jù)均表現(xiàn)較好,綜合制造水平最優(yōu)。
表5 分包服務(wù)組合指標(biāo)明細(xì)Table 5 Details of subcontracting service composition indicators
表6 是各方案求解的制造時間和成本,其中本文方案數(shù)據(jù)來自分包數(shù)量為3 時的制造時間和成本。通過對比可知,本文方案求解的最優(yōu)服務(wù)組合在制造時間和制造成本方面均優(yōu)于對比方案。
表6 各方案的制造時間和制造成本Table 6 Manufacturing time and cost of each scheme
云制造服務(wù)調(diào)度是云制造平臺的關(guān)鍵環(huán)節(jié),合理的服務(wù)調(diào)度能提高制造效率、降低制造成本、控制整體風(fēng)險。針對云制造環(huán)境中大規(guī)模制造任務(wù)的制造周期長、成本高的問題,提出基于改進被囊群算法的云制造分包服務(wù)組合優(yōu)化方法。綜合考慮服務(wù)的功能與非功能屬性,采用基于綜合制造水平的分包服務(wù)組合評價模型計算服務(wù)Qos。為了找到一種更有效地求解云制造分包服務(wù)組合模型的算法,提出一種改進被囊群算法,引入信息共享策略,指導(dǎo)種群跳出局部最優(yōu),提高了搜索精度。實驗驗證了改進被囊群算法的搜索性能優(yōu)勢和云制造分包服務(wù)組合對解決大規(guī)模制造任務(wù)周期長、成本高問題的有效性和可行性。本文在對分包服務(wù)組合優(yōu)化時,沒有考慮到任務(wù)計劃出現(xiàn)偏差時,如何動態(tài)調(diào)整服務(wù)組合,下一步工作將集中于云制造分包服務(wù)組合監(jiān)控及動態(tài)調(diào)整模型的構(gòu)建。