林名馳,王成宇*,2,唐政
1 海軍工程大學(xué) 管理工程與裝備經(jīng)濟(jì)系, 湖北 武漢 430033
2 中國人民解放軍92690部隊(duì), 海南 三亞 572000
維修費(fèi)用是艦船全壽命周期費(fèi)用的重要組成部分[1-2],隨著科技發(fā)展與艦船復(fù)雜程度的不斷提高,其在全壽命周期費(fèi)用中的占比也隨之增加。在艦船維修費(fèi)用中,計(jì)劃維修費(fèi)用的占比最高。在全面建設(shè)世界一流海軍的背景下,艦船的用、修矛盾不斷凸顯,維修制度改革刻不容緩,隨之而來的艦船維修費(fèi)用計(jì)劃制定與撥付原則調(diào)整也逐漸提上日程,因此,精準(zhǔn)預(yù)測艦船的計(jì)劃維修費(fèi)用具有重要的意義。
艦船計(jì)劃維修費(fèi)用的預(yù)測方法很多,例如工程法[3]、專家估算法[4]等傳統(tǒng)方法,其中工程法需要大量的維修費(fèi)用數(shù)據(jù)積累,實(shí)施難度較高;專家估算法即基于專家意見進(jìn)行維修費(fèi)用估算,其主觀性較強(qiáng)的特點(diǎn)限制了應(yīng)用效果。目前,神經(jīng)網(wǎng)絡(luò)[5]、灰色預(yù)測[6]和支持向量機(jī)[7]等新型的費(fèi)用預(yù)測方法逐漸在該領(lǐng)域得以應(yīng)用,此類方法在預(yù)測精度方面具有較大的優(yōu)勢,但模型構(gòu)建過程卻較為繁瑣,且神經(jīng)網(wǎng)絡(luò)方法易陷入局部最優(yōu)解的困境,而支持向量機(jī)方法則易出現(xiàn)過擬合的問題,最終將導(dǎo)致模型的預(yù)測效果不穩(wěn)定。
案例推理(case-based reasoning,CBR)作為人工智能領(lǐng)域的一種新興理論[8],可以通過判定目標(biāo)案例與已有源案例的相似程度進(jìn)行檢索,并基于一定原則對(duì)檢索案例進(jìn)行修正與調(diào)整,最終得到目標(biāo)案例的預(yù)測值。CBR的推理過程不需要大量的維修費(fèi)用數(shù)據(jù)支持,所有計(jì)算均基于艦船特征屬性值,可以保證推理過程的客觀性;同時(shí),不需要構(gòu)建復(fù)雜的模型,從而避免了模型適應(yīng)性的問題。
因此,本文擬提出基于CBR的艦船計(jì)劃維修費(fèi)用預(yù)測方法,首先采用特征向量對(duì)案例進(jìn)行表示,然后采用基于加權(quán)歐氏距離的K 近鄰(Knearest neighbor,KNN)算法進(jìn)行案例檢索,同時(shí)結(jié)合粗糙集理論確定特征屬性的權(quán)重分配,最后將結(jié)合各目標(biāo)案例與相似案例的相似度對(duì)預(yù)測值進(jìn)行修正,并基于整體相似度來判定是否將新案例加入已有案例庫中,從而提高艦船計(jì)劃維修費(fèi)用的預(yù)測精度。
CBR是基于類比的推理,即通過目標(biāo)案例與源案例的相似性匹配進(jìn)行問題求解,其分析過程由4個(gè)階段組成:案例表示、案例檢索、案例重用和案例更新。當(dāng)遇到一個(gè)新問題時(shí),可以在存儲(chǔ)歷史問題解決經(jīng)驗(yàn)的案例庫中查找與新問題相似的案例,并將相似案例的解決方法進(jìn)行一定的調(diào)整,從而作為新問題的解決方案;同時(shí),該新問題也將隨后納入案例庫中[9]。
案例表示即對(duì)案例庫中源案例主要特征的描述,其目的是對(duì)不同案例進(jìn)行區(qū)分,以便后續(xù)案例的檢索操作。常見的案例表示方法包括特征向量表示法、類別?案例表示法和動(dòng)態(tài)存儲(chǔ)表示法等,由于計(jì)劃維修費(fèi)用與艦船特征參數(shù)之間具有較強(qiáng)的相關(guān)性,且各特征參數(shù)相對(duì)獨(dú)立,符合特征向量表示法的應(yīng)用特點(diǎn),故本文將采用艦船的主要特征參數(shù)作為特征屬性,并由多個(gè)特征屬性組成的特征向量及其對(duì)應(yīng)的維修費(fèi)用來表示案例。首先,設(shè)定艦船的計(jì)劃維修費(fèi)用案例i,其特征向量Ai為艦船的主要特征參數(shù),例如建造經(jīng)費(fèi)、空載排水量、艦長、最大航速、主機(jī)數(shù)量、人員編制等參數(shù),該類參數(shù)在不同艦船之間的區(qū)分效果較好,宜作為特征屬性;然后,設(shè)定解向量Bi作為艦船計(jì)劃維修費(fèi)用值,其中
式中:ai1,ai2,···,ai6為 特征向量Ai的特征參數(shù),其中i為案例編號(hào);bi為 解向量Bi對(duì)應(yīng)的維修費(fèi)用值。由此,采用<Ai,Bi>即可對(duì)某一特定案例進(jìn)行表示。
案例檢索是CBR的重要環(huán)節(jié),即通過特定的檢索方法在案例庫中搜索與目標(biāo)案例相似度較高的源案例。目前,常用的檢索方法包括KNN算法、歸納索引法等,其中KNN算法可以與領(lǐng)域知識(shí)有效融合,其操作較為簡便且應(yīng)用效果較好[10],因此,本文擬采用KNN算法進(jìn)行相似案例檢索。
KNN算法通過計(jì)算目標(biāo)案例與案例庫中各源案例特征屬性的相似度來進(jìn)行案例檢索,常用的相似度度量方法包括歐氏距離、皮爾遜相關(guān)系數(shù)、余弦相似度等。鑒于艦船各特征屬性對(duì)計(jì)劃維修費(fèi)用的影響程度不同,所以本文將采用加權(quán)歐氏距離進(jìn)行相似度度量,并引入權(quán)重系數(shù)來表征各特征屬性的重要程度。目標(biāo)案例與源案例的相似度S(Ai,A0)為
其中,歐氏距離D(aij,a0j)的計(jì)算公式為
式中:Ai為源案例,其中i為案例庫中各源案例的編號(hào);A0為目標(biāo)案例;ωi為權(quán)重系數(shù),用于表征各特征屬性對(duì)艦船計(jì)劃維修費(fèi)用的影響程度;aij為第i個(gè)源案例的第j個(gè)特征屬性值,其中j為特征屬性編號(hào);a0j為目標(biāo)案例的第j個(gè)特征屬性值;maxj和minj分別為第j個(gè)特征屬性的最大值和最小值。
采用式(4)計(jì)算歐氏距離時(shí),需對(duì)特征屬性的差值進(jìn)行歸一化處理以符合相似度計(jì)算原則。在計(jì)算得到相似度之后,即可根據(jù)相似度從高到低對(duì)源案例進(jìn)行排序,并設(shè)置案例的檢索個(gè)數(shù)k值,從而得到與目標(biāo)案例最為相似的k個(gè)源案例,即相似案例。
為了得到科學(xué)合理的權(quán)重分配,本文擬將粗糙集理論中屬性重要度的概念引入權(quán)重系數(shù)ωi的計(jì)算中。對(duì)于一個(gè)決策系統(tǒng),不同的條件屬性對(duì)決策屬性的支持程度(即條件屬性的重要度[11])也有所不同。表征屬性重要度的啟發(fā)式信息很多,例如支持度、依賴度、互信息等,各種形式的屬性重要度本質(zhì)差別較小,本文將選取支持度來計(jì)算屬性重要度。
根據(jù)粗糙集理論,將案例庫中的各特征屬性視為條件屬性集C,將艦船計(jì)劃維修費(fèi)用視為決策屬性集D,條件屬性集C對(duì)決策屬性集D的支持度γC(D) 為[12]
式中:POSC(D)為條件屬性與決策屬性的正區(qū)域;U為論域,其表示條件屬性對(duì)決策屬性的支持程度或分類能力。
所謂單個(gè)條件屬性對(duì)決策屬性的支持度,即去掉該屬性之后條件屬性對(duì)決策屬性支持程度或分類能力的變化,其計(jì)算公式為
式中:sig(a,C;D)為條件屬性a的屬性重要度;γC?a(D)為決策屬性D對(duì)條件屬性集C–a的依賴度。sig(a,C;D)越大,則說明在條件屬性集C中,單個(gè)條件屬性a對(duì)決策屬性的影響越大,a越重要;反之,a越不重要。
粗糙集理論的最顯著特點(diǎn)是整個(gè)計(jì)算過程均由數(shù)據(jù)驅(qū)動(dòng),可以保持權(quán)重系數(shù)的客觀性和合理性,且該理論易于理解,操作簡單。
由于相似案例與目標(biāo)案例通常存在差異性,所以不能直接采用相似案例的維修費(fèi)用作為目標(biāo)案例的預(yù)測值,而是需對(duì)相似案例進(jìn)行調(diào)整與修正,即案例重用。由上文可知,目標(biāo)案例與相似案例之間的相似度表征了二者主要特征屬性之間的相似程度,而案例中艦船的主要特征屬性與計(jì)劃維修費(fèi)用之間具有較強(qiáng)的相關(guān)性,故本文考慮將該相似度用于相似案例的維修費(fèi)用預(yù)測。根據(jù)k個(gè)相似案例的維修費(fèi)用來計(jì)算目標(biāo)案例維修費(fèi)用的過程,實(shí)際上可以視為多組預(yù)測結(jié)果的組合,為此,本文將引入組合預(yù)測的思想,其中等權(quán)組合的預(yù)測效果相對(duì)較好[13]。首先,對(duì)各相似案例調(diào)整后的維修費(fèi)用進(jìn)行求和,然后等權(quán)平均,即可得到目標(biāo)案例修正之后的維修費(fèi)用預(yù)測值計(jì)算公式如下:
式中:S(Al,A0)為 目標(biāo)案例A0與 相似案例Al之間的相似度,其中相似案例編號(hào)l=1,2,···,k(k為相似案例的最大編號(hào));bl為相似案例的費(fèi)用值。
得到目標(biāo)案例的預(yù)測值之后,目標(biāo)案例的特征屬性向量與其維修費(fèi)用將共同組成一組新的向量序偶。通過將新案例更新至案例庫中進(jìn)行擴(kuò)充,將有利于后續(xù)推理工作的長期開展。然而,案例庫的更新應(yīng)符合一定規(guī)則,若新案例與案例庫中已有案例的相似度很高,則該案例對(duì)提高檢索效率的意義較小,甚至可能導(dǎo)致庫中相似案例過多而降低檢索效率,故在本階段需開展相似度判定。
將目標(biāo)案例的維修費(fèi)用加入特征向量中,即可與各特征屬性共同組成新的特征向量Cm:
式中:am1,am2,…,am6為 特征向量Cm的特征參數(shù);bm1為 修正之后的維修費(fèi)用值,m為經(jīng)過更新之后的案例編號(hào)。
基于新的特征向量并結(jié)合式(3)和式(4),即可計(jì)算新案例與各相似案例的整體相似度。整體相似度將維修費(fèi)用納入了計(jì)算范圍,可以更全面地反映新案例與已有案例的相似程度。由于已檢索到的k個(gè)相似案例在案例庫中與目標(biāo)案例的相似度最高,所以僅需對(duì)目標(biāo)案例和這k個(gè)相似案例進(jìn)行判定即可:若整體相似度的均值高于原相似度,則不對(duì)案例庫進(jìn)行更新;反之,則將新案例增加至案例庫。
本文擬采用美軍艦船計(jì)劃維修費(fèi)用數(shù)據(jù)[14]對(duì)所提方法進(jìn)行驗(yàn)證,其構(gòu)建的案例庫包含180組案例(費(fèi)用均已折算到同一年),從中隨機(jī)選取6組作為測試案例,如表1所示。
首先,根據(jù)粗糙集理論計(jì)算各特征向量的權(quán)重系數(shù);然后,將表1中的6組測試案例分別作為目標(biāo)案例,根據(jù)式(3)和式(4)分別計(jì)算其與案例庫中源案例的相似度并進(jìn)行檢索;最后,設(shè)置k=3,根據(jù)式(7)計(jì)算各目標(biāo)案例的預(yù)測值。同時(shí),利用SPSS軟件中的工具包,將特征屬性設(shè)為自變量,維修費(fèi)用設(shè)為因變量,分別采用線性回歸預(yù)測法和徑向基函數(shù)(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)法對(duì)6組測試案例的維修費(fèi)用進(jìn)行預(yù)測,這2種方法和本文方法的預(yù)測結(jié)果與實(shí)船維修費(fèi)用的相對(duì)誤差如表2所示。
表1 測試案例特征屬性及維修費(fèi)用Table1 Test case feature attributes and maintenance cost
表2 預(yù)測結(jié)果對(duì)比Table2 Comparison of prediction results
由表2可以看出,針對(duì)6組測試案例,本文方法所得預(yù)測結(jié)果與實(shí)船費(fèi)用值的平均相對(duì)誤差為8.7%,而線性回歸預(yù)測法和RBF神經(jīng)網(wǎng)絡(luò)法的平均相對(duì)誤差分別為10.4%和10.2%,由此可見,本文所提方法的預(yù)測精度更高。
在艦船維修制度改革的趨勢下,針對(duì)維修費(fèi)用計(jì)劃制定與撥付原則提出的新要求,同時(shí)結(jié)合已有維修費(fèi)用預(yù)測方法的不足,本文提出了一種基于CBR的艦船計(jì)劃維修費(fèi)用預(yù)測方法。該方法不需要建立復(fù)雜的數(shù)學(xué)模型和大量的維修費(fèi)用數(shù)據(jù)采集,主要基于已有案例進(jìn)行預(yù)測,具有較高的適用性和準(zhǔn)確性。然而,CBR方法的準(zhǔn)確性取決于案例庫的數(shù)據(jù)量,豐富、典型的案例庫可以為處理復(fù)雜的艦船計(jì)劃維修費(fèi)用預(yù)測問題提供有力的數(shù)據(jù)支撐,所以典型案例的甄別與積累尤為重要。同時(shí),對(duì)于某些重要的艦船特征屬性的定量表示問題、檢索過程的優(yōu)化問題等,還需在后續(xù)工作中開展進(jìn)一步研究。