王 燦 屈少輝 王 帥 周慶忠 周麟璋
(陸軍勤務(wù)學(xué)院 重慶 401331)
充足、及時(shí)、可靠的油料保障是作戰(zhàn)指揮員在戰(zhàn)場(chǎng)上靈活運(yùn)用兵力的前提條件。戰(zhàn)時(shí)油料需求的巨量性、緊迫性和制約性突出,今后我軍遂行聯(lián)合作戰(zhàn)任務(wù),必須對(duì)油料保障進(jìn)行提前籌劃,對(duì)油料需求進(jìn)行精準(zhǔn)預(yù)測(cè),破除需求預(yù)測(cè)難題,撥開需求障眼迷霧,從而為優(yōu)化油料儲(chǔ)備方案、籌措油料保障力量、制定油料調(diào)運(yùn)計(jì)劃、組織補(bǔ)給加注活動(dòng)提供基本依據(jù),促進(jìn)保障能力生成和作戰(zhàn)效能發(fā)揮。
戰(zhàn)時(shí)油料需求預(yù)測(cè)面臨諸多挑戰(zhàn),最為棘手的困難可以從兩個(gè)方面概括。一方面,若基于潛在任務(wù)和消耗標(biāo)準(zhǔn)計(jì)算、匯總油料需求,原理易懂、過程簡單,但現(xiàn)實(shí)中油料保障部門往往無法準(zhǔn)確掌握潛在作戰(zhàn)任務(wù),缺乏進(jìn)行詳算的依據(jù);不同層級(jí)的油料需求分別詳算后,欠缺統(tǒng)一的匯總標(biāo)準(zhǔn),在逐級(jí)傳遞過程中容易出現(xiàn)需求放大效應(yīng),向上傳遞的效率也有待提高;若由戰(zhàn)區(qū)相關(guān)部門統(tǒng)一詳算油料需求,計(jì)算結(jié)果對(duì)戰(zhàn)役層面后勤謀劃具有一定意義,但不能直接指導(dǎo)任務(wù)部隊(duì)油料保障實(shí)踐。另一方面,若基于歷史數(shù)據(jù)和先進(jìn)算法進(jìn)行預(yù)測(cè),對(duì)油料消耗歷史數(shù)據(jù)的完整性、規(guī)模性和可靠性要求很高,然而我軍油料數(shù)據(jù)體系建設(shè)尚不完善,主要是實(shí)戰(zhàn)背景下生成的數(shù)據(jù)難以獲得,只能通過實(shí)戰(zhàn)化演訓(xùn)生成與今后實(shí)戰(zhàn)近似的數(shù)據(jù);同時(shí)對(duì)數(shù)據(jù)重視程度不夠,缺少剛性的油料數(shù)據(jù)采集機(jī)制,導(dǎo)致演訓(xùn)相關(guān)數(shù)據(jù)未能有效收集、傳遞和存儲(chǔ),缺乏必要的歷史數(shù)據(jù)已成為油料需求預(yù)測(cè)工作的掣肘。
軍內(nèi)外學(xué)者對(duì)于油料需求預(yù)測(cè)問題進(jìn)行了嘗試和探索。楊曉峰[1]提出推動(dòng)大數(shù)據(jù)在軍用油料供應(yīng)保障中的應(yīng)用,對(duì)利用大數(shù)據(jù)預(yù)測(cè)油料需求進(jìn)行了初步思考;王冰[2]對(duì)主流的科學(xué)預(yù)測(cè)方法進(jìn)行歸納總結(jié),從適用條件、優(yōu)勢(shì)劣勢(shì)等方面分別考量,提出油料需求預(yù)測(cè)策略;李忠國[3]總結(jié)基于潛在任務(wù)和消耗標(biāo)準(zhǔn)的需求計(jì)算方法,與當(dāng)前經(jīng)驗(yàn)做法相契合;吳書金[4~5]對(duì)模糊推理方法進(jìn)行改進(jìn),用于預(yù)測(cè)多種油品需求;樊榮[6]、陸思錫[7]等提出用支持向量機(jī)對(duì)軍種油料需求進(jìn)行預(yù)測(cè);周慶忠[8]、陸思錫[9]、夏秀峰[10]、楊祺煊[11]等提出不同方法改進(jìn)神經(jīng)網(wǎng)絡(luò),一定程度上提高了神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)油料需求的精度;此外,還有學(xué)者提出運(yùn)用灰色理論[12]、小波分析[13]、隨機(jī)時(shí)間序列[14]、改進(jìn)粒子群算法[15]等預(yù)測(cè)油料需求的思路。
誤差反向傳播神經(jīng)網(wǎng)絡(luò)(簡稱BP神經(jīng)網(wǎng)絡(luò),BPNN)屬于多層前饋神經(jīng)網(wǎng)絡(luò),具有柔性的網(wǎng)絡(luò)結(jié)構(gòu),通常由輸入層、隱含層、輸出層構(gòu)成,隱含層可以是單層或多層,且單層最為常見,隱含層數(shù)量、各層神經(jīng)元數(shù)量可按照需求設(shè)定,不同結(jié)構(gòu)的BPNN,其性能有所差異,以三層的BPNN為例,基本結(jié)構(gòu)如圖1所示。

圖1 BPNNN基本結(jié)構(gòu)
隱含層的輸入、輸出分別為

輸出層的輸入、輸出分別為

輸入層、隱含層和輸出層分別對(duì)應(yīng)n、h、m個(gè)神經(jīng)元,wij是輸入層第i個(gè)神經(jīng)元對(duì)應(yīng)隱含層第 j個(gè)神經(jīng)元的權(quán)值,vjk是隱含層第 j個(gè)神經(jīng)元對(duì)應(yīng)輸出層第k個(gè)神經(jīng)元的權(quán)值,θ1j和θ2k分別是隱含層第 j個(gè)神經(jīng)元和輸出層第k個(gè)神經(jīng)元的閾值,f(x)為隱含層的激活函數(shù),?(x)為輸出層激活函數(shù)。
BPNN通過信號(hào)前向傳播和誤差反向傳播,不斷修正權(quán)值和閾值,使輸出結(jié)果誤差最小。信號(hào)前向傳播階段,輸入信號(hào)經(jīng)過隱含層作用于輸出層,輸入信號(hào)經(jīng)非線性變換產(chǎn)生輸出信號(hào),若網(wǎng)絡(luò)輸出和期望輸出不一致,進(jìn)入誤差反向傳播階段。誤差反向傳播階段,輸出誤差經(jīng)過隱含層向輸入層傳遞,同時(shí)把誤差分?jǐn)傊粮鲗铀?jié)點(diǎn),將各層誤差信號(hào)當(dāng)作各神經(jīng)元權(quán)值調(diào)整依據(jù)。通過學(xué)習(xí)訓(xùn)練,調(diào)整輸入節(jié)點(diǎn)與隱層節(jié)點(diǎn)之間聯(lián)接強(qiáng)度wij、隱層節(jié)點(diǎn)與輸出節(jié)點(diǎn)之間聯(lián)接強(qiáng)度vjk以及閾值(θ1j、θ2k),促使誤差沿梯度方向下降,以期使網(wǎng)絡(luò)輸出和期望輸出差別最小。
遺傳算法(GA)是一種模擬生物進(jìn)化過程的最優(yōu)解搜索技術(shù),該算法包括編碼、選擇、交叉、變異、解碼等關(guān)鍵步驟,以適應(yīng)度函數(shù)為目標(biāo)進(jìn)行優(yōu)化,通過種群個(gè)體迭代,不斷趨近優(yōu)化目標(biāo),具有運(yùn)行高效、能夠并行、全局搜索等特點(diǎn),是一種求解復(fù)雜系統(tǒng)優(yōu)化問題的通用框架,廣泛用于目標(biāo)函數(shù)優(yōu)化和組合優(yōu)化等,GA實(shí)現(xiàn)步驟如圖2所示。

圖2 GA實(shí)現(xiàn)步驟
BPNN的優(yōu)勢(shì)在于較強(qiáng)的非線性映射能力,劣勢(shì)在于容易陷入局部最優(yōu)解,影響需求預(yù)測(cè)能力。為此,本文將使用GA優(yōu)化BPNN權(quán)值和閾值,提升模型對(duì)油料需求的預(yù)測(cè)精度,實(shí)現(xiàn)步驟如圖3所示。

圖3 GA-BPNN實(shí)現(xiàn)步驟
初始種群產(chǎn)生。隨機(jī)產(chǎn)生一定規(guī)模的初始種群,進(jìn)行實(shí)數(shù)(浮點(diǎn)數(shù))編碼,個(gè)體的每個(gè)基因值用一定范圍內(nèi)的某個(gè)浮點(diǎn)數(shù)來表示,個(gè)體的編碼長度N 根據(jù)式(5)計(jì)算[16]:

其中,權(quán)值個(gè)數(shù)為n×h+h×m,閾值個(gè)數(shù)為h+m。
種群適應(yīng)度函數(shù)。適應(yīng)度函數(shù)是遺傳進(jìn)化過程的驅(qū)動(dòng)力,本文將適應(yīng)度函數(shù)設(shè)置為BPNN預(yù)測(cè)輸出值和實(shí)際值之間的均方誤差(Mean Square Er?ror,MSE)。

選擇操作。通過選擇操作實(shí)現(xiàn)群體中個(gè)體優(yōu)勝劣汰。輪盤賭選擇,個(gè)體進(jìn)入下一代的概率等于其適應(yīng)度值與整個(gè)種群所有個(gè)體的適應(yīng)度值之和的比例,該比例與被選中概率呈現(xiàn)反向關(guān)系。最佳保留選擇,在完成輪盤賭選擇后,將當(dāng)前群體里適應(yīng)度最小的個(gè)體保留至下一代。
交叉操作。兩個(gè)染色體之間依據(jù)交叉概率按某種方式互相交換部分基因,形成兩個(gè)新的個(gè)體。本文采用兩點(diǎn)交叉方式,在個(gè)體編碼串中隨機(jī)設(shè)置了兩個(gè)交叉點(diǎn),然后再進(jìn)行部分基因交換[17]。
變異操作。依據(jù)變異概率將個(gè)體編碼串中的某些基因值用其它基因值來替換,從而形成一個(gè)新的個(gè)體。變異運(yùn)算決定了GA的局部搜索能力,與交叉運(yùn)算共同完成對(duì)搜索空間的局部搜索和全局搜索。本文實(shí)行高斯近似變異,使用符合正態(tài)分布的一個(gè)隨機(jī)數(shù)來替換原有的基因值。
油料需求數(shù)據(jù)來源解釋。為驗(yàn)證遺傳神經(jīng)網(wǎng)絡(luò)(GA-BPNN)預(yù)測(cè)效果,更好地與其它模型進(jìn)行對(duì)比,本文選取公開文獻(xiàn)[18]所列數(shù)據(jù)進(jìn)行研究。該數(shù)據(jù)集包含25組數(shù)據(jù),每組數(shù)據(jù)由4個(gè)自變量(裝備數(shù)量、任務(wù)時(shí)長、環(huán)境狀況量、任務(wù)強(qiáng)度量)和1個(gè)因變量(油料需求)構(gòu)成,其中環(huán)境狀況量化為9個(gè)等級(jí),無量綱,任務(wù)強(qiáng)度量化為3個(gè)等級(jí),無量綱,如表1所示。
訓(xùn)練集和測(cè)試集劃分。表1所列數(shù)據(jù)為隨機(jī)排序,將前20組數(shù)據(jù)劃分為訓(xùn)練樣本,用于GA-BPNN訓(xùn)練,最后5組數(shù)據(jù)用于檢驗(yàn)預(yù)測(cè)效果,驗(yàn)證模型泛化能力。

表1 任務(wù)情況和油料需求歷史數(shù)據(jù)
數(shù)據(jù)歸一化處理。鑒于影響油料需求的各個(gè)變量具有不同的量綱和數(shù)量級(jí),使用神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),必須將樣本數(shù)據(jù)進(jìn)行歸一化處理,把原始數(shù)據(jù)映射到[0,1]區(qū)間,轉(zhuǎn)化為無量綱的純數(shù)值,避免造成預(yù)測(cè)誤差,本文采取最大最小歸一化方法(min-max normalization)[19]:

xmin、xmax分別為原始樣本數(shù)據(jù)的最小值和最大值,xi為原始數(shù)據(jù),xi'為處理后的數(shù)據(jù)。
網(wǎng)絡(luò)結(jié)構(gòu)和隱含層節(jié)點(diǎn)數(shù)。具有三層結(jié)構(gòu)的BPNN能夠逼近絕大多數(shù)復(fù)雜的非線性映射,因而使用三層BPNN進(jìn)行油料需求預(yù)測(cè)。由于BPNN的預(yù)測(cè)性能對(duì)隱含層節(jié)點(diǎn)數(shù)較為敏感,本文首先根據(jù)經(jīng)驗(yàn)公式確定隱含層節(jié)點(diǎn)數(shù)取值范圍[19]:

其中,a為[1,10]內(nèi)的整數(shù)。
爾后,計(jì)算不同隱含層節(jié)點(diǎn)數(shù)對(duì)應(yīng)的訓(xùn)練集MSE,MSE的值越小,模型性能越好。
計(jì)算結(jié)果如表2所示,最佳的隱含層節(jié)點(diǎn)數(shù)為4,對(duì)應(yīng)的訓(xùn)練集MSE為4.7578×10-3。

表2 隱含層節(jié)點(diǎn)數(shù)與訓(xùn)練集均方誤差
BPNN和GA關(guān)鍵參數(shù)設(shè)置。經(jīng)過數(shù)據(jù)預(yù)先處理,分析數(shù)據(jù)特點(diǎn),逐一設(shè)置相關(guān)參數(shù),如表3所示。

表3 GA-BPNN參數(shù)設(shè)置
激活函數(shù)和訓(xùn)練算法。隱含層激活函數(shù)選擇雙曲正切S型傳輸函數(shù)(tansig),輸出層的激活函數(shù)采用線性傳輸函數(shù)(puerlin)[20]。我們采用增加動(dòng)量的梯度下降法(Levenberg-Marquardt,L-M)進(jìn)行訓(xùn)練,L-M具有收斂速度快、避免陷入局部極值的優(yōu)點(diǎn)。
油料需求預(yù)測(cè)結(jié)果輸出。使用測(cè)試集數(shù)據(jù)對(duì)訓(xùn)練好的GA-BPNN進(jìn)行測(cè)試,將預(yù)測(cè)油料需求與實(shí)際油料需求進(jìn)行對(duì)比,如表4所示。

表4 BPNN和GA-BPNN預(yù)測(cè)結(jié)果和絕對(duì)誤差
優(yōu)化前后預(yù)測(cè)結(jié)果對(duì)比。由表4可知,GA-BPNN平均絕對(duì)誤差(mean absolute error,MAE)為48.1,BPNN平均絕對(duì)誤差為79.7。與此同時(shí),從圖4可以看出,GA-BPNN需求預(yù)測(cè)曲線對(duì)于真實(shí)需求曲線擬合更好,與真實(shí)需求曲線非常接近。由此說明,通過GA賦予BPNN最優(yōu)的初始閥值和權(quán)值,可以提高BPNN的預(yù)測(cè)準(zhǔn)確度。

圖4 BPNN優(yōu)化前后預(yù)測(cè)結(jié)果與實(shí)際需求
模型預(yù)測(cè)性能評(píng)價(jià)指標(biāo)選取。平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)是預(yù)測(cè)模型性能評(píng)判常用標(biāo)準(zhǔn)之一,將其選作油料需求GA-BPNN預(yù)測(cè)模型性能評(píng)價(jià)指標(biāo)。

MAPE是一個(gè)百分比值,取值越小模型準(zhǔn)確度越高,0代表模型完美,大于100%時(shí)模型拙劣。
不同模型預(yù)測(cè)結(jié)果對(duì)比分析。為進(jìn)行油料需求預(yù)測(cè),文獻(xiàn)[18]中提出ELM和SB-ELM模型,文獻(xiàn)[21]中提出 SVR和 NRS-SVR模型,現(xiàn)將GA-BPNN與上述模型進(jìn)行比較,如表5所示。

表5 不同預(yù)測(cè)模型平均絕對(duì)百分比誤差
GA-BPNN預(yù)測(cè)油料需求性能評(píng)價(jià)。即使本文所用數(shù)據(jù)僅有25條,可能存在訓(xùn)練不充分的情況,但從表5中可以看出,GA-BPNN的MAPE僅為1.16%,比其它模型的MAPE小,說明GA-BPNN模型具有更好的預(yù)測(cè)精度,在實(shí)踐層面這一誤差也是可以接受的,符合作戰(zhàn)油料需求精準(zhǔn)預(yù)測(cè)要求,具有良好的實(shí)戰(zhàn)應(yīng)用價(jià)值。
由于作戰(zhàn)油料需求歷史數(shù)據(jù)稀缺,本文使用文獻(xiàn)[18]所列數(shù)據(jù)進(jìn)行研究,依據(jù)裝備數(shù)量、持續(xù)時(shí)長、環(huán)境狀況、任務(wù)強(qiáng)度這四個(gè)自變量預(yù)測(cè)油料需求。個(gè)別學(xué)者為了提升油料需求預(yù)測(cè)準(zhǔn)確度,考慮了更多的需求影響因素,文獻(xiàn)[22]根據(jù)9個(gè)自變量進(jìn)行預(yù)測(cè)。在進(jìn)行油料需求預(yù)測(cè)時(shí),考慮更多的影響因素能夠在一定程度上提升預(yù)測(cè)精度,但這些影響因素之間可能存在相關(guān)性,可使用因子分析(fac?tor analysis,F(xiàn)A)對(duì)眾多影響因素進(jìn)行降維,從變量群中提取出隱性的公共因子,計(jì)算因子得分用于需求預(yù)測(cè),從而降低數(shù)據(jù)維度,提升預(yù)測(cè)速率和精度。
伴隨著大數(shù)據(jù)技術(shù)的普及推廣,相信在不久的將來,軍事領(lǐng)域數(shù)據(jù)建設(shè)將取得突破,油料消耗數(shù)據(jù)體系也將日漸完善,大量可靠的歷史數(shù)據(jù)將會(huì)快速積累起來。屆時(shí),基于堅(jiān)實(shí)的數(shù)據(jù)基礎(chǔ),能夠訓(xùn)練出更加高效、精確的油料需求預(yù)測(cè)神經(jīng)網(wǎng)絡(luò)模型,有效支撐油料保障活動(dòng)組織籌劃和聯(lián)合作戰(zhàn)后勤指揮決策。