王立業(yè),薩日娜,2,,張利春
(1.內(nèi)蒙古工業(yè)大學(xué)機(jī)械工程學(xué)院,內(nèi)蒙古 呼和浩特 010051;2.浙江大學(xué)機(jī)械工程學(xué)院,浙江 杭州 310027;3.康力電梯股份有限公司,江蘇 蘇州 215213)
近年來,機(jī)械產(chǎn)品的屬性識別工作對產(chǎn)品設(shè)計能夠起到減少工作量加快工作效率的意義,能夠從原始數(shù)據(jù)中剔除掉冗余信息,保留核心內(nèi)容。在產(chǎn)品的屬性識別方面國內(nèi)外學(xué)者做了一些研究,主要分為兩個方面:一方面是根據(jù)專家的經(jīng)驗來對產(chǎn)品進(jìn)行歸納和分析,這種方法針對一些型號較少的特定機(jī)械產(chǎn)品。文獻(xiàn)[1]提出一種集成約束模糊隨機(jī)層次分析法,克服了層次分析法局限性;文獻(xiàn)[2]研究了運(yùn)用層次分析法和偏好排序組織法的決策方法進(jìn)行屬性識別,克服了在決策過程中需要考慮大量的標(biāo)準(zhǔn)的局限性。另一方面越來越多的學(xué)者利用數(shù)據(jù)挖掘技術(shù)從設(shè)備實例數(shù)據(jù)庫中進(jìn)行分析對產(chǎn)品屬性進(jìn)行約簡提取核心屬性。主要有文獻(xiàn)[3]利用正域的概念提出了一種屬性依賴度的計算方法,與傳統(tǒng)方法比較精度得到了提高;文獻(xiàn)[4]提出了以正域來表示屬性重要度的約簡算法,將重要度大的屬性逐步加入到約簡屬性集中,直至滿足預(yù)定義的停止條件。以上研究都是基于正域來進(jìn)行屬性重要度計算從而篩選出核心屬性,利用正域計算時是以正區(qū)域基數(shù)與幾何基數(shù)之比計算出屬性重要度,有時不能很好的區(qū)分屬性之間的相關(guān)性從而導(dǎo)致最終約簡存在冗余。
因此,考慮屬性組合對條件屬性的關(guān)聯(lián)性,利用評估實驗室(Decision—Making and Trial Evaluation Laboratory,DEMATEL)方法得出條件屬性權(quán)重,并結(jié)合正域依賴度計算出約簡屬性組合重要度;考慮到屬性組合對決策屬性的關(guān)聯(lián)性,利用互信息計算屬性組合相關(guān)度。在此基礎(chǔ)上建立機(jī)械產(chǎn)品屬性約簡多目標(biāo)0-1規(guī)劃數(shù)學(xué)模型。提出改進(jìn)多目標(biāo)布谷鳥算法得出機(jī)械產(chǎn)品屬性約簡Pareto前沿,利用區(qū)間猶豫模糊集對屬性約簡集Pareto前沿優(yōu)選,最終確定出機(jī)械產(chǎn)品屬性約簡最優(yōu)方案。
機(jī)械產(chǎn)品屬性集合為Xm={x1,x2,…,xm},式中:xi—某個屬性,i=1,…,m,需要從m個屬性中篩選出n個屬性代表全部的m個屬性,其中,n<m,選取的n個屬性在進(jìn)行相關(guān)設(shè)計工作時要達(dá)到與用m個屬性基本相同的效果。
首先根據(jù)粗糙集理論[5]建立產(chǎn)品屬性的信息表達(dá)系統(tǒng)S=(U,A,V,f),式中:U—論域,代表各個屬性屬性的數(shù)值集合;A—產(chǎn)品的所有屬性;V—各個屬性的取值范圍;f—信息函數(shù)。
假設(shè)屬性子集P?A,xi,xj∈U,定義二元關(guān)系IND(P)成為等價關(guān)系:IND(P)={(xi,xj)∈U×U|?p∈P,p(xi)=p(xj)}稱xi,xj在S中關(guān)于屬性集p是等價的,當(dāng)且僅當(dāng)p(x)i=p(x)j對所有的p∈P成立,即xi,xj不能用P中的屬性加以區(qū)別。由此可以區(qū)別出屬性的辨別能力大小。
在機(jī)械產(chǎn)品信息系統(tǒng)S=(U,A,V,f)中,設(shè)X?U是個體全域上的子集,設(shè)P?A是屬性域的子集,則X的上近似集和下近似集分別為:
上下近似集將論域U劃分為三個區(qū)域:正域POSp(X)=、邊界域Bndp(X)=-和負(fù)域NEGp(X)=U-。
利用正域進(jìn)行屬性重要度計算時對原始數(shù)據(jù)的依賴性大,一旦數(shù)據(jù)出現(xiàn)錯誤直接導(dǎo)致計算結(jié)果產(chǎn)生偏差。因此首先通過基于正域的屬性約簡計算出各個屬性的初始重要度再結(jié)合DEMATEL方法[6]計算出屬性的權(quán)重,得出最終屬性重要度,保證結(jié)果的可靠性。
基于正域的條件屬性c對于決策屬性D的重要度如下式所示:
利用DEMATEL方法計算屬性權(quán)重時,首先建立屬性的影響矩陣B:
式中:bij—屬性i對屬性j的影響程度,影響程度取四個等級,0時沒有影響;1—較?。?—有影響;3—影響較大。
將影響矩陣B歸一化處理得到M=(mij)n×n=B M,其中,m=
根據(jù)M計算得出綜合影響矩陣X=(xij)n×n=M(I-X)-1式中:(I-X)-1—I-X的 逆矩陣;I—單位矩陣。
根據(jù)X計算出各條件屬性的中心度與原因度如下:
最終確定出權(quán)重大小如下式所示:
在基于正域的屬性約簡中加入DEMATEL方法確定權(quán)重最終得出機(jī)械產(chǎn)品條件屬性子集A對于決策屬性D的重要度如下式所示:
利用式(1)正區(qū)域基數(shù)與集合基數(shù)之比計算出的屬性重要度有時不能很好的區(qū)分機(jī)械產(chǎn)品屬性之間的相關(guān)性從而導(dǎo)致最終約簡結(jié)果存在冗余,這種方法有著一定的局限性,因此引入互信息理論[7]來描述兩個屬性之間的相關(guān)性大小,通過限定條件屬性之間的互信息值的大小來提高屬性組合的分辨度進(jìn)一步約簡屬性。
如機(jī)械產(chǎn)品信息系統(tǒng)表示為S=(U,Ai,V,f),則屬性子集A的信息熵為:
屬性子集A相對于屬性子集B的條件信息熵為:
屬性ɑ在屬性子集B的條件下與決策屬性的條件熵為:
屬性組合A互信息計算步驟:
(1)計算屬性組合中屬性子集B與決策屬性之間的互信息值I(B,D),開始時B中只包含屬性組合中第一個屬性,i+1。
(2)計算屬性組合中第i個屬性在已有屬性子集的條件下與決策屬性之間的互信息I(Ai,D|B)。
(3)計算屬性子集B與決策屬性之間的互信息值I(ɑ,D|B)+I(B,D)=Inew(B,D),其中Inew(B,D)表示更新后的I(B,D)。
(4)如果B≠A,進(jìn)入第一步;如果B=A,結(jié)束并輸出I(A,D)。
根據(jù)這里內(nèi)容多目標(biāo)屬性約簡數(shù)學(xué)模型可以表示為:
屬性約簡模型總體思路,如圖1所示。
圖1 屬性約簡模型總體思路Fig.1 General Idea of Attribute Reduction Model
機(jī)械產(chǎn)品屬性約簡問題可以看作是一個以不同關(guān)鍵屬性組合方式為變量,把條件屬性組合的重要度和屬性組合的相關(guān)度為目標(biāo)的0-1優(yōu)化問題。
根據(jù)傳統(tǒng)的布谷鳥算法建立多目標(biāo)布谷鳥算法[8],將布谷鳥的產(chǎn)卵行為進(jìn)行三個理想狀態(tài)的假設(shè):
(1)布谷鳥一次產(chǎn)2個蛋,代表兩個建立的目標(biāo),并隨機(jī)選擇鳥巢來孵化它。
(2)在隨機(jī)選擇的一組鳥巢中,最優(yōu)的鳥巢保留給下一代。
(3)可選擇的寄生巢的數(shù)量是固定的,寄生巢主人發(fā)現(xiàn)外來鳥蛋的概率為pɑ,其中0≤pɑ≤1。
3.1.1 鳥巢編碼方式
假設(shè)有n=6個鳥巢,鳥巢位置定義為n維坐標(biāo)X={x1,x2,…,x6},在鳥巢位置選取時,采0-1編碼方式,0表示未選中該鳥巢,1表示選中該鳥巢。
3.1.2 鳥巢更新策略
在n維空間中,第i個鳥巢位置向量為Xi=[xi1,xi2,…,xin]。原有鳥巢初始化采用隨機(jī)初始化,但是這種初始化不能在空間中得到均有的鳥巢位置,這也就導(dǎo)致在迭代過程中不能盡快的收斂,所以在這里采用sobol[9]序列初始化方法,能夠得到更為均勻的鳥巢位置更快的搜索到Pareto解。
圖2 兩種初始化對比Fig.2 Two Initialization Comparisons
布谷鳥算法的位置更新機(jī)制是采用萊維飛行更新機(jī)制,依賴隨機(jī)步長,這種更新機(jī)制雖然能夠保證算法最終避免陷入局部最優(yōu),但是也會導(dǎo)致收斂速度降低。在前期搜索階段,大步長搜索,以便找到全局最優(yōu)解;在算法后期的搜索階段,小步長在最優(yōu)位置附近搜索,從而提高算法的收斂速度。如式(8)所示步長與迭代次數(shù)成反比,隨迭代次數(shù)的增多步長越小,從而逐漸縮小搜索范圍。
為了能夠使得鳥巢位置向最優(yōu)位置進(jìn)行快速靠近,因此把遺傳算法的交叉[10]操作引入到位置更新機(jī)制當(dāng)中,將產(chǎn)生的新的鳥巢Xi(t+1)’與當(dāng)前最優(yōu)鳥巢Xit以Pc的概率進(jìn)行交叉操作得到新的鳥巢位置Xit+1,如下所示。
圖3 鳥巢交叉操作Fig.3 Bird’s Nest Crossover Operation
假設(shè)根據(jù)算法得出ɑ組Pareto解集,每組Pareto解集中屬性個數(shù)為b。利用區(qū)間猶豫模糊集多屬性群決策方法[11-12]來對Pareto解集中的方案進(jìn)行評價選出最終方案。
評價值在此選用語言術(shù)語(不重要、比較重要、重要、很重要)進(jìn)行評價,轉(zhuǎn)換為區(qū)間分別為[0,1]、[1,2]、[2,3]、[3,4]。定義決策者Pk(k=1,2,…,5)對于方案ci(i=1,2,…,ɑ)的屬性xj(j=1,2,…,6)通過區(qū)間猶豫模糊集表示,其中為評價值。
在此選用五位專家作為決策者及根據(jù)專家權(quán)威值人為給定權(quán)重ωk=(ω1,ω2,ω3,ω4,ω5)。
集結(jié)決策矩陣以及專家權(quán)重信息進(jìn)行方案評價,第i個方案的評價值為:
最終選取評價值最高的Pareto解作為最終方案。
算法主要步驟如下:
輸入.決策矩陣。
輸出.Pareto解集。
(1)設(shè)置基本屬性迭代次數(shù)1000、種群個數(shù)15、交叉概率0.5、淘汰概率0.1、并輸入模型。
(2)產(chǎn)生初始種群X,并計算目標(biāo)函數(shù)值F1、F2。
(3)判斷是否達(dá)到最大迭代次數(shù),如果是轉(zhuǎn)到(9)。
(4)根據(jù)Pareto支配策略挑選非支配集,產(chǎn)生新種群X1。
(5)計算淘汰概率,如大于0.1淘汰種群并產(chǎn)生新種群,如小于0.1進(jìn)入下一步。
(6)合并X1、X2,由Pareto支配策略產(chǎn)生非支配解存入外部檔案。
(7)計算交叉概率,如>0.5與父代交叉產(chǎn)生新種群,如<0.5進(jìn)入(9)。
(8)合并X2、X3,由Pareto支配策略產(chǎn)生非支配解存入外部檔案.
(9)輸出Pareto最優(yōu)解集。
基于改進(jìn)的多目標(biāo)布谷鳥算法詳細(xì)流程圖,如圖4所示。
圖4 算法流程圖Fig.4 Algorithm Flow Chart
以住宅電梯產(chǎn)品屬性集合X={x1,x2,…,x17}為例進(jìn)行分析,x1,x2,…,x17依次表示為電梯屬性額定載重、可乘人數(shù)、電梯速度、轎廂寬、轎廂深、轎廂高、轎門和層門寬、轎門和層門高、轎門和層門型式、井道寬、井道深、底坑深度、頂層高度、機(jī)房面積、機(jī)房寬、機(jī)房深、機(jī)房高度共17個,其中轎門和層門型式有旁開門和中分門,在住宅電梯信息決策表中分別用0和1表示。以x1,x2,x3為決策屬性,其余屬性為條件屬性建立電梯屬性信息表達(dá)系統(tǒng),將電梯的17個屬性列入到屬性集合X中,得到17×200的原始決策表,如表2所示。
表2 住宅電梯屬性信息決策表Tab.2 Decision Table of Residential Elevator Property Information
以NSGA_II算法作為比較算法,設(shè)定NSGA_II算法種群大小為100,最大迭代次數(shù)為1000,交叉概率為0.9,變異概率為0.1。仿真環(huán)境為Intel(R)Core(TM)i7-8550U,CPU@1.80GHz,RAM 8GB,系統(tǒng)Windows 10,仿真平臺Matlab2016a。仿真結(jié)果,如圖5所示。各目標(biāo)變化曲線,如圖6所示。
由表3可以看出改進(jìn)布谷鳥算法比NSGA_II算法平均求解時間耗時少,算法效率更高,得到的Pareto前沿解集擁擠距離更大,解集在目標(biāo)空間分布更加均勻,并且得到的平均非支配解集的個數(shù)更多,可以看出改進(jìn)布谷鳥算法較優(yōu)。
表3 仿真結(jié)果對比Tab.3 Comparison of Simulation Results
屬性組合的平均重要度和相關(guān)度的變化曲線,如圖5(a)、圖5(b)所示。從圖6可以看出,這里改進(jìn)算法在經(jīng)過100次迭代后就逐漸趨于穩(wěn)定;NSGA_II算法則是近300次迭代后才趨于穩(wěn)定。雖然NSGA_II算法在前期迭代過程中收斂速度較快,但從整體看改進(jìn)布谷鳥算法的各個目標(biāo)函數(shù)變化曲線的收斂速度要快于NSGA_II算法,改進(jìn)布谷鳥算法有明顯優(yōu)勢。
圖5 迭代過程目標(biāo)函數(shù)的變化趨勢Fig.5 The Variation Trend of the Iterative Process Objective Function
迭代1000次時利用NSGA_II算法與改進(jìn)布谷鳥算法求解的Pareto解集對比圖,如圖6所示。其中改進(jìn)布谷鳥算法根據(jù)Pareto支配原則得出了26個Pareto前沿解集。這26個點都是支配解,都可作為最終的解。從圖7中可以看出改進(jìn)布谷鳥算法相比NSGA_II算法得出的Pareto前沿更優(yōu),更適合求解多目標(biāo)屬性約簡問題。
圖6 電梯屬性約簡Pareto前沿Fig.6 Elevator Property Reduces Pareto Cutting Edge
對于得出的26組Pareto解集,利用區(qū)間猶豫模糊集多屬性群決策方法來對Pareto解集中的方案進(jìn)行評價。
在此選用五位專家作為決策者及根據(jù)專家權(quán)威值人為給定權(quán)重ωk=(ω1,ω2,ω3,ω4,ω5),如表4所示。
表4 專家權(quán)重Tab.4 Expert Weight
最終得到方案集的評價值,如圖7所示。選出最優(yōu)方案c11,如表5所示。
圖7 26組方案評價值Fig.7 26 Groups of Scheme Evaluation Value
表5 約簡后屬性Tab.5 Reduced Attribute
基于正域的屬性約簡算法得出的約簡結(jié)果,約簡后屬性個數(shù)為8個,多于所提方法的6個,如表6所示。這里算法得出的屬性也都屬于基于正域得出的屬性并且剔除了其中的兩個屬性,說明這里算法約簡結(jié)果具有更少的冗余。進(jìn)一步分析兩種算法約簡后屬性,基于正域的約簡算法比這里所提算法多出的兩個屬性為可乘人數(shù)和機(jī)房深,可乘人數(shù)與額定載重相關(guān)性較強(qiáng),而機(jī)房深相對于機(jī)房面積并沒有太重要。以上分析可以看出文中所提方法約簡效果更優(yōu),對于屬性關(guān)聯(lián)性較大的機(jī)械產(chǎn)品的屬性約簡效果較好。
表6 基于正域算法約簡后屬性Tab6 Attribute Reduction Based on Positive Domain Algorithm
針對機(jī)械產(chǎn)品屬性之間存在關(guān)聯(lián)性的問題,提出了考慮屬性組合關(guān)聯(lián)的機(jī)械產(chǎn)品屬性約簡方法。(1)考慮約簡屬性組合對條件屬性的關(guān)聯(lián)性,利用DEMATEL方法結(jié)合正域依賴度計算方法得出約簡屬性組合重要度;考慮約簡屬性組合對決策屬性的關(guān)聯(lián)性,利用互信息理論計算約簡屬性組合的相關(guān)度。彌補(bǔ)了傳統(tǒng)正域約簡的局限性。(2)建立機(jī)械產(chǎn)品屬性約簡多目標(biāo)(0~1)規(guī)劃數(shù)學(xué)模型并提出改進(jìn)多目標(biāo)布谷鳥算法,與NSGA_II算法對比收斂更快,解的分布更加均勻。(3)借助區(qū)間猶豫模糊集,對屬性約簡集Pareto前沿優(yōu)選,確定機(jī)械產(chǎn)品屬性約簡最優(yōu)方案。最終以住宅電梯產(chǎn)品屬性約簡為例,驗證了所提方法的有效性和可行性。