欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向能耗數(shù)據(jù)并發(fā)采集的三階段優(yōu)化方法與流程

文檔序號:11134856閱讀:473來源:國知局
一種面向能耗數(shù)據(jù)并發(fā)采集的三階段優(yōu)化方法與制造工藝

本發(fā)明涉及數(shù)據(jù)采集調(diào)度技術(shù)領(lǐng)域,尤其涉及一種面向能耗數(shù)據(jù)并發(fā)采集的三階段優(yōu)化方法。



背景技術(shù):

智能能效制造(Smart energy efficient manufacturing,SEEM)需要感知能源消耗、能源質(zhì)量、設(shè)備操作、環(huán)境狀態(tài)等參數(shù)。為了滿足感知需求,工廠必須裝備一個(gè)由傳感器、網(wǎng)絡(luò)設(shè)備和應(yīng)用服務(wù)器組成的大型傳感網(wǎng)絡(luò),并實(shí)現(xiàn)數(shù)據(jù)的自動采集。能源數(shù)據(jù)的實(shí)時(shí)性對于SEEM的優(yōu)化分析而言極其重要,許多用戶要求在數(shù)秒之內(nèi)得到數(shù)據(jù),而隨著傳感器數(shù)量的增加,利用有限的計(jì)算資源滿足能源數(shù)據(jù)的變得越來越具有挑戰(zhàn)性。

在能源傳感網(wǎng)絡(luò)(Energy Sensor Network,ESN)中,RS485因?yàn)橥負(fù)浣Y(jié)構(gòu)簡單、通信穩(wěn)定、通信距離長凳優(yōu)點(diǎn)而成為通用的通信標(biāo)準(zhǔn),實(shí)際應(yīng)用中,絕大部分智能傳感設(shè)備提供RS485接口。由于復(fù)雜的車間環(huán)境和有限的通信容量,一個(gè)能源傳感網(wǎng)絡(luò)往往由多組RS485總線構(gòu)成,每組RS485總線具有不同的傳輸質(zhì)量,連接不同數(shù)量的傳感設(shè)備。數(shù)據(jù)采集一般由一臺或多臺主機(jī)完成。隨著服務(wù)器架構(gòu)從提高單線程程序性能轉(zhuǎn)向通過指令集并行和線程級并行提高程序性能,多核處理器環(huán)境下的多線程并發(fā)采集是提升數(shù)據(jù)實(shí)時(shí)性的有效手段。因此,數(shù)據(jù)采集調(diào)度,即如何將采集任務(wù)分配到多個(gè)處理器中并發(fā)執(zhí)行,使其完成時(shí)間最短,成為備受關(guān)注的問題;而數(shù)據(jù)采集調(diào)度問題是一類任務(wù)-處理器映射問題,處理器負(fù)荷均衡是該問題的關(guān)鍵,因?yàn)椴痪獾奶幚砥髫?fù)荷將會導(dǎo)致整個(gè)系統(tǒng)等待處理負(fù)荷最大的處理器;目前,研究者們?nèi)ハ蛴谠赑etri網(wǎng)建模的基礎(chǔ)上,采用遺傳算法和啟發(fā)式算法來優(yōu)化類似處理器調(diào)度問題,在最近30年來對負(fù)荷均衡問題的研究成果,認(rèn)為簡單高效的貪婪算法是最流行的求解方法;但數(shù)據(jù)采集調(diào)度問題具有兩個(gè)特點(diǎn):(1)不同RS485總線上的采集任務(wù)之間不存在通信約束;(2)采集任務(wù)之間不存在嚴(yán)格的順序約束;因此,在實(shí)際應(yīng)用中,通常假定共享同一總線的采集任務(wù)是完全串行的,將問題簡化為總線-處理器之間的映射并采用貪婪算法求解,但如果總線負(fù)荷不均衡時(shí),將會導(dǎo)致很低的并發(fā)效率,極端的例子是若能源網(wǎng)絡(luò)中只有一條總線,但是有多個(gè)處理器,那么在數(shù)據(jù)采集過程中只會有一個(gè)處理器得到利用,而其他處理器均處于空閑狀態(tài),大大限制了多處理器的并發(fā)采集效率。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于提出一種并發(fā)效率更高、數(shù)據(jù)采集時(shí)間更短的面向能耗數(shù)據(jù)并發(fā)采集的三階段優(yōu)化方法。

為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:

一種面向能耗數(shù)據(jù)并發(fā)采集的三階段優(yōu)化方法,基于大型能源傳感網(wǎng)絡(luò)中,包括若干個(gè)能源節(jié)點(diǎn)和能源管理網(wǎng),所述能源管理網(wǎng)包括能源主控機(jī)、數(shù)據(jù)采集終端和時(shí)間處理系統(tǒng),由數(shù)據(jù)采集終端將數(shù)據(jù)采集任務(wù)DCJ進(jìn)一步細(xì)分為多個(gè)獨(dú)立的子任務(wù),并在時(shí)間處理系統(tǒng)建立一個(gè)支持DCJ并發(fā)仿真的時(shí)間Petri網(wǎng);在所述時(shí)間Petri網(wǎng)模擬的基礎(chǔ)上,以DCJ的最小完成時(shí)間為目標(biāo),由能源主控機(jī)基于貪婪算法和遺傳算法提出一種數(shù)據(jù)采集任務(wù)在處理器之間分配的三階段優(yōu)化算法3SOA,來求解DCJ的調(diào)度問題;

所述三階段優(yōu)化算法3SOA包括以下三個(gè)階段:

(1)第一階段優(yōu)化:采用貪婪算法將DCJ被RS485總線RSB分組后分配給處理器,使處理器負(fù)載平衡,獲得方案Ω1;

(2)第二階段優(yōu)化:根據(jù)Ω1,采用貪婪算法在處理器之間調(diào)整DCJ從高載荷的處理器轉(zhuǎn)向低載荷的處理器,使處理器負(fù)載平衡,獲得方案Ω2;

(3)第三階段優(yōu)化:根據(jù)Ω2,采用遺傳算法優(yōu)化調(diào)整每個(gè)處理器上的DCJ的排列順序,使若干個(gè)會話的等待時(shí)間最小化,獲得方案Ω3。

進(jìn)一步說明,對所述時(shí)間Petri網(wǎng)進(jìn)行建模,首先建立基本網(wǎng),再合并冗長的節(jié)點(diǎn),包括如下步驟:

A建立基本網(wǎng):

(1)為每一個(gè)s∈S創(chuàng)建一個(gè)RSB庫所;

(2)對一個(gè)DCJ分解的三個(gè)子類DCJ,j=<ja,jb,jc>(j∈J)分別創(chuàng)建三個(gè)變遷,λabc是一個(gè)變遷的時(shí)間響應(yīng)τ;

(3)為每個(gè)s∈S在s之間增加一個(gè)輸入弧和輸出弧,對于j∈J(s)每一個(gè)弧的權(quán)重為1;

(4)對每一個(gè)c∈C,為每一個(gè)處理器創(chuàng)建一個(gè)處理器庫所,為每個(gè)j∈J(c)的DCJ子模塊創(chuàng)建處理庫所,按照順序?yàn)閹焖妥冞w增加弧,每個(gè)弧的權(quán)重為1。

(5)若P是RSB庫所或者每個(gè)處理器的庫所,那么M0(p)=1,else M0(p)=0,即所有的RSB和處理器在開始時(shí)均為閑置狀態(tài);

B合并冗長的節(jié)點(diǎn):

(1)對于處理器C,若ji+1和ji在順序上相鄰,那么jci和jai+1兩種變遷可以合并,那么jci和jai+1之間的庫所取消,新變遷的時(shí)間函數(shù)是λciai+1。

(2)若被同一處理器處理的連續(xù)DCJ之間在RSB上不存在競爭資源的關(guān)系,則相應(yīng)的變遷也可以合并成一個(gè)新的變遷,合并后減少中間的庫所,新變遷的時(shí)間函數(shù)為其處理時(shí)間的總和;后續(xù)的DCJ處理器分配算法將確定需要被合并的DCJ。

進(jìn)一步說明,所述數(shù)據(jù)采集任務(wù)(DCJ)調(diào)度的完成時(shí)間(π),在所述時(shí)間Petri網(wǎng)模擬的基礎(chǔ)上,采用并行仿真算法進(jìn)行模擬,包括如下步驟:

(1)給定一個(gè)通過J→C映射Ω,構(gòu)建對應(yīng)的時(shí)間Petri網(wǎng)模型;

(2)參數(shù)的定義和初始化,初始值為E=φ,M=M0,x=0;其中E為根據(jù)完成時(shí)間排列的使能變遷序列,M為當(dāng)前標(biāo)識,π(t)為變遷t的完成時(shí)間;

(3)對于每個(gè)在M0標(biāo)識狀態(tài)下的使能變遷,令集合π(t)=λ(t),將t加入到E中;

(4)如E不為空,則執(zhí)行循環(huán)

t=dequeue(E)(將t移出隊(duì)列E),x=π(t),M=M-I(t)+O(t);

(5)輸出量x為DCJ調(diào)度問題π(Ω)的解。

進(jìn)一步說明,所述第一階段優(yōu)化采用貪婪算法將DCJ由RS485總線RSB分組后分配給處理器,包括如下步驟:

(1)輸入一個(gè)ESN;

(2)參數(shù)定義和初始化,setλ(c)=0;

(3)根據(jù)λ(s)排序的RSB的集合S;

(4)對每個(gè)s∈S執(zhí)行循環(huán);

(4.1)尋找處理器c的λ(c)的最大值;

(4.2)給J(s)分配c;

(4.3)λ(c)=λ(c)+λ(s);

(5)循環(huán)結(jié)束,輸出Ω1。

進(jìn)一步說明,所述第二階段優(yōu)化采用貪婪算法在處理器之間調(diào)整DCJ從高載荷的處理器轉(zhuǎn)向低載荷的處理器,包括如下步驟:

(1)輸入ESN和Ω1;

(2)對每個(gè)J(s)(s∈S),其子模塊DCJ根據(jù)λb排序;

(3)獲取最高負(fù)載ch和最低負(fù)載cl;

(4)獲取J(ch)的頭元素,jx=getqueue(J(ch));(jx移出隊(duì)列J(ch));

(5)重置移動標(biāo)志bm=false;

(6)如果λ(ch)-λ(jx)>λ(J)/l且λ(cl)+λ(jx)<λ(J)/l

(6.1)將jx從ch移動到cl,并設(shè)定bm=true;

(6.2)更新處理器負(fù)載,λ(ch)=λ(ch)-λ(jx),λ(cl)=λ(cl)+λ(jx);

(6.3)返回(5);

(7)如果bm為真,返回(5);

(8)輸出結(jié)果Ω2,結(jié)束。

進(jìn)一步說明,所述第三階段優(yōu)化采用遺傳算法優(yōu)化調(diào)整每個(gè)處理器上的DCJ的排列順序,遵從遺傳算法的基本結(jié)構(gòu),進(jìn)行編碼和解碼、親和度評價(jià)、初始化種群、篩選、交叉選擇和突變來獲取最優(yōu)的方案Ω3。

進(jìn)一步說明,所述編碼是將DCJ由處理器按照順序進(jìn)行分組編碼,方程式表示為:Zi=<ki-1+1,ki-1+2,...,ki-1+ki>,其中,ki為第i個(gè)處理器ci(i=0,1,2,…,l,k0=1)上DCJ的編號;L子序列組成的自然數(shù)序列作為染色體,即初始染色體由方程式表示為:Z=<Z1,Z2,...,Zi,...,Zl>;一種新的染色體可以通過重構(gòu)Zi產(chǎn)生;所述解碼是映射ki到相應(yīng)的DCJ。

進(jìn)一步說明,所述親和度評價(jià)是將一個(gè)Z染色體通過解碼轉(zhuǎn)換成一個(gè)候選解Ω,x(Ω)通過所述并行仿真算法進(jìn)行評價(jià);x(Ω)的相反數(shù)被視為Z的親和力,其值越大則解決方案更優(yōu)。

進(jìn)一步說明,所述初始化種群是將DCJ的優(yōu)先順序由處理器隨機(jī)生成,將Zi隨機(jī)置換并轉(zhuǎn)換成Z'i,按照從ki-1+1到ki-1+ki的整數(shù)的隨機(jī)排列形成Z'i=<Z'1,Z'2,…,Z'i,…,Z'l>,獲得新的染色體Z'。

進(jìn)一步說明,所述交叉選擇是從父種群中隨機(jī)選擇兩個(gè)不同的個(gè)體染色體,再通過父種群個(gè)體交叉創(chuàng)建兩個(gè)不同的子染色體,其交叉位點(diǎn)只定位在一個(gè)子序列的開始。

本發(fā)明的有益效果:本發(fā)明通過數(shù)據(jù)采集終端將數(shù)據(jù)采集任務(wù)DCJ進(jìn)一步細(xì)分為多個(gè)獨(dú)立的子任務(wù),并且能在時(shí)間Petri網(wǎng)上進(jìn)行時(shí)間仿真,評價(jià)一個(gè)工作單元的完成時(shí)間,同時(shí)為了使一個(gè)工作單元的完成時(shí)間最小化,通過能源主控機(jī)在仿真中基于貪婪算法和遺傳算法,利用所述三階段優(yōu)化算法(3SOA)來求解數(shù)據(jù)采集任務(wù)的調(diào)度問題,獲得DCJ的最小完成時(shí)間,優(yōu)化DCJ的調(diào)度的方案;并且通過計(jì)算測試表明,相比現(xiàn)有僅采用第一階段優(yōu)化的傳統(tǒng)算法,所述3SOA能夠顯著降低采集完成時(shí)間,提升并發(fā)效率;并且通過應(yīng)用表明,所述3SOA能使數(shù)據(jù)采集的周期從9.8秒降至6秒,并發(fā)效率提升了34.45%。

附圖說明

圖1是本發(fā)明一個(gè)實(shí)施例的一種面向能耗數(shù)據(jù)并發(fā)采集的三階段優(yōu)化方法的示意圖;

圖2是本發(fā)明一個(gè)實(shí)施例的大型能源傳感網(wǎng)絡(luò)的示意圖;

圖3是本發(fā)明一個(gè)實(shí)施例的Ω12和Ω3中并行率η的直方圖;

圖4是本發(fā)明一個(gè)實(shí)施例的Ω12和Ω3之間不同的η(Δη)的曲線圖;

圖5是本發(fā)明一個(gè)實(shí)施例的Ω12和Ω3的η-σp散點(diǎn)圖;

圖6是本發(fā)明一個(gè)實(shí)施例的能源管理系統(tǒng)的能耗檢測器的顯示屏所顯示的EDC3.0采集的數(shù)據(jù)。

具體實(shí)施方式

下面結(jié)合附圖并通過具體實(shí)施方式來進(jìn)一步說明本發(fā)明的技術(shù)方案。

一種面向能耗數(shù)據(jù)并發(fā)采集的三階段優(yōu)化方法,基于大型能源傳感網(wǎng)絡(luò)中,包括若干個(gè)能源節(jié)點(diǎn)和能源管理網(wǎng),所述能源管理網(wǎng)包括能源主控機(jī)、數(shù)據(jù)采集終端和時(shí)間處理系統(tǒng),由數(shù)據(jù)采集終端將數(shù)據(jù)采集任務(wù)DCJ進(jìn)一步細(xì)分為多個(gè)獨(dú)立的子任務(wù),并在時(shí)間處理系統(tǒng)建立一個(gè)支持DCJ并發(fā)仿真的時(shí)間Petri網(wǎng);在所述時(shí)間Petri網(wǎng)模擬的基礎(chǔ)上,以DCJ的最小完成時(shí)間為目標(biāo),由能源主控機(jī)基于貪婪算法和遺傳算法提出一種數(shù)據(jù)采集任務(wù)在處理器之間分配的三階段優(yōu)化算法3SOA,來求解DCJ的調(diào)度問題;

所述三階段優(yōu)化算法3SOA包括以下三個(gè)階段:

(1)第一階段優(yōu)化:采用貪婪算法將DCJ被RS485總線RSB分組后分配給處理器,使處理器負(fù)載平衡,獲得方案Ω1;

(2)第二階段優(yōu)化:根據(jù)Ω1,采用貪婪算法在處理器之間調(diào)整DCJ從高載荷的處理器轉(zhuǎn)向低載荷的處理器,使處理器負(fù)載平衡,獲得方案Ω2;

(3)第三階段優(yōu)化:根據(jù)Ω2,采用遺傳算法優(yōu)化調(diào)整每個(gè)處理器上的DCJ的排列順序,使若干個(gè)會話的等待時(shí)間最小化,獲得方案Ω3。

目前智能能效制造(Smart energy efficient manufacturing,SEEM)需要依賴于大型傳感網(wǎng)絡(luò)和實(shí)時(shí)數(shù)據(jù)采集,而RS485總線(RS485Bus,RSB)是目前傳感網(wǎng)絡(luò)通用的通信接口,其通信的串行性制約了多處理器的并發(fā)采集效率;本發(fā)明通過數(shù)據(jù)采集終端將數(shù)據(jù)采集任務(wù)(Data Collection Job,DCJ)的調(diào)度問題描述為一個(gè)時(shí)間Petri網(wǎng),一個(gè)數(shù)據(jù)采集任務(wù)DCJ將被進(jìn)一步細(xì)分為多個(gè)獨(dú)立的子任務(wù),并且能在時(shí)間Petri網(wǎng)上進(jìn)行時(shí)間仿真,評價(jià)一個(gè)工作單元的完成時(shí)間,同時(shí)為了使一個(gè)工作單元的完成時(shí)間最小化,通過能源主控機(jī)在仿真中基于貪婪算法和遺傳算法,利用所述三階段優(yōu)化算法(the Three-stage Optimization Algorithm,3SOA)來求解數(shù)據(jù)采集任務(wù)的調(diào)度問題,獲得DCJ的最小完成時(shí)間,優(yōu)化DCJ的調(diào)度的方案;并且通過計(jì)算測試表明,相比現(xiàn)有僅采用第一階段優(yōu)化的傳統(tǒng)算法,所述3SOA能夠顯著降低采集完成時(shí)間,提升并發(fā)效率;并且通過應(yīng)用表明,所述3SOA能使數(shù)據(jù)采集的周期從9.8秒降至6秒,并發(fā)效率提升了34.45%。

進(jìn)一步說明,對所述時(shí)間Petri網(wǎng)進(jìn)行建模,首先建立基本網(wǎng),再合并冗長的節(jié)點(diǎn),包括如下步驟:

A建立基本網(wǎng):

(1)為每一個(gè)s∈S創(chuàng)建一個(gè)RSB庫所;

(2)對一個(gè)DCJ分解的三個(gè)子類DCJ,j=<ja,jb,jc>(j∈J)分別創(chuàng)建三個(gè)變遷,λabc是一個(gè)變遷的時(shí)間響應(yīng)τ;

(3)為每個(gè)s∈S在s之間增加一個(gè)輸入弧和輸出弧,對于j∈J(s)每一個(gè)弧的權(quán)重為1;

(4)對每一個(gè)c∈C,為每一個(gè)處理器創(chuàng)建一個(gè)處理器庫所,為每個(gè)j∈J(c)的DCJ子模塊創(chuàng)建處理庫所,按照順序?yàn)閹焖妥冞w增加弧,每個(gè)弧的權(quán)重為1。

(5)若P是RSB庫所或者每個(gè)處理器的庫所,那么M0(p)=1,else M0(p)=0,即所有的RSB和處理器在開始時(shí)均為閑置狀態(tài);

B合并冗長的節(jié)點(diǎn):

(1)對于處理器C,若ji+1和ji在順序上相鄰,那么jci和jai+1兩種變遷可以合并,那么jci和jai+1之間的庫所取消,新變遷的時(shí)間函數(shù)是λciai+1

(2)若被同一處理器處理的連續(xù)DCJ之間在RSB上不存在競爭資源的關(guān)系,則相應(yīng)的變遷也可以合并成一個(gè)新的變遷,合并后減少中間的庫所,新變遷的時(shí)間函數(shù)為其處理時(shí)間的總和;后續(xù)的DCJ處理器分配算法將確定需要被合并的DCJ。

所述時(shí)間Petri網(wǎng)是一個(gè)7元集合TPN=(P,T,I,O,W,M0,τ),P是庫所的集合,T是變遷的集合,I=P×T是輸入弧的集合,O=T×P是輸出弧的集合,M0是初始標(biāo)記,W是所有弧的權(quán)重,τ是關(guān)于時(shí)間變遷的時(shí)間函數(shù);其中在建立基本網(wǎng)中,RSB視為庫所,DCJ視為變遷,RSB和DCJ之間的依賴關(guān)系視為庫所和變遷的輸入弧和輸出弧,處理器視為用來標(biāo)記處理狀態(tài)的庫所序列。

通過建立一個(gè)支持?jǐn)?shù)據(jù)采集任務(wù)DCJ并發(fā)仿真的時(shí)延Petri網(wǎng)模型,為后續(xù)得到數(shù)據(jù)采集任務(wù)分配到多個(gè)處理器中并發(fā)執(zhí)行,使其完成時(shí)間最短的解提供基礎(chǔ)條件。

進(jìn)一步說明,所述數(shù)據(jù)采集任務(wù)(DCJ)調(diào)度的完成時(shí)間(π),在所述時(shí)間Petri網(wǎng)模擬的基礎(chǔ)上,采用并行仿真算法進(jìn)行模擬,包括如下步驟:

(1)給定一個(gè)通過J→C映射Ω,構(gòu)建對應(yīng)的時(shí)間Petri網(wǎng)模型;

(2)參數(shù)的定義和初始化,初始值為E=φ,M=M0,x=0;其中E為根據(jù)完成時(shí)間排列的使能變遷序列,M為當(dāng)前標(biāo)識,π(t)為變遷t的完成時(shí)間;

(3)對于每個(gè)在M0標(biāo)識狀態(tài)下的使能變遷,令集合π(t)=λ(t),將t加入到E中;

(4)如E不為空,則執(zhí)行循環(huán)

t=dequeue(E)(將t移出隊(duì)列E),x=π(t),M=M-I(t)+O(t);

(5)輸出量x為DCJ調(diào)度問題π(Ω)的解。

將所述DCJ的調(diào)度問題通過在所述時(shí)間Petri網(wǎng)進(jìn)行時(shí)間仿真,通過所述并行仿真算法,增強(qiáng)了對完成時(shí)間的仿真能力,從而實(shí)現(xiàn)對基于JPM的執(zhí)行并性仿真的完成時(shí)間的有效評估。

進(jìn)一步說明,所述第一階段優(yōu)化采用貪婪算法將DCJ由RS485總線RSB分組后分配給處理器,包括如下步驟:

(1)輸入一個(gè)ESN;

(2)參數(shù)定義和初始化,setλ(c)=0;

(3)根據(jù)λ(s)排序的RSB的集合S;

(4)對每個(gè)s∈S執(zhí)行循環(huán);

(4.1)尋找處理器c的λ(c)的最大值;

(4.2)給J(s)分配c;

(4.3)λ(c)=λ(c)+λ(s);

(5)循環(huán)結(jié)束,輸出Ω1。

在第一個(gè)階段,一個(gè)J(s)視為一個(gè)基本的調(diào)度單元,DCJ調(diào)度問題則視為一個(gè)純粹的負(fù)載平衡問題;通過所述第一階段優(yōu)化,獲得方案Ω1,從而保證處理器負(fù)載平衡,若同一RSB的DCJ分配到了同一個(gè)處理器時(shí)則不會有通訊等待。

進(jìn)一步說明,所述第二階段優(yōu)化采用貪婪算法在處理器之間調(diào)整DCJ從高載荷的處理器轉(zhuǎn)向低載荷的處理器,包括如下步驟:

(1)輸入ESN和Ω1;

(2)對每個(gè)J(s)(s∈S),其子模塊DCJ根據(jù)λb排序;

(3)獲取最高負(fù)載ch和最低負(fù)載cl;

(4)獲取J(ch)的頭元素,jx=getqueue(J(ch));(jx移出隊(duì)列J(ch));

(5)重置移動標(biāo)志bm=false;

(6)如果λ(ch)-λ(jx)>λ(J)/l且λ(cl)+λ(jx)<λ(J)/l

(6.1)將jx從ch移動到cl,并設(shè)定bm=true;

(6.2)更新處理器負(fù)載,λ(ch)=λ(ch)-λ(jx),λ(cl)=λ(cl)+λ(jx);

(6.3)返回(5);

(7)如果bm為真,返回(5);

(8)輸出結(jié)果Ω2,結(jié)束。

通過所述二階段優(yōu)化,調(diào)整DCJ從高載荷的處理器轉(zhuǎn)向低載荷的處理器,以適應(yīng)處理器,并且同時(shí)盡可能保證同一個(gè)RSB上的DCJ在同一個(gè)處理器上,獲得方案Ω2,從而保證處理器負(fù)載平衡,即處理器的平均負(fù)載為λ(J)/l。

進(jìn)一步說明,所述第三階段優(yōu)化采用遺傳算法優(yōu)化調(diào)整每個(gè)處理器上的DCJ的排列順序,遵從遺傳算法的基本結(jié)構(gòu),進(jìn)行編碼和解碼、親和度評價(jià)、初始化種群、篩選、交叉選擇和突變來獲取最優(yōu)的方案Ω3。為了保證第一階段的優(yōu)化,在第二階段還未被移動的DCJ將在第三個(gè)階段優(yōu)化保持靜止,因此將會被處理器合并成為一個(gè)變遷組,在一定程度上減小了Petri網(wǎng)的規(guī)模,而其他的DCJ在第三階段優(yōu)化是可調(diào)的,所述第三階段優(yōu)化根據(jù)Ω2,通過遺傳算法優(yōu)化每個(gè)處理器上的DCJ的排列順序,獲得方案Ω3,從而實(shí)現(xiàn)若干個(gè)會話的等待時(shí)間最小化,從而獲得DCJ的調(diào)度問題的最優(yōu)解,即DCJ的最小完成時(shí)間。

進(jìn)一步說明,所述編碼是將DCJ由處理器按照順序進(jìn)行分組編碼,方程式表示為:Zi=<ki-1+1,ki-1+2,...,ki-1+ki>,其中,ki為第i個(gè)處理器ci(i=0,1,2,…,l,k0=1)上DCJ的編號;L子序列組成的自然數(shù)序列作為染色體,即初始染色體由方程式表示為:Z=<Z1,Z2,...,Zi,...,Zl>;一種新的染色體可以通過重構(gòu)Zi產(chǎn)生;所述解碼是映射ki到相應(yīng)的DCJ。

進(jìn)一步說明,所述親和度評價(jià)是將一個(gè)Z染色體通過解碼轉(zhuǎn)換成一個(gè)候選解Ω,x(Ω)通過所述并行仿真算法進(jìn)行評價(jià);x(Ω)的相反數(shù)被視為Z的親和力,其值越大則解決方案更優(yōu)。

進(jìn)一步說明,所述初始化種群是將DCJ的優(yōu)先順序由處理器隨機(jī)生成,將Zi隨機(jī)置換并轉(zhuǎn)換成Z'i,按照從ki-1+1到ki-1+ki的整數(shù)的隨機(jī)排列形成Z'i=<Z'1,Z'2,…,Z'i,…,Z'l>,獲得新的染色體Z'。

進(jìn)一步說明,所述交叉選擇是從父種群中隨機(jī)選擇兩個(gè)不同的個(gè)體染色體,再通過父種群個(gè)體交叉創(chuàng)建兩個(gè)不同的子染色體,其交叉位點(diǎn)只定位在一個(gè)子序列的開始。所述交叉選擇由簡單的交叉創(chuàng)建的子染色體打破了對處理器依賴的約束,其交叉位點(diǎn)定位在一個(gè)子序列的開始,不同于傳統(tǒng)遺傳算法的單點(diǎn)交叉中的隨機(jī)選擇交叉位點(diǎn),從而保持子染色體的有效性。

所述篩選是在兩個(gè)不同的級別上運(yùn)行,父類種群中的一定數(shù)量的染色體去填補(bǔ)子類種群,其他的父類種群個(gè)體則采用輪盤賭輪策略,單個(gè)染色體依據(jù)概率的大小去填充子種群;所述突變則用來維持種群的遺傳多樣性;每一個(gè)用于交叉選擇的個(gè)體染色體都有可能發(fā)生突變,處理器是隨機(jī)選擇的,及其對應(yīng)的序列可如初始化種群一樣重新排列。

定義補(bǔ)充說明:

(1)能源傳感網(wǎng)(Energy Sensor Network,ESN)的規(guī)則

ESN是一個(gè)三元組(C,S,J),其中C={c1,c2,...,cl}是處理器的集合,S={s1,s2,...,sm}是RSB的集合,J={j1,j2,..,jn}是DCJ的集合,l是處理器的數(shù)量,m是RSB的數(shù)量,n是DCJ的數(shù)量。J和S之間存在一對多的映射關(guān)系J→S,s(j)表示RSB連接著DCJ的狀態(tài),J(s)表示在RSB上的DCJ的結(jié)合。

(2)DCJ的調(diào)度問題

DCJ處理器的映射(Job-Processor Mapping,JPM)是一個(gè)多對一關(guān)系映射Ω:J→C,其代表了一個(gè)DCJ的調(diào)度問題,c(j)表示處理器c正在執(zhí)行DCJ j,J(c)表示處理器上的DCJ的順序,λ(j)表示j的處理時(shí)間,λ(c)表示處理器c的負(fù)載。

(3)關(guān)于Ω的評價(jià)指標(biāo)

A:DCJ處理時(shí)間(λ),λ表示DCJ的處理時(shí)間,λ(j)表示DCJ j的處理時(shí)間,λ(J)表示J的整個(gè)處理周期的時(shí)間,λ(s)表示RSB s的處理時(shí)間,λ(c)表示處理器c的負(fù)載,其相互關(guān)系為:λ(J)=∑λ(j),j∈J;λ(s)=∑λ(j),j∈J(s);λ(c)=Σλ(j),j∈J(c)。

B:DCJ的完成時(shí)間(π),給定一個(gè)JPMΩ,π(Ω)表示處理過程從開始到結(jié)束之間的時(shí)間間隔;在開始時(shí)間為0的情況下,π(Ω)可以表示DCJ的完成時(shí)間。

C:加速率(γ),命名一個(gè)JPM為Ω,γ(Ω)由方程表示為:γ(Ω)=λ(J)/π(Ω);同時(shí)λ(J)也表示同一個(gè)處理器上DCJ的完成時(shí)間,π(Ω)表示在l個(gè)處理器上DCJ的完成時(shí)間。

D:并行率(η),命名一個(gè)JPM為Ω,η(Ω)由方程表示為η(Ω)=λ(J)/(lπ(Ω));則所述DCJ的調(diào)度問題本質(zhì)上為使π(Ω)最小,同時(shí)使γ(Ω)或η(Ω)最大。

4、DCJ子任務(wù)

DCJ被分解了三個(gè)子任務(wù),即一個(gè)DCJ分解為了一個(gè)三個(gè)子類DCJ,j=<ja,jb,jc>,其中ja表示裝配指令,jb表示通訊會話,jc表示分辨率響應(yīng),它們的處理時(shí)間分別為λabc。實(shí)際上整個(gè)DCJ執(zhí)行過程中只有jb占用了RSB,而λb和λc一般消耗較長在數(shù)據(jù)庫訪問上;根據(jù)Amdahl加速率定律,任務(wù)分解降低了連續(xù)子任務(wù)的比率,加大了加速率。

另外DCJ調(diào)度問題設(shè)有三個(gè)約束條件和兩個(gè)假設(shè),所述三個(gè)約束條件為(1)一個(gè)處理器只能一次處理一個(gè)DCJ;(2)一個(gè)RSB一次只能允許一個(gè)通訊會話;(3)一個(gè)DCJ的子任務(wù)必須按照一定的次序連續(xù)不斷地處理;所述兩個(gè)假設(shè)為所有的處理器都有相同的計(jì)算能力和所有的計(jì)算器都處于待處理狀態(tài)。

本發(fā)明通過計(jì)算與測試驗(yàn)證,進(jìn)一步驗(yàn)證所述3SOA提高能源數(shù)據(jù)采集速度的優(yōu)化效果;并通過應(yīng)用型案例進(jìn)行進(jìn)一步驗(yàn)證。

1、計(jì)算與測試驗(yàn)證

在MATLAB R2013a環(huán)境下對3SOA進(jìn)行編程且在擁有4GBRAM和Windows 7操作系統(tǒng)的個(gè)人電腦上進(jìn)行測試驗(yàn)證;還對各階段的并發(fā)性能指標(biāo)進(jìn)行了評價(jià),并進(jìn)行了階段性比較。

1.1測試案例的生成

一種測試案例主要包括:處理器、RSBs、DCJs和配置有DCJs的RSBs(DR分布)。前三個(gè)代表的是ESN的規(guī)模,最后一個(gè)代表的是RSB負(fù)載平衡度。對于DCJs,使得λa從3ms變化到6ms,λb從10ms變化到20ms,λc從8ms變化到15ms。對于DR分布,使得RSB(NDR)上DCJs的數(shù)量從1變化到64。RSB負(fù)載可由加工時(shí)間表示,RSB負(fù)載平衡度可由處理時(shí)間分布的標(biāo)準(zhǔn)偏差(σp)表示。為了簡化測試用例的生成,將σp用NDR分布的標(biāo)準(zhǔn)差(σn)代替。

一種測試案例通過l×m×n:σn標(biāo)記:其中,l是處理器的個(gè)數(shù),m是RSBs的數(shù)目,n是DCJs的數(shù)目。當(dāng)進(jìn)行測試時(shí),l個(gè)處理器和m個(gè)RSBs被創(chuàng)建,接著,n個(gè)DCJs在子過程時(shí)間范圍內(nèi)被隨機(jī)創(chuàng)建,最后,通過如下所述的輪盤賭算法,DCJs被隨機(jī)分配給RSBs:

(1)產(chǎn)生一個(gè)正態(tài)分布的樣本Pr={p1,p2,..,pm},其中,期望為n/m,均偏方差為σn

(2)對于每個(gè)DCJ jk,生成一個(gè)在0和1之間的隨機(jī)數(shù)rk,如果則將jk分配給RSB si。

1.2測試ESN規(guī)模對算法的影響

通過對ESN規(guī)模的試驗(yàn),驗(yàn)證在不同規(guī)模上達(dá)到的優(yōu)化效果。設(shè)置σn=6,生成4個(gè)案例,分別為2×8×100:6,4×32×200:6,8×64×400:6,16×72×800:6。它們可以通過3SOA完成,Ω1,Ω2和Ω3的π,γ,η可以分別被評估出來。結(jié)果列于下面表1中。

Table 1 The results of tests on scale of ESN

從表1中可以看到,在所有情況下,Ω3的π小于Ω2的π,Ω2的π小于Ω1的π。這驗(yàn)證了優(yōu)化的第二階段和第三階段的有效性。

雖然γ是優(yōu)化的一個(gè)性能指標(biāo),但它和處理器的數(shù)量有關(guān)。η和其他參數(shù)間沒有關(guān)聯(lián),在不同情況下評價(jià)優(yōu)化效果,它是一個(gè)更具可比性的指標(biāo)。如圖3所示,為四種情況下Ω1,Ω2和Ω3中并行率η的直方圖;從圖中也可以看出不同階段下的優(yōu)化效果,同π一樣。對于所有案例,Ω2的η明顯高于Ω1的η,這表明在Ω1中具有很大的優(yōu)化潛力,其中,將RSB上的所有DCJs當(dāng)做連續(xù)的。Ω2和Ω3之間的下降驗(yàn)證了解決方案可以通過調(diào)整DCJ順序得到改善。如圖4所示,為Ω12和Ω3之間不同的η(Δη)的曲線圖;從中可以看到,隨著規(guī)模的擴(kuò)大,Δη呈上升趨勢。隨著ESN規(guī)模的擴(kuò)大,DCJ調(diào)度問題變得越來越復(fù)雜。如果將RSB上的所有DCJs假定為連續(xù)的,處理器的能力將會嚴(yán)重浪費(fèi)且η將變得越來越小,這些同樣可以從圖3中看到。在圖3中,η隨著ESN規(guī)模的增加而降低。因此,可以得出結(jié)論,在大規(guī)模ESN下3SOA可以得到更好的優(yōu)化效果。

1.3測試RSBs上DCJs分布對算法的影響

對分布有DCJs的RSB進(jìn)行實(shí)驗(yàn),目的是為了驗(yàn)證不同分布的RBS負(fù)載的優(yōu)化效果。在生成測試案例時(shí),尺度參數(shù)固定在8×64×400,DR參數(shù)σn以1開始從1到20進(jìn)行迭代。每組參數(shù)被復(fù)制5次,生成100個(gè)測試案例。對案例中的σp進(jìn)行評估,它們在82.70和512.42間隨機(jī)分布。因?yàn)棣?sub>p更具有多樣性,所以用它代替σn作為分配指標(biāo)。

100個(gè)案例通過3SOA得到解決,且通過Ω12和Ω3的η進(jìn)行了評估。如圖5所示,為Ω12和Ω3的η-σp散點(diǎn)圖;從圖5中可以看到,在σp低段,η11的η)非常高,而且隨著σp的增加迅速下降。這其中的原因是平衡RSB負(fù)載產(chǎn)生了Ω1平衡處理器負(fù)載,當(dāng)RSB負(fù)載平衡被打破時(shí),平衡處理器負(fù)載不能達(dá)到,處理器的能力得不到充分利用。

隨著σp的增加,η12和η3之間的差距變得越來越大,這表明在ESN中,RSB負(fù)載分布的越廣,3SOA達(dá)到的優(yōu)化效果更好。隨著σp的增加,η21從1.62%增加到38.62%,η32從2.74%增加到11.4%。這驗(yàn)證了第三階段的優(yōu)化效果是相當(dāng)顯著的。擁有廣分布RSB負(fù)載的ESN通過3SOA方法可以使得能源數(shù)據(jù)采集的效率增加50%以上。

2、應(yīng)用型案例研究

在計(jì)算性測試中驗(yàn)證了3SOA能夠提高能源數(shù)據(jù)采集速度,為了再次確認(rèn),進(jìn)一步采用了應(yīng)用型案例,本案例來源于一個(gè)陶瓷制造企業(yè),該企業(yè)消耗電能,天然氣,水和壓縮空氣等資源。為了滿足SEEM的需求,該企業(yè)建造了一個(gè)大規(guī)模的ESN自動在設(shè)備層面上采集能耗數(shù)據(jù)和工作狀態(tài)。ESN中包含了721個(gè)電表,95個(gè)燃?xì)饬髁坑?jì),29個(gè)水流量計(jì)和25個(gè)壓縮空氣流量計(jì)。它們由82條RSB連接,采集服務(wù)器有8個(gè)處理器。電表能計(jì)量包括累計(jì)電量、電流、電壓、功率因數(shù)、諧波等在內(nèi)的60多個(gè)參數(shù),各流量計(jì)能測量累計(jì)流量、瞬時(shí)流量、溫度、壓力等參數(shù)。因此,一個(gè)表計(jì)存在一個(gè)或多個(gè)DCJ,整個(gè)網(wǎng)絡(luò)中DCJ總數(shù)達(dá)2322個(gè)。

因?yàn)樵O(shè)備分布的復(fù)雜性和分散性,通常采用Zigbee無線網(wǎng)關(guān)將RSB和數(shù)據(jù)服務(wù)器連接在一起,結(jié)果造成RSB之間的通信質(zhì)量和采集負(fù)載方面存在很大的差異。據(jù)統(tǒng)計(jì),λa在2到6ms之間變化,λb在8到35ms之間,λc從5到10ms之間變化,λ(J)時(shí)43411ms,σn是9.32,σp是628.46,RSB上DCJ的最小數(shù)目為1,最大數(shù)目是32,RSB的最小工作載荷是28ms,最大工作載荷是992ms.

進(jìn)行研究之前,能耗數(shù)據(jù)采集程序使用java語言編寫,只采用DCJ調(diào)度的第一階段優(yōu)化,認(rèn)為RSB的所有DCJ都是連續(xù)的。其平均完成時(shí)間(π)將近10秒,一些能耗數(shù)據(jù)像流量,流動率,壓力等數(shù)據(jù)不能準(zhǔn)確地通過設(shè)備層面上的工作狀態(tài)體現(xiàn)出來。數(shù)據(jù)采集的原始版本命名為EDC1.0,后來升級增加了第二階段,命名為EDC2.0,再后來增加了第三階段,命名為EDC3.0。案例中中EDC的這三個(gè)版本分別獨(dú)立測試,測試的平均性能指標(biāo)在表2中列出。

Table 2 The average performance indexes of the three versions of EDC

表2中Diff(2.0-1.0)表明EDC2.0和1.0的性能指標(biāo)差異,Diff(3.0-2.0)和Diff(3.0-1.0)分別表示了EDC3.0和EDC2.0以及EDC3.0和EDC1.0的差異。從表中可以看出EDC3.0的完成時(shí)間達(dá)到了6055ms(將近6s),和實(shí)時(shí)需求差了5s。EDC2.0的η比EDC1.0高了20.85%,而EDC3.0又比EDC2.0高了13.60%,這就證實(shí)了EDC1.0對于大規(guī)模寬分布的ESN還有較大的提升空間。

案例中的制造企業(yè)已經(jīng)采用了用于SEEM的EDC3.0,它顯著提高了能耗數(shù)據(jù)采集的時(shí)效性,如圖6所示,可以看到能源管理系統(tǒng)的能耗檢測器的顯示屏,顯示著從EDC3.0采集來的數(shù)據(jù)。圖6中的數(shù)據(jù)是EDC3.0采集的拋光車間的實(shí)時(shí)能耗數(shù)據(jù),并且關(guān)閉,閑置,工作等每個(gè)設(shè)備的工作狀態(tài)都可以實(shí)時(shí)反映出來。越多實(shí)時(shí)的數(shù)據(jù),越能反映出更高的精確度。

綜上所述,3SOA在計(jì)算案例和應(yīng)用案例中測試并得到了以下結(jié)論:首先3SOA可以顯著提高能源數(shù)據(jù)采集的并行效率,而且在一些大規(guī)模寬分布的能源傳感網(wǎng)絡(luò)中更有效果;其次,在應(yīng)用案例中,相比于考慮RSB所有過程的傳統(tǒng)算法,增加第二步優(yōu)化步驟可以提高20.85%的并行效率;最后增加第三步可以提高13.60%的并行效率。

以上結(jié)合具體實(shí)施例描述了本發(fā)明的技術(shù)原理。這些描述只是為了解釋本發(fā)明的原理,而不能以任何方式解釋為對本發(fā)明保護(hù)范圍的限制。基于此處的解釋,本領(lǐng)域的技術(shù)人員不需要付出創(chuàng)造性的勞動即可聯(lián)想到本發(fā)明的其它具體實(shí)施方式,這些方式都將落入本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
汾阳市| 玛多县| 义乌市| 出国| 平度市| 黄浦区| 霸州市| 临江市| 凭祥市| 长泰县| 平舆县| 克东县| 万源市| 大连市| 清丰县| 兴义市| 佛学| 营山县| 永泰县| 河南省| 海阳市| 云林县| 泗阳县| 红河县| 商河县| 张家港市| 萨迦县| 聂拉木县| 天柱县| 舟曲县| 蒙阴县| 明水县| 大石桥市| 集贤县| 天水市| 壤塘县| 收藏| 陆丰市| 奉节县| 岑巩县| 西青区|