王曉妍 劉壽春 王子璇 王瓊瓊 李志明
(①燕山大學(xué)信息科學(xué)與工程學(xué)院(軟件學(xué)院),河北 秦皇島 066004;②河北省計(jì)算機(jī)虛擬技術(shù)與系統(tǒng)集成重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004;③河北省軟件工程重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004)
目前,我國(guó)制造行業(yè)存在“資源閑置與短缺并存,能力過剩與不足同在”的情況。在一定程度上造成了制造資源的浪費(fèi)。在互聯(lián)網(wǎng)+制造業(yè)的時(shí)代背景下,以“分散資源集中使用,集中資源分散服務(wù)”為理念的云制造模式可有效緩解上述問題[1-2]。運(yùn)用先進(jìn)的新一代信息技術(shù),將分散的、閑置的制造資源虛擬化封裝,并發(fā)布至云平臺(tái),為用戶提供按需使用、隨時(shí)獲取的制造全生命周期服務(wù),從而實(shí)現(xiàn)制造資源共享和企業(yè)協(xié)作。數(shù)控裝備種類繁多,功能多樣,在制造資源中占有很大的比重,且與其它種類制造裝備相比,更易于實(shí)現(xiàn)裝備資源的封裝及虛擬化。本文在云制造環(huán)境下,針對(duì)數(shù)控裝備資源服務(wù)匹配方法展開了深入研究,提出了一種“剛性參數(shù)”與“分層匹配”相結(jié)合的數(shù)控裝備資源服務(wù)匹配方法,并通過仿真實(shí)驗(yàn)驗(yàn)證了其性能。
高效的資源服務(wù)匹配算法是云制造環(huán)境下制造資源得以快速、準(zhǔn)確共享的重要前提。文獻(xiàn)[3]提出一種基于屬性匹配的云制造服務(wù)資源搜索方法,設(shè)計(jì)了制造領(lǐng)域同義詞字典和服務(wù)資源屬性字典,用來規(guī)范用戶的檢索詞和確定用戶檢索意圖,并在該基礎(chǔ)上提出屬性匹配算法。但是,該算法要求服務(wù)資源檢索系統(tǒng)的維護(hù)人員具有較高專業(yè)知識(shí),同時(shí),也對(duì)字典集的更新帶來挑戰(zhàn)。文獻(xiàn)[4]構(gòu)建了“先語義推理,后計(jì)算語義距離”的兩層語義匹配模型,提出一種基于概念模糊特征集合的服務(wù)匹配方法。然而,在云制造環(huán)境下,制造資源可能存在多種狀態(tài)的情況,該算法難以適用。針對(duì)制造資源的多樣性和復(fù)雜性問題,文獻(xiàn)[5]在概念信息、句子信息和數(shù)值參量信息3個(gè)角度進(jìn)行相似度度量,提出了包括基本信息、功能信息、約束信息和綜合匹配的多層次匹配算法模型。該算法的不足之處是忽略了相似度不對(duì)稱的現(xiàn)象。
文獻(xiàn)[6]結(jié)合制造資源在某一時(shí)刻有“可用/不可用”狀態(tài)的特點(diǎn),提出制造資源服務(wù)分級(jí)匹配策略,對(duì)資源服務(wù)類別信息、狀態(tài)信息、功能信息和服務(wù)質(zhì)量信息進(jìn)行分級(jí)匹配。在計(jì)算語義相似度時(shí),充分考慮資源類節(jié)點(diǎn)在資源類別樹中的深度和類別節(jié)點(diǎn)間的繼承關(guān)系,提高了服務(wù)匹配的精度,然而,在資源服務(wù)匹配時(shí)僅考慮了兩個(gè)概念在樹中所處的深度,忽略了概念的寬度和重合度,可能導(dǎo)致匹配結(jié)果不夠全面。
為實(shí)現(xiàn)更準(zhǔn)確高效的數(shù)控裝備資源云服務(wù)匹配,以文獻(xiàn)[6]為參照,以數(shù)控裝備資源為研究對(duì)象,結(jié)合請(qǐng)求者對(duì)資源類別的不同需求,提出一種“剛性參數(shù)”與“分層匹配”相結(jié)合的數(shù)控裝備資源服務(wù)匹配算法。該算法不僅考慮了資源概念的深度,還考慮了資源概念的寬度、語義重合度、語義距離和層次順序,對(duì)資源服務(wù)匹配進(jìn)行了精確的量化,并搭建了數(shù)控裝備資源云制造平臺(tái)系統(tǒng)原型。
從數(shù)控裝備資源請(qǐng)求者角度考慮,較為注重?cái)?shù)控裝備資源提供的服務(wù)類別、運(yùn)行狀態(tài)、加工能力和服務(wù)質(zhì)量(quality of service,QoS)信息等。從數(shù)控裝備資源提供者角度考慮,較為注重?cái)?shù)控裝備資源的基本信息、功能信息、狀態(tài)信息和QoS信息等。因此,本文從數(shù)控裝備資源的類別信息、狀態(tài)信息、功能信息、QoS信息和綜合信息等5個(gè)角度分別對(duì)接資源請(qǐng)求者和資源提供者對(duì)資源的描述,并依次進(jìn)行匹配,形成“剛性參數(shù)”與“層次匹配”相結(jié)合的數(shù)控裝備資源服務(wù)匹配方法,其流程如圖1所示。
在實(shí)際生產(chǎn)中,資源請(qǐng)求者由于諸多原因?qū)е绿峤坏馁Y源需求表述不準(zhǔn)確的情況時(shí)有發(fā)生。針對(duì)該情況,將資源類別匹配分為類別明確和類別不明確兩種情況,進(jìn)而再將類別明確的情況分為“剛性參數(shù)”匹配和“非剛性參數(shù)”匹配。前者是指資源請(qǐng)求者對(duì)所需資源類別清晰、明確的情況下應(yīng)設(shè)置為剛性參數(shù),即資源匹配結(jié)果必須是資源請(qǐng)求者指定的資源類別,否則匹配失??;后者是指資源請(qǐng)求者對(duì)所需資源類別清晰、明確的情況下設(shè)置為非剛性參數(shù),即云制造資源池中,和請(qǐng)求資源類別相似度不小于預(yù)設(shè)閾值的數(shù)控裝備資源均可列入資源服務(wù)匹配結(jié)果。
另外,在計(jì)算類別相似度時(shí),考慮了數(shù)控裝備資源概念間的深度、寬度、語義距離、語義重合度及層次順序5個(gè)因素,其中,計(jì)算語義距離時(shí)需同時(shí)考慮資源概念之間的深度、寬度和資源概念之間邊的權(quán)重。資源集合中第i個(gè)資源Ci和第j個(gè)資源Cj之間的類別相似度計(jì)算公式如式(1)所示。式(1)既考慮了資源概念之間的繼承關(guān)系和同層關(guān)系,又對(duì)概念匹配做了精確的量化,從而為提高資源服務(wù)匹配的查準(zhǔn)率奠定了基礎(chǔ)。
(1)
式中:OL(Ci,Cj)為Ci和Cj之間的語義重合度;Lev(Ci)為Ci的層次順序;Dis(Ci,Cj)為Ci和Cj之間的語義距離。資源類別信息匹配算法的輸入、輸出、初始狀態(tài)及步驟如下。
輸入:CateList為所有數(shù)控裝備資源類別集合,i(i=1,2,…,k)為類別序號(hào),k為CateList的元素個(gè)數(shù);cateR為請(qǐng)求數(shù)控裝備資源類別描述信息;cate_i為類別是否明確參數(shù);Sim(cate_i,cateR)為類別相似度;flag為類別剛性參數(shù)標(biāo)識(shí)位 (“1”為剛性參數(shù),“0”為非剛性參數(shù));valueCate為請(qǐng)求者設(shè)定的類別匹配相似度閾值;MatchCate為類別匹配序列;Resources為資源序列。
輸出:Cate_Resources為類別信息匹配之后的數(shù)控裝備資源集合;CateSimSet為對(duì)應(yīng)的類別相似度集合。
初始狀態(tài):CateList≠?,i=1,Cate_Resources=?,CateSimSet=?。
(1)若cate_i為“類別不明確”,則轉(zhuǎn)至(2);否則,轉(zhuǎn)至(4)。
(2)將cate_i添加到類別匹配序列MatchCate中,設(shè)置類別相似度Sim(cate_i,cateR)的值為1.0,并將Sim(cate_i,cateR)添加到類別相似度集合CateSimSet中。
(3)i=i+1。若i≤k,則轉(zhuǎn)至(2);否則,轉(zhuǎn)至(12)。
(4)若flag是“1”,則轉(zhuǎn)至(5);否則,轉(zhuǎn)至(8)。
(5)判斷cate_i是否和請(qǐng)求資源類別cateR相同,若相同,則轉(zhuǎn)至(6);否則,轉(zhuǎn)至(7)。
(6)將匹配的cate_i添加到MatchCate中,并將相似度1.0添加到類別相似度集合CateSimSet中,轉(zhuǎn)至(12)。
(7)i=i+1。若i≤k,則轉(zhuǎn)至(5);否則,轉(zhuǎn)至(12)。
(8)計(jì)算請(qǐng)求資源類別和資源庫中類別相似度Sim(cate_i,cateR)。
(9) 比較Sim(cate_i,cateR)和相似度閾值valueCate的大小。若Sim(cate_i,cateR)不小于valueCate,則轉(zhuǎn)至(10);否則,轉(zhuǎn)至(11)。
(10) 將cate_i添加到MatchCate中,并將Sim(cate_i,cateR) 添加到CateSimSet中。
(11)i=i+1。若i≤k,則轉(zhuǎn)至(8);否則,轉(zhuǎn)至(12)。
(12)將資源序列Resources中MatchCate所對(duì)應(yīng)的資源添加到類別信息匹配后資源序列Cate_Resources中,并返回Cate_Resources和CateSimSet。
資源提供者提供的數(shù)控裝備資源的狀態(tài)信息主要包括維修、空閑、未滿負(fù)荷、滿負(fù)荷和超負(fù)荷5個(gè)狀態(tài);資源請(qǐng)求者需求的資源狀態(tài)包括空閑、非滿負(fù)荷和滿負(fù)荷3種工作狀態(tài)。
資源狀態(tài)信息匹配算法的輸入、輸出、初始狀態(tài)及步驟如下。
輸入:Cate_Resources為類別信息匹配之后的數(shù)控裝備資源集合,i(i=1,2,…,k)為類別序號(hào),k為Cate_Resources的元素個(gè)數(shù);CateSimSet為對(duì)應(yīng)的類別相似度集合;。
輸出:State_Resources為狀態(tài)信息匹配之后的數(shù)控裝備資源集合;StateSimSet為對(duì)應(yīng)的狀態(tài)匹配相似度集合。
初始狀態(tài):Cate_Resources≠?,i=1,State_Resources=?,StateSimSet=?。
(1)判斷候選資源序列中第i個(gè)資源Cate_Resources_i的state是否為“超負(fù)荷”和“維修中”。若是,則轉(zhuǎn)至(2);否則,轉(zhuǎn)至(3)。
(2)將Cate_Resources_i添加到State_Resources中,并將Cate_Resources_i對(duì)應(yīng)的相似度添加到StateSimSet中。
(3)i=i+1。若i≤k,則轉(zhuǎn)至(1);否則,轉(zhuǎn)至(4)。
(4) 返回State_Resources和StateSimSet。
數(shù)控裝備資源可能包括多個(gè)輸入和輸出參數(shù),輸入?yún)?shù)主要指加工材料、控制系統(tǒng)、最大加工任務(wù)量、聯(lián)動(dòng)軸數(shù)、定位精度、重復(fù)定位精度、粗糙度等,輸出參數(shù)主要指用途等,而資源請(qǐng)求者和資源提供者對(duì)資源的描述中輸入和輸出參數(shù)需要滿足一定的關(guān)系,才有可能匹配成功,這就是資源功能信息匹配。
資源功能信息匹配算法的輸入、輸出、初始狀態(tài)及步驟如下。
輸入:State_Resources為狀態(tài)信息匹配之后的數(shù)控裝備資源集合,i(i=1,2,…,k1)為State_Resources集合中資源的序號(hào),k1為State_Resources的元素個(gè)數(shù);StateSimSet為對(duì)應(yīng)的狀態(tài)匹配相似度集合;valueFun為功能相似度閾值;IR為請(qǐng)求資源R的輸入集合,j(j=1,2,…,m)為輸入?yún)?shù)序號(hào);IPi為State_Resources中第i個(gè)資源Pi的輸入?yún)?shù)集合,k(k=1,2,…,n)為輸入序號(hào);OR為R的輸出集合,a(a=1,2,…,p)為R的輸出集合中參數(shù)的序號(hào);OPi為Pi的輸出集合,b(b=1,2,…,q)為輸出序號(hào)。
輸出:Fun_Resources為功能信息匹配之后的數(shù)控裝備資源序列;FunSimSet為對(duì)應(yīng)的相似度集合。
初始狀態(tài):State_Resources≠?,F(xiàn)un_Resources=?,F(xiàn)unSimSet=?,i=1,j=1,k=1,a=1,b=1。
(1)若State_Resources≠?,計(jì)算State_Resources中的第i個(gè)資源Pi和請(qǐng)求資源R的功能匹配相似度。
①若m≥n且p≤q,計(jì)算R的第j個(gè)輸入?yún)?shù)和Pi中對(duì)應(yīng)的輸入?yún)?shù)的相似度Sim(Iij)。
②j=j+1,若j≤n,則轉(zhuǎn)至①,否則,轉(zhuǎn)至③。
③計(jì)算R與Pi的輸入?yún)?shù)相似度,如式(2)所示。
(2)
④計(jì)算R的第a個(gè)輸出參數(shù)和Pi的每個(gè)輸出參數(shù)的相似度Sim(ORa,OPib),輸出相似度如式(3)所示。
Sim(Oia)=max(Sim(ORa,OPib))(b=1,2,…,q)
(3)
⑤a=a+1。若a≤p,則轉(zhuǎn)至④;否則、轉(zhuǎn)至⑥。
⑥按式(4)計(jì)算R與Pi的輸出參數(shù)相似度。
(4)
⑦計(jì)算R與Pi的功能信息相似度, 輸出相似度如式(5)所示。若Simi(Pi,R)≥valueFun,則將資源Pi添加到Fun_Resources候選資源序列中,將Simi(Pi,R)添加到功能匹配相似度集合FunSimSet中。
(5)
(2)i=i+1。若i≤k1,則轉(zhuǎn)至(1);否則,轉(zhuǎn)至(3)。
(3) 返回Fun_Resources和FunSimSet。
QoS屬性有多個(gè)指標(biāo),此處主要針對(duì)資源請(qǐng)求者比較關(guān)注的成本、加工時(shí)間、無故障時(shí)間和用戶滿意度4個(gè)屬性進(jìn)行匹配。對(duì)于QoS信息匹配,采用基于歐氏距離的相似度計(jì)算方法,通過QoS屬性矩陣中各向量之間的歐氏距離反映不同資源間QoS的相似性[7]。
資源QoS信息匹配算法的輸入、輸出、初始狀態(tài)及步驟如下。
輸入:Fun_Resources為功能信息匹配之后的數(shù)控裝備資源序列,i為Fun_Resources中資源的序號(hào)(i=1,2,…,m),m為Fun_Resources的元素個(gè)數(shù),初始值i=1;ω=(ω1,ω2,ω3,ω4)為資源QoS四個(gè)屬性的權(quán)重向量;valueQoS為QoS屬性匹配相似度閾值。
輸出:QoS_Resources為QoS屬性匹配后的候選數(shù)控裝備資源序列;QoSSimSet為對(duì)應(yīng)的相似度集合。
初始狀態(tài):Fun_Resources≠?,QoS_Resources=?,QoSSimSet=?。
(1)將Fun_Resources中m個(gè)候選資源的QoS指標(biāo)向量qi=(qi1,qi2,qi3,qi4),(i=1,2,…,m),依次排列構(gòu)成QoS屬性矩陣,如式(6)所示。
(6)
(7)
(8)
(3)運(yùn)用線性比例變換公式(9)將Q中的每個(gè)數(shù)據(jù)標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化后的QoS屬性矩陣P如式(10)所示。
(9)
(10)
在此基礎(chǔ)上定義最優(yōu)資源A的QoS屬性指標(biāo)向量p=(p1,p2,…,p4),pj(j=1,2,…,4)為矩陣P第j列中最大的元素。
(4) 計(jì)算P中第i個(gè)行向量pi(即第i個(gè)候選資源的QoS屬性向量)和P之間的歐氏距離,定義第i個(gè)資源服務(wù)Fun_Resources_i和最優(yōu)資源服務(wù)A之間的QoS相似度計(jì)算公式,如式(11)所示。
(11)
(5)比較SimiQoS和valueQoS的大小。若SimiQoS≥valueQoS,則將Fun_Resources_i添加到QoS_Resources中,并將對(duì)應(yīng)的SimiQoS添加到QoS屬性相似度集合QoSSimSet中,轉(zhuǎn)至(6);否則,轉(zhuǎn)至(7)。
(6)i=i+1。若i≤m,則轉(zhuǎn)至(4),否則,轉(zhuǎn)至(7)。
(7) 返回QoS_Resources和QoSSimSet。
首先,計(jì)算各個(gè)候選數(shù)控裝備資源的綜合相似度,然后,按照綜合相似度由大到小的順序排列候選數(shù)控裝備資源,以供資源請(qǐng)求者選擇。
資源綜合信息匹配算法的輸入、輸出、初始狀態(tài)及步驟如下。
輸入:QoS_Resources為QoS信息匹配之后的候選資源序列,i(i=1,2,…,m)為QoS_Resources中資源的序號(hào),m為QoS_Resources的元素個(gè)數(shù),初始值i=1;CateSimSet為類別信息匹配相似度集合;FunSimSet為功能信息匹配相似度集合;QoSSimSet為QoS信息匹配相似度集合。
輸出:Resources為按綜合相似度大小排序的候選資源集合;SimSet為對(duì)應(yīng)的相似度集合。
初始狀態(tài):QoS_Resources=?,CateSimSet≠?,F(xiàn)unSimSet≠?,QoSSimSet≠?,Resources=?,SimSet=?。
(1)計(jì)算QoS_Resources中的第i個(gè)資源服務(wù)的綜合相似度,如式(12)所示。
Simi=αCateSimSeti+βFunSimSeti+γQoSSimSeti
(12)
式中:CateSimSeti為第i個(gè)資源的類別信息相似度;FunSimSeti為第i個(gè)資源的功能信息相似度;QoSSimSeti為第i個(gè)資源的QoS信息相似度;α、β、γ為類別信息相似度、功能信息相似度、QoS信息相似度的權(quán)重,0<α<1,0<β<1,0<γ<1且α+β+γ=1。
(2)i=i+1。若i≤m,則轉(zhuǎn)至(1),否則,轉(zhuǎn)至(3)。
(3)由大到小對(duì)m個(gè)值進(jìn)行排序,并返回Resources和SimSet。
依據(jù)文中數(shù)控裝備資源服務(wù)匹配的策略及思想,利用Java Web技術(shù)及SQL Server2008數(shù)據(jù)庫,設(shè)計(jì)并開發(fā)了云制造平臺(tái)系統(tǒng)原型,數(shù)據(jù)庫中錄入了幾百條資源數(shù)據(jù),并在該平臺(tái)上對(duì)“剛性參數(shù)”與“分層匹配”相結(jié)合的數(shù)控裝備資源服務(wù)匹配方法進(jìn)行了仿真。圖2為數(shù)控裝備資源請(qǐng)求者向云制造平臺(tái)提交資源需求時(shí)的界面。
在數(shù)控裝備資源信息和需求信息數(shù)據(jù)準(zhǔn)確的前提下,運(yùn)用查全率和查準(zhǔn)率驗(yàn)證“剛性參數(shù)”和“分層匹配”相結(jié)合的數(shù)控裝備資源服務(wù)匹配方法的優(yōu)劣。查全率Recall及查準(zhǔn)率Precision的計(jì)算公式分別如式(13)、式(14)所示。
(13)
(14)
其中:C表示云制造平臺(tái)系統(tǒng)原型中符合請(qǐng)求者需求描述的資源序列;D表示匹配出的資源序列;C∩D表示匹配出的符合資源請(qǐng)求者需求描述的資源序列。
以文獻(xiàn)[6]中的資源匹配方法作為對(duì)比對(duì)象,按照?qǐng)D2所示的資源請(qǐng)求參數(shù)分別計(jì)算查全率和查準(zhǔn)率,仿真結(jié)果顯示文獻(xiàn)[6]和本文方法的查全率均為100%,查準(zhǔn)率則分別為50.8%和72.5%。由此可見,在查準(zhǔn)率方面,本文所提匹配方法與文獻(xiàn)[6]中的匹配方法相比得到了較大幅度的提升,從而,驗(yàn)證了方法的有效性。
在云制造環(huán)境下,以數(shù)控裝備資源為研究對(duì)象,提出“剛性參數(shù)”與“分層匹配”相結(jié)合的數(shù)控裝備資源服務(wù)匹配方法,對(duì)資源服務(wù)匹配做出了精確的量化,方法包括資源類別信息匹配、資源狀態(tài)信息匹配、資源功能信息匹配、資源QoS信息匹配和資源綜合信息匹配5個(gè)部分。該方法以提高資源服務(wù)匹配的查準(zhǔn)率為目標(biāo),在進(jìn)行資源類別信息匹配時(shí),結(jié)合資源請(qǐng)求者對(duì)資源類別的不同需求,并充分考慮了資源功能信息匹配過程中概念及數(shù)值的匹配;在進(jìn)行資源概念的相似度計(jì)算時(shí),不僅考慮資源概念的深度和層次順序,還考慮資源概念之間的寬度、語義距離、語義重合度等因素。通過仿真實(shí)驗(yàn)表明,本文所提資源匹配方法與文獻(xiàn)[6]相比,更能夠準(zhǔn)確地匹配出符合資源請(qǐng)求者需求描述的資源,使得資源查準(zhǔn)率得到了較大幅度的提升。
[1]Yu C, Xu X, Lu Y. Computer-integrated manufacturing, cyber-physical systems and cloud manufacturing - concepts and relationships[J]. Manufacturing Letters, 2015, 6: 5-9.
[2]Zhang L, Luo Y L, Tao F, et al. Cloud manufacturing: A new manufacturing paradigm[J]. Enterprise Information Systems, 2014, 8(2): 167-187.
[3]李成海, 黃必清. 基于屬性描述匹配的云制造服務(wù)資源搜索方法[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2014, 20(6): 1499-1507.
[4]殷華英. 基于本體相似度的語義Web服務(wù)匹配算法研究[D]. 沈陽: 遼寧大學(xué), 2011: 22-53.
[5]王成建. 云制造環(huán)境下資源服務(wù)匹配研究[D]. 南昌: 南昌大學(xué), 2014: 27-38.
[6]李慧芳, 董訓(xùn), 宋長(zhǎng)剛. 制造云服務(wù)智能搜索與匹配方法[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2012, 18(7): 1485-1493.
[7]李新. 基于本體的制造資源建模與智能搜索研究開發(fā)[D]. 西安:西安建筑科技大學(xué), 2016: 18-23.