崔乃丹
(陜西鐵路工程職業(yè)技術(shù)學(xué)院,陜西渭南 714000)
預(yù)測(cè)高鐵客運(yùn)量是合理調(diào)用列車(chē)資源、提高運(yùn)行效率的一項(xiàng)必要手段,對(duì)于高鐵項(xiàng)目建設(shè)的經(jīng)濟(jì)評(píng)估、經(jīng)營(yíng)管理策略的制定以及鐵路內(nèi)部投資結(jié)構(gòu)調(diào)整都有著不可替代的重要作用[1-2]。在以往的研究中,郎志峰通過(guò)BP神經(jīng)網(wǎng)絡(luò)算法建立了IOWA組合預(yù)測(cè)模型,并對(duì)寶中鐵路平?jīng)瞿现林行l(wèi)段擴(kuò)能改造運(yùn)量做出了較為精準(zhǔn)的預(yù)測(cè),但該算法仍然存在收斂速度慢、易陷入局部極小值等問(wèn)題[3]。因此,本次研究基于粒子群優(yōu)化算法與BP 神經(jīng)網(wǎng)絡(luò)同時(shí)應(yīng)用于高鐵客運(yùn)量預(yù)測(cè),進(jìn)一步縮小預(yù)測(cè)誤差。
在粒子群優(yōu)化算法中,每一個(gè)粒子都對(duì)應(yīng)一個(gè)待優(yōu)化問(wèn)題的可能解,同時(shí)具有決定其飛行方向和移動(dòng)距離的“速度”以及一個(gè)由目標(biāo)函數(shù)所確定的適應(yīng)度值。處于搜索空間中的粒子根據(jù)個(gè)體及群體飛行經(jīng)驗(yàn)來(lái)對(duì)最優(yōu)粒子所在位置進(jìn)行搜尋,并通過(guò)多次迭代的方式來(lái)尋找最優(yōu)解。粒子的個(gè)體飛行經(jīng)驗(yàn)和群體飛行經(jīng)驗(yàn)分別是由個(gè)體極值pbest和全局極值gbest決定的,粒子在對(duì)個(gè)體極值和全局極值進(jìn)行追蹤的過(guò)程中實(shí)現(xiàn)對(duì)自身的更新,最終獲取最優(yōu)解[4-6]。
假設(shè)在包含有m 個(gè)粒子的目標(biāo)搜索空間N中,以zi=(zi1,zi2,…,ziN)來(lái)表示第i個(gè)粒子的當(dāng)前位置,以vi=(vi1,vi2,…,viN)來(lái)表示第i個(gè)粒子的當(dāng)前速度,根據(jù)當(dāng)前粒子的位置和速度可以確定粒子當(dāng)前的適應(yīng)度。以pi=(pi1,pi2,…,piN)表示第i個(gè)粒子所經(jīng)歷的最佳位置,以pg=(pg1,pg2,…,pgN)表示整個(gè)粒子群所經(jīng)歷的最佳位置,更新粒子速度和位置的處理方法如下:
公式(1)將空間維數(shù)記為n=1,2…,N;將粒子個(gè)數(shù)記為i=1,2…,m;將慣性權(quán)重記為ω;將當(dāng)前迭代次數(shù)記為t;c1、c2為加速常數(shù),即學(xué)習(xí)因子;r1、r2為取值范圍在(0,1)之間的均勻隨機(jī)數(shù)。
粒子群優(yōu)化算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的高鐵客運(yùn)量預(yù)測(cè)流程如圖1所示。
圖1 高鐵客運(yùn)量預(yù)測(cè)算法流程
本次研究所設(shè)計(jì)的高鐵客運(yùn)量預(yù)測(cè)算法的具體步驟如下。
Step 1:樣本數(shù)據(jù)預(yù)處理
由于模型中輸入的數(shù)據(jù)通常情況下會(huì)存在較大的差異,因此本次研究在進(jìn)行網(wǎng)絡(luò)訓(xùn)練之前首先對(duì)高鐵客運(yùn)量數(shù)據(jù)進(jìn)行預(yù)處理,通過(guò)歸一化中的最大最小法消除各維度數(shù)據(jù)之間的量級(jí)差,即將所有數(shù)據(jù)轉(zhuǎn)換為[0,1]之前的數(shù),計(jì)算公式如下:
公式(1)將第i個(gè)樣本數(shù)據(jù)記為xi,將樣本數(shù)據(jù)的最大、最小值分別記為xmax、xmin。
Step 2:初始化BP神經(jīng)網(wǎng)絡(luò)
依照輸入層、輸出層、隱含層的神經(jīng)元個(gè)數(shù)確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其閾值和連接權(quán)數(shù)對(duì)應(yīng)粒子群優(yōu)化算法中粒子的維數(shù)。本次研究假定BP 網(wǎng)絡(luò)結(jié)構(gòu)為P—Q—1,其中P代表輸入層節(jié)點(diǎn)數(shù),Q代表隱含層節(jié)點(diǎn)數(shù),同時(shí)將高鐵客運(yùn)量設(shè)定為輸出節(jié)點(diǎn),因此則有搜索空間維度數(shù)D=(P+1)×Q+(P+1)。
Step 3:確定BP網(wǎng)絡(luò)初始閾值、連接權(quán)值與學(xué)習(xí)算法參數(shù)
粒子群粒子的速度與初始閾值及連接權(quán)值相對(duì)應(yīng),學(xué)習(xí)因子c1和c2的取值范圍通常為[1,2.5]。
Step 4:粒子位置與速度的初始化
由于本次研究中BP神經(jīng)網(wǎng)絡(luò)的閾值與連接權(quán)值初始化范圍為[0,1],因此將粒子位置與速度初始化為[0,1]之間的常數(shù)。
Step 5:對(duì)粒子的適應(yīng)度值進(jìn)行計(jì)算
計(jì)算粒子適應(yīng)度值的方法具體如下:
Step 6:對(duì)比各個(gè)粒子的適應(yīng)度值,進(jìn)而獲取個(gè)體的全局極值與個(gè)體極值,處理方法具體如下:
當(dāng)Present≤pbest時(shí),pbest=zi,否則pbest不變;
當(dāng)Present≤gbest時(shí),gbest=zi,否則gbest不變;
上式將粒子的個(gè)體極值記為pbest,將粒子的全局極值記為gbest,并以Present來(lái)表示當(dāng)前的粒子適應(yīng)度。
Step 7:對(duì)各個(gè)粒子的位置和速度進(jìn)行更新
通過(guò)公式(1)對(duì)粒子位置和速度進(jìn)行更新。
Step 8:對(duì)新粒子適應(yīng)度值進(jìn)行計(jì)算
新粒子適應(yīng)度值的計(jì)算方法與Step5相同。
Step 9:對(duì)個(gè)體極值和全局極值進(jìn)行更新
在完成新粒子適應(yīng)度值的計(jì)算后,與優(yōu)化迭代前的適應(yīng)度值進(jìn)行對(duì)比,進(jìn)而更新粒子的個(gè)體極值和全局極值。
Step 10:完成迭代
在滿足誤差要求或達(dá)到迭代最高次數(shù)的情況下結(jié)束迭代,若不符合這兩項(xiàng)要求,須回到Step5重新進(jìn)行迭代。
Step 11:獲取最優(yōu)解
完成迭代后獲取BP 網(wǎng)絡(luò)的初始連接閥值和權(quán)值,充分訓(xùn)練經(jīng)過(guò)改進(jìn)的BP神經(jīng)網(wǎng)絡(luò),最終獲得高鐵客運(yùn)量預(yù)測(cè)模型[7-11]。
本次研究根據(jù)實(shí)際問(wèn)題的需要,將群體規(guī)模設(shè)置30,將微粒的慣性權(quán)重ω設(shè)置在區(qū)間[0.4,0.9]之間隨迭代次數(shù)線性遞減,將加速常數(shù)c1與c2設(shè)置為2,將群體規(guī)模設(shè)置為30,最大循環(huán)迭代次數(shù)為200 次。利用Matlab 軟件輸出網(wǎng)絡(luò)訓(xùn)練過(guò)程中最優(yōu)個(gè)體的適應(yīng)度變化曲線,該曲線如圖2所示。
圖2 最優(yōu)個(gè)體適應(yīng)度圖
根據(jù)圖2可知,粒子群優(yōu)化算法在迭代過(guò)程中,粒子適應(yīng)度誤差不變縮小,本次研究所設(shè)置的參數(shù)具有充分的合理性。
本次研究根據(jù)“中國(guó)統(tǒng)計(jì)年鑒網(wǎng)”所提供的2008—2016年間高鐵客運(yùn)量數(shù)據(jù)來(lái)衡量預(yù)測(cè)結(jié)果的準(zhǔn)確性。在利用粒子群優(yōu)化算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的預(yù)測(cè)算法獲取預(yù)測(cè)結(jié)果之后,將所獲取的結(jié)果與常規(guī)BP 模型所給出的預(yù)測(cè)結(jié)果進(jìn)行對(duì)比。對(duì)比結(jié)果如表1所示。
表1 兩種算法計(jì)算結(jié)果對(duì)比
兩種算法相對(duì)誤差對(duì)比結(jié)果如圖3所示。
根據(jù)圖3可知,兩種算法在2008年均出現(xiàn)較大誤差,其原因主要在于高速鐵路在建成運(yùn)營(yíng)初期客運(yùn)量較少,樣本數(shù)量不足,因此相對(duì)誤差較大,但群優(yōu)化算法結(jié)合BP神經(jīng)網(wǎng)絡(luò)算法相比于常規(guī)BP 神經(jīng)網(wǎng)絡(luò)算法在2008 和2009年的誤差明顯較低,對(duì)于相應(yīng)的樣本數(shù)量級(jí)有明顯優(yōu)勢(shì),適應(yīng)于某一地區(qū)高鐵客運(yùn)量的預(yù)測(cè)工作。
圖3 兩種算法相對(duì)誤差對(duì)比結(jié)果
本次研究詳細(xì)介紹了粒子群優(yōu)化算法的基本原理,并通過(guò)粒子群優(yōu)化算法對(duì)BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化與訓(xùn)練,進(jìn)一步提升了BP 神經(jīng)網(wǎng)絡(luò)算法的預(yù)測(cè)精度,尤其是在樣本數(shù)量較少的情況下可以輸出更加準(zhǔn)確的預(yù)測(cè)結(jié)果。