劉 晶,張喆語(yǔ),董志紅,季海鵬
(1.河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300400;2.河北工業(yè)大學(xué) 材料科學(xué)與工程學(xué)院,天津 300400;3.河北省數(shù)據(jù)驅(qū)動(dòng)工業(yè)智能工程研究中心,天津 300400:4.天津開(kāi)發(fā)區(qū)精諾瀚海數(shù)據(jù)科技有限公司,天津 300400)
隨著“德國(guó)工業(yè)4.0”、“美國(guó)工業(yè)互聯(lián)網(wǎng)”和“中國(guó)制造2025”戰(zhàn)略目標(biāo)的相繼提出,工業(yè)物聯(lián)網(wǎng)(Industrial Internet of Things,IIOT)被廣泛應(yīng)用,由于過(guò)度依賴中心化服務(wù)器的數(shù)據(jù)傳輸過(guò)程[1],導(dǎo)致其中央數(shù)據(jù)存儲(chǔ)機(jī)制因監(jiān)管困難、訪問(wèn)權(quán)限不明確等問(wèn)題而存在安全隱患,同時(shí)嚴(yán)重影響其可擴(kuò)展性。因此,IIOT的數(shù)據(jù)傳輸安全問(wèn)題和可擴(kuò)展問(wèn)題成為工業(yè)制造業(yè)發(fā)展的熱點(diǎn)[2]。
區(qū)塊鏈技術(shù)(blockchain technology)在不依賴第三方信任組織的條件下,基于時(shí)間戳、共識(shí)機(jī)制、智能合約進(jìn)行數(shù)據(jù)去中心化管理,可以很好地解決IIOT中的傳輸安全問(wèn)題。夏昌琳等[3]針對(duì)物聯(lián)網(wǎng)數(shù)據(jù)安全隱私問(wèn)題和中心化機(jī)構(gòu)維護(hù)困難問(wèn)題,利用區(qū)塊鏈的分布式數(shù)據(jù)庫(kù)技術(shù)解決了安全隱私問(wèn)題,利用智能合約技術(shù)建立了用戶數(shù)據(jù)的自由交易,并通過(guò)分析主流共識(shí)機(jī)制,選擇了一種適用于物聯(lián)網(wǎng)平臺(tái)的共識(shí)機(jī)制;汪允敏等[4]為實(shí)現(xiàn)IIOT中的智能控制與優(yōu)化經(jīng)營(yíng),利用區(qū)塊鏈技術(shù)管理IIOT標(biāo)識(shí),同時(shí)引入聯(lián)盟鏈,使鏈上各參與方可以共同參與和維護(hù)工業(yè)鏈,另外為提高交易的移動(dòng)性和實(shí)時(shí)互動(dòng),引入霧計(jì)算技術(shù);趙闊等[5]討論了區(qū)塊鏈應(yīng)用于IIOT后的安全問(wèn)題,考慮用區(qū)塊鏈的技術(shù)特點(diǎn)來(lái)應(yīng)對(duì)物聯(lián)網(wǎng)中的安全隱患。
上述文獻(xiàn)在一定程度上解決了數(shù)據(jù)傳輸?shù)陌踩珕?wèn)題,但是在實(shí)際應(yīng)用中,IIOT傳輸海量的工業(yè)數(shù)據(jù),高頻交易需要區(qū)塊鏈系統(tǒng)具有高吞吐率,如何提高吞吐率使其適應(yīng)工業(yè)場(chǎng)景,成為亟待解決的問(wèn)題。JIANG等[6]提出跨鏈框架整合多個(gè)區(qū)塊鏈,提高了區(qū)塊鏈本身的可擴(kuò)展性,從而高效和安全地管理物聯(lián)網(wǎng)數(shù)據(jù),同時(shí)基于hyperledge結(jié)構(gòu)和IOTA-Tangle建立了模型,并用實(shí)驗(yàn)證明了框架的有效性,然而該框架只適用于管理資源較少的物聯(lián)網(wǎng)設(shè)備,并未考慮資源成本和可擴(kuò)展性的綜合發(fā)展;CHI等[7]提出一個(gè)綜合考慮資料分享安全性與效率的區(qū)塊鏈資料分享方案,設(shè)計(jì)了一個(gè)基于身份認(rèn)證和超級(jí)賬本結(jié)構(gòu)的安全數(shù)據(jù)共享框架,以保障數(shù)據(jù)安全,所提出的社區(qū)檢測(cè)算法可以有效縮小共享數(shù)據(jù)的查詢范圍,提高數(shù)據(jù)共享效率。上述方法在一定程度上提高了區(qū)塊鏈應(yīng)用于IIOT的性能,由于IIOT中傳感器和執(zhí)行器產(chǎn)生的海量數(shù)據(jù)通過(guò)網(wǎng)關(guān)傳輸?shù)絽^(qū)塊鏈系統(tǒng),若區(qū)塊鏈節(jié)點(diǎn)數(shù)量少,則不能滿足IIOT吞吐率的要求,因此部署時(shí)仍需考慮多區(qū)塊鏈節(jié)點(diǎn)的情況,然而部署高性能、高配置硬件節(jié)點(diǎn)將投入大量資金,使部署開(kāi)銷成倍增長(zhǎng),如何確定區(qū)塊鏈最優(yōu)節(jié)點(diǎn)數(shù)十分重要。針對(duì)上述問(wèn)題,本文提出一種基于IIOT的區(qū)塊鏈多目標(biāo)優(yōu)化(Multi Objective optimization Method of Blockchain based on IIOT, MOMOB)模型,該模型不僅考慮系統(tǒng)節(jié)點(diǎn)數(shù)量對(duì)吞吐率的影響,同時(shí)期望降低通訊時(shí)延開(kāi)銷,通過(guò)計(jì)算分布在Pareto前沿的最優(yōu)解集,尋找在IIOT部署區(qū)塊鏈技術(shù)的最優(yōu)節(jié)點(diǎn)數(shù)。
本文的創(chuàng)新點(diǎn)如下:
(1)針對(duì)區(qū)塊鏈節(jié)點(diǎn)數(shù)量少難以滿足物聯(lián)網(wǎng)吞吐率要求,節(jié)點(diǎn)數(shù)量過(guò)度又會(huì)造成部署開(kāi)銷過(guò)大的問(wèn)題,提出一種MOMOB模型,目的是在提高IIOT吞吐率的同時(shí),降低系統(tǒng)的通訊時(shí)延開(kāi)銷,為IIOT部署區(qū)塊鏈節(jié)點(diǎn)尋找最優(yōu)節(jié)點(diǎn)數(shù)。
(2)針對(duì)多目標(biāo)優(yōu)化過(guò)程中,帶精英策略的快速非支配排序遺傳算法(fast elitist Non-dominated Sorting Genetic Algorithm, NSGA-Ⅱ)存在的收斂結(jié)果過(guò)于單一和偽支配點(diǎn)問(wèn)題,提出自選精英保留策略的快速非支配排序算法(choose Own Elite Non-dominated Sorting Genetic Algorithm, OE-NSGA-Ⅱ),目的是將偽支配點(diǎn)中的最優(yōu)解加入最優(yōu)解集,使結(jié)果集更優(yōu),收斂性更強(qiáng)。
區(qū)塊鏈技術(shù)起源于《Bitcoin:A Peer-to Peer Electronic Cash System》,其中第一次出現(xiàn)了區(qū)塊鏈的概念。區(qū)塊鏈具有去中心化、時(shí)序數(shù)據(jù)、集體維護(hù)、可編程、安全可信等特點(diǎn)[8]。去中心化使區(qū)塊鏈可以構(gòu)建以鏈為核心的分布式系統(tǒng);時(shí)序數(shù)據(jù)為存儲(chǔ)在區(qū)塊鏈中的數(shù)據(jù)增加時(shí)間刻度,能夠提高系統(tǒng)的可追溯性,以便產(chǎn)品溯源;集體維護(hù)要求區(qū)塊鏈用戶通過(guò)共識(shí)算法保證系統(tǒng)的一致性,并采用特殊的鼓勵(lì)機(jī)制鼓勵(lì)區(qū)塊鏈用戶參與一致性的驗(yàn)證過(guò)程;可編程使智能合約管理區(qū)塊鏈成為可能,并用圖靈完備的腳本和背書系統(tǒng)構(gòu)建安全可信的交易;安全可信表征區(qū)塊鏈技術(shù)的數(shù)據(jù)無(wú)法篡改、不可偽造,這些都是基于哈希算法實(shí)現(xiàn)的。
區(qū)塊鏈提出去中心化的概念,是一種按照時(shí)間順序?qū)^(qū)塊以順序相連的方式組合成的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)[9],其核心是分布式,在不依賴第三方信任組織的條件下,以密碼學(xué)的方式保證用戶數(shù)據(jù)不可篡改、不可偽造[10],并基于時(shí)間戳、共識(shí)機(jī)制和智能合約對(duì)數(shù)據(jù)進(jìn)行去中心化管理。區(qū)塊鏈的核心價(jià)值是基于算法建立開(kāi)放透明的規(guī)則和信任網(wǎng)絡(luò),以確保交易安全,并在復(fù)雜環(huán)境中使信息可信[11]。
1.1.1 共識(shí)機(jī)制
共識(shí)機(jī)制是區(qū)塊鏈系統(tǒng),如比特幣、以太坊等的底層協(xié)議,規(guī)定了系統(tǒng)節(jié)點(diǎn)如何交互、數(shù)據(jù)路由如何轉(zhuǎn)發(fā)、交易如何驗(yàn)證確認(rèn)等,目的是解決在存在錯(cuò)誤節(jié)點(diǎn)的分布式系統(tǒng)中保證決策一致的問(wèn)題。
共識(shí)問(wèn)題分為兩種,分別用來(lái)處理非拜占庭的普通錯(cuò)誤和拜占庭錯(cuò)誤,衍生出的共識(shí)算法分為CFT(crash fault tolerance)類算法和BFT(byzantine fault tolerance)類算法,常見(jiàn)的BFT算法有實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance, PBFT)算法、工作量證明(Proof of Work, POW)等。
1.1.2 PBFT共識(shí)算法
PBFT算法作為確定性系列算法的代表算法,其結(jié)果一旦達(dá)到共識(shí)就無(wú)法更改[12]。對(duì)于總節(jié)點(diǎn)數(shù)為n的系統(tǒng),PBFT算法容忍的錯(cuò)誤節(jié)點(diǎn)數(shù)最大為(n-1)/3,具體算法如圖1所示。
所有客戶請(qǐng)求需經(jīng)過(guò)圖1所示的5個(gè)階段,兩兩交互后達(dá)成一致。圖中N1~N3為服務(wù)節(jié)點(diǎn),其中N3為故障節(jié)點(diǎn)。完整的通訊協(xié)議過(guò)程如下:
(1)客戶端發(fā)送請(qǐng)求,主節(jié)點(diǎn)接收客戶端請(qǐng)求。
(2)主節(jié)點(diǎn)向客戶端發(fā)送請(qǐng)求信息并廣播序號(hào),將序號(hào)分配的消息發(fā)送給各其他節(jié)點(diǎn)。
(3)其他節(jié)點(diǎn)接收到主節(jié)點(diǎn)消息,向所有服務(wù)器節(jié)點(diǎn)廣播消息。
(4)各節(jié)點(diǎn)按請(qǐng)求的次序進(jìn)行驗(yàn)證,并向網(wǎng)絡(luò)中廣播已經(jīng)接收到消息,同時(shí)執(zhí)行客戶端請(qǐng)求并反饋給客戶端。
(5)客戶端等待不同節(jié)點(diǎn)反饋,若其收到2f+1條消息,則達(dá)成共識(shí),其中f為錯(cuò)誤節(jié)點(diǎn)的個(gè)數(shù)。
多目標(biāo)優(yōu)化問(wèn)題由需要優(yōu)化的目標(biāo)函數(shù)與目標(biāo)函數(shù)變量的約束條件組成,該問(wèn)題的數(shù)學(xué)描述如下:
minf1(x1,x2,…,xn);
…
minfr(x1,x2,…,xn);
maxfr+1(x1,x2,…,xn);
…
maxfm(x1,x2,…,xn)。
(1)
s.t.
gi(x)≥0,i=1,2,…,p;
hj(x)≥0,j=1,2,…,q。
(2)
其中:fi(x)為優(yōu)化的目標(biāo)函數(shù),gi(x)和hi(x)為優(yōu)化問(wèn)題的約束函數(shù)。在多目標(biāo)優(yōu)化問(wèn)題中,有m(m≥2)個(gè)目標(biāo)函數(shù)(r個(gè)極小化目標(biāo)函數(shù),(m-r)個(gè)極大化目標(biāo)函數(shù))和(p+q)個(gè)約束函數(shù)。
目標(biāo)函數(shù)是模擬所需優(yōu)化問(wèn)題的數(shù)學(xué)表達(dá)式,實(shí)際中希望多目標(biāo)優(yōu)化問(wèn)題的目標(biāo)函數(shù)同時(shí)達(dá)到最優(yōu),然而目標(biāo)函數(shù)的自變量受約束條件限制,多目標(biāo)優(yōu)化問(wèn)題就是為了尋找滿足所有約束條件限制的一組可行解[14]。多目標(biāo)優(yōu)化算法是為了尋找所有可行解中的Pareto前沿解。
本文提出MOMOB模型對(duì)IIOT中的區(qū)塊鏈吞吐率進(jìn)行優(yōu)化,同時(shí)降低因增加節(jié)點(diǎn)導(dǎo)致的通訊時(shí)延開(kāi)銷,采用NSGA-Ⅱ?qū)Χ哌M(jìn)行權(quán)衡,尋求分布在Pareto前沿的最優(yōu)解集。針對(duì)優(yōu)化過(guò)程中存在的偽支配點(diǎn)問(wèn)題和解集單一問(wèn)題對(duì)NSGA-Ⅱ進(jìn)行改進(jìn),提出OE-NSGA-Ⅱ,在提高其斂散性的同時(shí)保證解集種群的多樣性。與NSGA-Ⅱ相比,OE-NSGA-Ⅱ求得的最優(yōu)節(jié)點(diǎn)個(gè)數(shù)使區(qū)塊鏈吞吐率更高、部署資源通訊開(kāi)銷成本更低。
MOMOB方法優(yōu)化流程如圖2所示。首先,以基于區(qū)塊鏈性能的多目標(biāo)優(yōu)化函數(shù)的約束條件為上下閾值隨機(jī)生成數(shù)據(jù),再將隨機(jī)數(shù)據(jù)模擬二進(jìn)制交叉、多項(xiàng)式變異得到子代集;其次,以比特幣參數(shù)擬合兩個(gè)區(qū)塊鏈性能多目標(biāo)優(yōu)化函數(shù),分別為吞吐率函數(shù)和部署開(kāi)銷函數(shù),將子代集與原始集合并生成新一代父種群作為節(jié)點(diǎn)原始樣本,區(qū)塊鏈性能多目標(biāo)優(yōu)化函數(shù)作為目標(biāo)函數(shù),輸入優(yōu)化算法。為提高優(yōu)化結(jié)果,MOMOB方法用OE-NSGA-Ⅱ代替NSGA-Ⅱ,將種群按Pareto等級(jí)分為Z1,Z2,…,Zn多個(gè)組計(jì)算偽支配值,將每組中偽支配最小的個(gè)體直接加入精英種群,再通過(guò)擁擠度比較從其余個(gè)體中篩選剩余精英。最后提取最優(yōu)節(jié)點(diǎn)數(shù),根據(jù)最優(yōu)節(jié)點(diǎn)數(shù)部署區(qū)塊鏈系統(tǒng),得到吞吐率與部署開(kāi)銷優(yōu)化后的結(jié)果,然后與IIOT設(shè)備信息交互,觀察性能的實(shí)際提升情況。
本節(jié)介紹OE-NSGA-Ⅱ優(yōu)化算法,并結(jié)合實(shí)際提出區(qū)塊鏈性能多目標(biāo)優(yōu)化函數(shù),其中多目標(biāo)優(yōu)化主要包括區(qū)塊鏈吞吐率和區(qū)塊鏈部署開(kāi)銷。
2.2.1 吞吐率函數(shù)
區(qū)塊鏈吞吐率用于表征系統(tǒng)中每秒鐘能夠處理的業(yè)務(wù)數(shù)量,計(jì)算方法為
(3)
式中:TPS為區(qū)塊鏈吞吐率;Bs為并發(fā)數(shù),表征一個(gè)區(qū)塊鏈中所包含數(shù)據(jù)的大小,由系統(tǒng)區(qū)塊大小O和每條交易的平均大小Td決定,Bs=O/Td;Tp為平均響應(yīng)時(shí)間,表征區(qū)塊鏈打包一個(gè)區(qū)塊所需的時(shí)間,由區(qū)塊鏈系統(tǒng)中存在的節(jié)點(diǎn)數(shù)m決定。
通過(guò)Blockbench私有區(qū)塊鏈性能評(píng)估框架對(duì)共識(shí)機(jī)制進(jìn)行比較,綜合考慮吞吐量、時(shí)延兩個(gè)性能,假定區(qū)塊鏈系統(tǒng)采用PBFT算法作為共識(shí)協(xié)議,在PBFT算法達(dá)成一致過(guò)程中,系統(tǒng)需要進(jìn)行三次階段性廣播,設(shè)全網(wǎng)的節(jié)點(diǎn)數(shù)為m,則完成一次一致性協(xié)議需要進(jìn)行消息傳遞的次數(shù)為2m(m-1),若區(qū)塊鏈系統(tǒng)中的傳遞時(shí)延為α,則平均響應(yīng)時(shí)間
Tp=2m(m-1)α。
(4)
綜上所述,區(qū)塊鏈吞吐率函數(shù)為
(5)
2.2.2 區(qū)塊鏈通訊開(kāi)銷函數(shù)
目前區(qū)塊鏈技術(shù)多依賴單節(jié)點(diǎn)的處理能力,擁有更多計(jì)算節(jié)點(diǎn)意味著處理事務(wù)更快。然而,由式(4)可知,節(jié)點(diǎn)數(shù)增多會(huì)導(dǎo)致區(qū)塊鏈系統(tǒng)中的響應(yīng)時(shí)間增加,不但增大了通訊開(kāi)銷,而且會(huì)增加相應(yīng)的部署成本。針對(duì)該問(wèn)題,提出區(qū)塊鏈通訊開(kāi)銷函數(shù)COST
COST=2ωm(m-1)。
(6)
式中ω為系統(tǒng)傳遞時(shí)延開(kāi)銷,ω=1 500 元/GHz。
2.2.3 約束條件
以比特幣為例計(jì)算區(qū)塊鏈性能。根據(jù)文獻(xiàn)[15]對(duì)處理交易頻率的總結(jié),目前比特幣區(qū)塊鏈主鏈中,每條交易平均為250字節(jié),每生成一個(gè)區(qū)塊需要的內(nèi)存大小為1 MB,一個(gè)區(qū)塊可以容納4 000余條交易量,所有用戶從開(kāi)始挖礦到對(duì)產(chǎn)生一個(gè)區(qū)塊做出響應(yīng)的時(shí)間平均為10 min,即每10 min產(chǎn)生一個(gè)區(qū)塊,每天可以產(chǎn)生144個(gè)區(qū)塊,達(dá)成576 000余條交易數(shù)據(jù),根據(jù)上述數(shù)據(jù)計(jì)算出的比特幣TPS=6.67。系統(tǒng)吞吐率隨節(jié)點(diǎn)數(shù)的改變而改變,但節(jié)點(diǎn)規(guī)模受到限制。
一方面,由于拜占庭將軍問(wèn)題,假設(shè)在節(jié)點(diǎn)數(shù)為N的系統(tǒng)中存在F個(gè)不可信的節(jié)點(diǎn),在PBFT共識(shí)機(jī)制保證通訊安全的條件下,當(dāng)N>3F+1時(shí)問(wèn)題才有解。因此,能夠確保達(dá)成一致的拜占庭將軍節(jié)點(diǎn)數(shù)至少為4,此時(shí)最多允許出現(xiàn)1個(gè)惡意節(jié)點(diǎn)。
另一方面,從實(shí)際問(wèn)題出發(fā),節(jié)點(diǎn)數(shù)有目標(biāo)上限,即
Mmin (7) 式中:Mmin為最小優(yōu)化節(jié)點(diǎn)數(shù)基準(zhǔn),Mmax為最大節(jié)點(diǎn)數(shù),分別取Mmin=17,Mmax=10 000。 OE-NSGA-Ⅱ是針對(duì)NSGA-Ⅱ存在的偽支配點(diǎn)問(wèn)題和結(jié)果集單一問(wèn)題提出的改進(jìn)算法。該算法提出改良的種群精英篩選算法和可控閾值的精英保留策略。改良的種群精英篩選算法通過(guò)計(jì)算種群個(gè)體的偽支配值,尋找偽支配點(diǎn)中被NSGA-Ⅱ篩選淘汰的精英個(gè)體;可控閾值的精英保留策略對(duì)目標(biāo)種群數(shù)量進(jìn)行可控干預(yù),防止精英種群因改良的種群精英篩選算法而被篩選精英個(gè)體霸占,以提高解集的多樣性。 2.3.1 偽支配點(diǎn)與改良的種群精英篩選算法 (1)偽支配點(diǎn) NSGA-Ⅱ的精英保留策略是個(gè)體種群根據(jù)快速非支配排序后的Pareto等級(jí)由低到高,相同Pareto等級(jí)下?lián)頂D度由大到小選擇子代優(yōu)良個(gè)體的方法,然而在通過(guò)擁擠度進(jìn)行篩選的過(guò)程中,會(huì)出現(xiàn)Pareto面斷層的情況,原因是存在因擁擠度小而被淘汰的偽支配點(diǎn)。下面詳細(xì)解釋偽支配點(diǎn)。 設(shè)優(yōu)化目標(biāo)函數(shù)為fm,在將初始個(gè)體的擁擠度置0后,擁擠度 (8) 由式(8)可知,擁擠度的大小只與快速非支配排序后相鄰的目標(biāo)函數(shù)值有關(guān)。 圖3所示為相同Pareto等級(jí)下相同擁擠度的非支配點(diǎn),框中的兩點(diǎn)擁有相同的擁擠度和Pareto等級(jí),對(duì)于兩個(gè)越小越優(yōu)函數(shù)function1和funciton2,C1點(diǎn)和C2點(diǎn)的函數(shù)值如表1所示。表中C1的兩項(xiàng)函數(shù)值均小于C2,即C1優(yōu)于C2,然而根據(jù)擁擠度NSGA-Ⅱ無(wú)法判斷哪個(gè)位置的個(gè)體解更優(yōu),因此用NSGA-Ⅱ篩選最優(yōu)解集并不準(zhǔn)確,此處稱擁有相同Pareto等級(jí)和擁擠度等級(jí),但因NSGA-Ⅱ的精英篩選規(guī)則而淘汰的解的個(gè)體為偽支配個(gè)體,在Pareto面上未展示的點(diǎn)稱為偽支配點(diǎn)。 表1 相同Pareto等級(jí)個(gè)體的優(yōu)劣程度 (2)種群精英個(gè)體篩選方法 為解決偽支配點(diǎn)問(wèn)題,本文提出種群精英個(gè)體篩選方法,以及偽支配值ξi的概念。因?yàn)镹SGA-Ⅱ無(wú)法識(shí)別偽支配點(diǎn),所以精英選擇策略不再只采用Pareto等級(jí)和擁擠度,還要根據(jù)每個(gè)個(gè)體的偽支配值進(jìn)行判斷。 圖4所示為加入種群精英個(gè)體篩選方法后的算法步驟,算法在初始種群交叉、變異、組合生成2倍個(gè)體數(shù)量的新一代父種群后,將種群分組為多個(gè)子種群,計(jì)算子種群中個(gè)體的偽支配值,將子種群中最小偽支配值的個(gè)體直接加入精英種群。具體流程如下: 步驟1生成原始種群,對(duì)原始種群數(shù)據(jù)進(jìn)行非支配排序,得到圖4中的子種群P。 步驟2將子種群P進(jìn)行交叉、變異,根據(jù)其中隨機(jī)生成的排序位置,采用交叉變異算法得到與子種群P規(guī)模相同的變異子種群Q。 步驟3將子種群P和Q合并生成新一代父種群S,根據(jù)目標(biāo)函數(shù)對(duì)父種群進(jìn)行快速排序,得到一串升序排列的種群數(shù)組,按快速非支配排序得到的Pareto等級(jí)劃分為Pareto等級(jí)為0的Z1種群、Pareto等級(jí)為1的Z2種群,依次類推。 步驟4將父種群S分成若干子種群,通過(guò)種群精英個(gè)體篩選算法計(jì)算子種群中每個(gè)個(gè)體的偽支配值。以種群大小為N,目標(biāo)函數(shù)為fm為例,偽支配值 i=1,2,3,…,N-1。 (9) 步驟5當(dāng)i=N時(shí),ξi=-∞。 步驟6在每個(gè)子種群中選取ξi最小的個(gè)體直接加入精英種群。 步驟7計(jì)算剩余個(gè)體的擁擠度,按照Pareto等級(jí)由低級(jí)到高級(jí)的順序?qū)⑹S鄠€(gè)體加入精英種群。圖4中的虛線表示精英種群規(guī)模與子種群P規(guī)模一致。在篩選子種群進(jìn)入精英種群時(shí),如果出現(xiàn)如圖4中Z3子種群部分加入精英種群后,精英種群達(dá)到規(guī)模閾值的情況,則淘汰擁擠度低的子種群個(gè)體,最后形成篩選后的精英種群。 步驟8重復(fù)步驟步驟1~步驟7,直到迭代次數(shù)達(dá)到要求。 2.3.2 可控閾值的精英保留策略 (1)精英保留策略 精英保留策略是在子種群P和子代種群Q合并形成的新一代父種群S中篩選最優(yōu)解的方法,該方法根據(jù)新父種群S中個(gè)體的Pareto等級(jí)和擁擠度進(jìn)行篩選,Pareto等級(jí)低的子種群優(yōu)先加入精英種群,當(dāng)出現(xiàn)相同Pareto等級(jí)的個(gè)體無(wú)法全部放入精英種群時(shí),根據(jù)個(gè)體的擁擠度從大到小加入精英種群。 然而,引入種群精英個(gè)體篩選方法后,目標(biāo)解集會(huì)隨遺傳迭代次數(shù)的增加而被篩選出的“精英”全部占據(jù),導(dǎo)致迭代還未結(jié)束,精英種群就不再變化,不利于種群解集的多樣性以及最優(yōu)解的選取,因此提出可控閾值的精英保留策略。 (2)可控閾值的精英保留策略 因?yàn)镹SGA-Ⅱ的精英保留策略為一個(gè)固定值,不利于結(jié)果收斂,所以對(duì)精英種群的迭代關(guān)系進(jìn)行擴(kuò)展,下一次迭代的精英種群規(guī)模 Sg=L×λg。 (10) 式中:L為初始種群的個(gè)體數(shù);λg為迭代第g次的精英保留規(guī)模,其隨所得非支配解的數(shù)量自適應(yīng)增長(zhǎng),增長(zhǎng)公式為 λg+1=λg[1+ln(1+ρ)]。 (11) 式中:λg+1為第g+1代精英保留規(guī)模;ρ為第g代種群中非支配集解數(shù)量與種群規(guī)模的比值。 上述公式加入遺傳算法后仍然存在問(wèn)題。隨著遺傳算法的進(jìn)行,精英種群規(guī)模會(huì)延展到無(wú)限大,不利于繪制收斂圖,并極大地增加了算法的時(shí)間開(kāi)銷,因此提出精英閾值μ。 當(dāng)Sg的種群規(guī)模λg<μ時(shí),種群自由繁殖,精英種群規(guī)模增大,在種群規(guī)模達(dá)到閾值μ后,種群會(huì)淘汰擁擠度較小的精英個(gè)體。為了保證種群健壯成長(zhǎng),將種群規(guī)模保持在種群增長(zhǎng)S型曲線的中間部分,在淘汰部分精英后,重新計(jì)算S型曲線的中點(diǎn)作為新一代初始種群的種群規(guī)模。 引入閾值后,精英種群不再被種群精英個(gè)體篩選方法中選取的精英全部占據(jù),且不會(huì)因不可控精英種群規(guī)模膨脹導(dǎo)致結(jié)果發(fā)散。 MOMOB模型采用OE-NSGA-Ⅱ進(jìn)行多目標(biāo)優(yōu)化,其任務(wù)為提出多目標(biāo)優(yōu)化函數(shù)并基于函數(shù)模型的優(yōu)劣篩選種群,最終得出分布在Pareto前沿的最優(yōu)解集,根據(jù)最優(yōu)解集部署區(qū)塊鏈的理論最優(yōu)節(jié)點(diǎn)數(shù)。因此,MOMOB模型的算法設(shè)計(jì)分為兩部分:①擬合原始種群數(shù)據(jù),根據(jù)交叉函數(shù)和變異函數(shù)生成新一代父種群;②計(jì)算擬合種群的偽支配值、Pareto等級(jí)和擁擠度,用于篩選父種群中的精英,進(jìn)入二次迭代。 2.4.1 原始種群數(shù)據(jù)生成算法設(shè)計(jì) 區(qū)塊鏈數(shù)據(jù)在工業(yè)領(lǐng)域落地屬于企業(yè)核心技術(shù),原始種群數(shù)據(jù)將2.2.3節(jié)的約束條件作為上下閾值,隨機(jī)生成20組節(jié)點(diǎn)數(shù)。先將比特幣參數(shù)代入初始化函數(shù)中計(jì)算出第一代個(gè)體函數(shù)值,再對(duì)函數(shù)值進(jìn)行快速非支配排序,最后調(diào)用交叉、變異算法生成新一代父種群。 交叉算法采用模擬二進(jìn)制交叉算法(Simulated Binary Crossover, SBX),SBX算子是一種模擬單點(diǎn)二進(jìn)制交叉的交叉算子,需要隨機(jī)選擇兩個(gè)父代個(gè)體。設(shè)兩個(gè)父代個(gè)體為x1j(t)和x2j(t),用SBX算子計(jì)算產(chǎn)生的兩個(gè)后代個(gè)體分別為: c1=0.5×[(1+β)x1j+(1-β)x2j]; c2=0.5×[(1-β)x1j+(1+β)x2j]。 (12) 式中參數(shù)β由分布因子η按下式動(dòng)態(tài)隨機(jī)生成: (13) η是自定義參數(shù),其值越大,所產(chǎn)生的后代個(gè)體逼近父代個(gè)體的概率越大,因此SBX算子在局部?jī)?yōu)化搜索上表現(xiàn)較好,處理高維目標(biāo)優(yōu)化問(wèn)題時(shí)引入SBX算子可以有效降低個(gè)體空間稀疏性。 所采用的多項(xiàng)式變異算法中,親代個(gè)體x1j(t)生成子代個(gè)體x1j(t+1)的過(guò)程如下: (1)選擇隨機(jī)數(shù)uj∈[0,1]。 (2)計(jì)算變異算子Δj, (14) (3)計(jì)算子代 x1j(t+1)=x1j(t)+Δj。 (15) 通過(guò)交叉、變異生成與原始種群規(guī)模相同的交叉變異種群,并與原始種群結(jié)合形成新一代父種群。 2.4.2 精英種群個(gè)體篩選算法設(shè)計(jì) 將父種群進(jìn)行快速非支配排序,通過(guò)種群精英個(gè)體篩選方法從子種群中篩選出偽支配值最低的一組個(gè)體加入精英種群,然后計(jì)算剩余部分個(gè)體的擁擠度,并篩選Pareto等級(jí)和擁擠度,根據(jù)Pareto等級(jí)由低到高、擁擠度由大到小的順序?qū)⒕⒎N群填滿。從精英種群中篩選出與原始種群數(shù)量相同的子代種群,調(diào)用可控閾值的精英種群擴(kuò)展算法擴(kuò)大下一次遺傳迭代的子種群,具體算法流程如圖5所示。 實(shí)驗(yàn)數(shù)據(jù)將2.2.3節(jié)的約束條件作為上下閾值,隨機(jī)生成20組節(jié)點(diǎn)數(shù),將比特幣參數(shù)與20組節(jié)點(diǎn)數(shù)據(jù)代入所提區(qū)塊鏈多目標(biāo)優(yōu)化函數(shù),繪制散點(diǎn)圖,如圖6所示。 圖中Y軸為個(gè)體吞吐率函數(shù)值,最大吞吐率不超過(guò)0.005,大部分個(gè)體分布在靠近X軸的位置,吞吐率接近0,存在極大優(yōu)化空間。將生成的原始種群代入二進(jìn)制交叉算法和多項(xiàng)式變異算法,生成一代子種群,生成的種群與原始種群對(duì)比圖如圖7所示。相對(duì)于一代個(gè)體原始種群,一代子種群的函數(shù)值變化不明顯,但豐富了原始種群的數(shù)量。將一代子種群與一代原始種群合并,生成2倍初始個(gè)體數(shù)量的原始數(shù)據(jù)父種群代入OE-NAGA-Ⅱ,篩選精英個(gè)體。 OE-NSGA-Ⅱ解決了NSGA-Ⅱ收斂結(jié)果過(guò)于單一和存在偽支配點(diǎn)的問(wèn)題,本節(jié)將上述交叉、變異后生成的原始數(shù)據(jù)父種群作為一代種群代入OE-NSGA-Ⅱ,迭代1 000次,測(cè)試兩種算法得到的Pareto前沿解的斂散性和偽支配點(diǎn)。測(cè)試機(jī)器的硬件配置信息如表2所示。 表2 實(shí)驗(yàn)機(jī)器配置 為對(duì)比兩種算法的優(yōu)劣,隨機(jī)生成完全相同的初始種群個(gè)體,帶入如表3所示的參數(shù),迭代1 000次后篩選最優(yōu)解集。 表3 多目標(biāo)優(yōu)化對(duì)比算法參數(shù) 將多目標(biāo)優(yōu)化算法迭代1 000次,多次實(shí)驗(yàn)取最優(yōu)結(jié)果集,得到20組Pareto最優(yōu)解,結(jié)果如圖8和圖9所示。NSGA-Ⅱ因無(wú)法識(shí)別偽支配點(diǎn)而出現(xiàn)明顯的斷崖現(xiàn)象,其在function1函數(shù)值3~4區(qū)間出現(xiàn)大量空白。與之相比,OE-NSGA-Ⅱ的結(jié)果更加均勻地分布在Pareto前沿面,說(shuō)明所提種群精英個(gè)體篩選方法和可控閾值的精英選擇策略通過(guò)計(jì)算偽支配值篩選精英,將NSGA-Ⅱ中無(wú)法識(shí)別的偽支配點(diǎn)加入了精英結(jié)果集,該方法在解決偽支配點(diǎn)問(wèn)題和提高斂散性上是有效的。 將二次函數(shù)與相應(yīng)數(shù)據(jù)代入OE-NSGA-Ⅱ算法與NSGA-Ⅱ算法,迭代1 000次后得到的對(duì)比圖如圖10所示,在所得Pareto最優(yōu)解集接近的情況下,OE-NSGA-Ⅱ得到的Pareto面相比NSGA-Ⅱ更均勻、更連續(xù),未出現(xiàn)大量空白的斷崖情況,說(shuō)明種群精英個(gè)體篩選方法和可控閾值的精英選擇策略普遍適用于解決多目標(biāo)優(yōu)化問(wèn)題中偽支配點(diǎn)的問(wèn)題。 圖11所示為OE-NSGA-Ⅱ迭代10 000次后得到的Pareto前沿最優(yōu)解集,其中Pareto等級(jí)為0的個(gè)體值為17.058個(gè)節(jié)點(diǎn),將得到的個(gè)體值代入?yún)^(qū)塊鏈性能多目標(biāo)優(yōu)化函數(shù)后,得到的吞吐率為7.656、通訊開(kāi)銷為821,767,均高于比特幣部署基準(zhǔn)。 圖12所示為將OE-NSGA-Ⅱ和NSGA-Ⅱ迭代10 000次后得到的最優(yōu)解集代入通訊開(kāi)銷函數(shù)的對(duì)比圖像,圖13所示為將OE-NSGA-Ⅱ和NSGA-Ⅱ迭代10 000次后代入吞吐率函數(shù)的對(duì)比圖象。OE-NSGA-Ⅱ得到的吞吐率明顯高于NSGA-Ⅱ,其通訊開(kāi)銷也低于NSGA-Ⅱ,證明了改進(jìn)算法的有效性。 算法的超體積HV指標(biāo)用于表征算法獲得的非支配解集與參照點(diǎn)圍成的目標(biāo)空間的體積[16],HV值越大,算法的綜合性能越好。 因?yàn)楸疚乃惴ǖ牟渴痖_(kāi)銷函數(shù)為越小越優(yōu)型函數(shù),所以在計(jì)算HV時(shí)調(diào)換了函數(shù)值與邊界條件的位置,使得到的結(jié)果為負(fù)值。結(jié)果OE-NSGA-Ⅱ的HV遠(yuǎn)高于NSGA-Ⅱ,證明改進(jìn)算法的多樣性和收斂性更優(yōu)。 表4所示為OE-NSGA-Ⅱ和NSGA-Ⅱ優(yōu)化后得到的吞吐率與部署開(kāi)銷,將兩種算法得到的數(shù)據(jù)與原始部署開(kāi)銷基準(zhǔn)進(jìn)行對(duì)比,發(fā)現(xiàn)兩種算法均顯著提高了吞吐率,且部署開(kāi)銷略有增加,但是與NSGA-Ⅱ相比,OE-NSGA-Ⅱ得到的吞吐率更高,通訊部署開(kāi)銷更小。 表4 OE-NSGA-Ⅱ,NSGA-Ⅱ和比特幣的TPS、開(kāi)銷對(duì)比 考慮到節(jié)點(diǎn)需要按整數(shù)部署,而OE-NSGA-Ⅱ得到的最優(yōu)節(jié)點(diǎn)數(shù)為小數(shù),因此對(duì)MOMOB模型優(yōu)化的實(shí)際意義做出解釋:相比目前的區(qū)塊鏈技術(shù),優(yōu)化后區(qū)塊的吞吐率得到了明顯提升,而且在真實(shí)的IIOT中,所部署的節(jié)點(diǎn)數(shù)將遠(yuǎn)大于17,OE-NSGA-Ⅱ的優(yōu)化結(jié)果會(huì)因節(jié)點(diǎn)數(shù)量的增長(zhǎng)而被等比放大。 MOMOB模型可以顯著提升區(qū)塊鏈性能,為IIOT部署區(qū)塊鏈技術(shù)找到了理論最優(yōu)節(jié)點(diǎn)數(shù),既能通過(guò)增加區(qū)塊鏈吞吐率來(lái)滿足IIOT海量的數(shù)據(jù)傳輸,又能依靠區(qū)塊鏈技術(shù)的特性保證傳輸過(guò)程安全,同時(shí)降低通訊開(kāi)銷,從經(jīng)濟(jì)層面增加了部署的可行性。 本文針對(duì)區(qū)塊鏈節(jié)點(diǎn)數(shù)量少難以滿足物聯(lián)網(wǎng)吞吐率要求,節(jié)點(diǎn)數(shù)量過(guò)度又會(huì)造成部署開(kāi)銷過(guò)大的問(wèn)題,提出一種MOMOB模型。模型擬采用NSGA-Ⅱ?qū)Χ嗄繕?biāo)優(yōu)化問(wèn)題進(jìn)行處理,對(duì)NSGA-Ⅱ存在偽支配點(diǎn)和解集多樣性過(guò)小的問(wèn)題進(jìn)行了改進(jìn)。通過(guò)查閱文獻(xiàn)[15]得到區(qū)塊鏈的性能參數(shù),然后結(jié)合均勻隨機(jī)模擬數(shù)據(jù)進(jìn)行實(shí)驗(yàn),經(jīng)實(shí)驗(yàn)分析證明,該方法優(yōu)化了算法的收斂性和多樣性綜合指標(biāo)。將實(shí)驗(yàn)結(jié)果與部署基準(zhǔn)進(jìn)行對(duì)比可知,優(yōu)化后的區(qū)塊鏈吞吐率得到明顯提高;與NSGA-Ⅱ算法得到的結(jié)果對(duì)比,優(yōu)化后的部署資源通訊開(kāi)銷成本明顯降低。在已經(jīng)證實(shí)區(qū)塊鏈落地IIOT可行的背景下,可以采用該算法在算法層面對(duì)目前的區(qū)塊鏈技術(shù)進(jìn)行優(yōu)化。 本文工作在設(shè)計(jì)實(shí)現(xiàn)過(guò)程中尚有一些不足,未來(lái)還需深入研究: (1)改進(jìn)算法優(yōu)化區(qū)塊鏈的通訊開(kāi)銷并未低于基準(zhǔn)值,未來(lái)研究將對(duì)通訊開(kāi)銷進(jìn)行進(jìn)一步優(yōu)化。 (2)由于實(shí)驗(yàn)參數(shù)通過(guò)查閱文獻(xiàn)得到,將實(shí)驗(yàn)結(jié)果應(yīng)用于實(shí)際時(shí)可能會(huì)出現(xiàn)其他復(fù)雜的情況,未來(lái)將進(jìn)一步提高算法的通用性。2.3 OE-NSGA-Ⅱ
2.4 MOMOB模型的算法設(shè)計(jì)
3 實(shí)驗(yàn)結(jié)果及分析
3.1 原始數(shù)據(jù)種群生成
3.2 OE-NSGA-Ⅱ性能測(cè)試
3.3 MOMOB模型實(shí)驗(yàn)結(jié)果
4 結(jié)束語(yǔ)
計(jì)算機(jī)集成制造系統(tǒng)2021年8期