李朝輝,董 珊,李文立
(1. 大連海事大學(xué)航運(yùn)經(jīng)濟(jì)與管理學(xué)院,遼寧 大連 116026;2. 大連理工大學(xué)經(jīng)濟(jì)與管理學(xué)院,遼寧 大連 116023)
隨著全球化貿(mào)易的飛速發(fā)展,航運(yùn)集裝箱周轉(zhuǎn)量急劇增長(zhǎng),如何合理高效利用港口資源成為各港口進(jìn)行未來規(guī)劃時(shí)面臨的主要難題之一。制定科學(xué)高效的泊位計(jì)劃成為提高港口運(yùn)轉(zhuǎn)效率和服務(wù)水平的主要措施。
在泊時(shí)間是制定泊位計(jì)劃的一個(gè)重要依據(jù),李長(zhǎng)安等[1]以船舶總在港時(shí)間作為泊位調(diào)度的目標(biāo)函數(shù),并用改進(jìn)的灰狼算法進(jìn)行船舶調(diào)度的優(yōu)化;靳志宏等[2]對(duì)船舶在港時(shí)間構(gòu)建非線性模型優(yōu)化并通過遺傳算法求解。在計(jì)算預(yù)計(jì)在泊時(shí)間時(shí),Golias[3]和Han假設(shè)已知在泊時(shí)間分布的概率密度;曾慶成等[5]用船舶裝卸箱量除以岸橋裝卸效率;Karafa等[6]將以往數(shù)據(jù)中船舶的延誤概率作為概率函數(shù)計(jì)算船舶在泊時(shí)間;宋云婷等[7]對(duì)集裝箱到達(dá)時(shí)間以及在泊時(shí)間的偏差規(guī)律進(jìn)行統(tǒng)計(jì)驗(yàn)證。
上述研究模型和方法往往是面向船舶裝卸時(shí)間固定不變的確定性環(huán)境,而在實(shí)際港口作業(yè)調(diào)度中會(huì)面臨許多不確定性因素,例如:船舶類型、天氣狀況、靠泊時(shí)刻和裝卸箱量等。謝鑫等[8]考慮多種不確定性因素,對(duì)在泊裝卸時(shí)間進(jìn)行波動(dòng)處理;王軍等[9]提出用標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)船舶在泊時(shí)間;韓宗壘等[10]通過遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)提高了在泊時(shí)間的預(yù)測(cè)精度。雖然BP神經(jīng)網(wǎng)絡(luò)在具備大量樣本和參數(shù)合適的情況下能夠使預(yù)測(cè)結(jié)果較為精確, 但在實(shí)際使用時(shí), 仍存在參數(shù)較難確定、預(yù)測(cè)結(jié)果不穩(wěn)定、收斂速度慢等問題。
鑒于以上問題,本文綜合考慮影響集裝箱船在泊時(shí)間的因素,在原始數(shù)據(jù)樣本上進(jìn)行主成分分析(principal component analysis,PCA),剔除冗余信息;并引入極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)進(jìn)行訓(xùn)練和預(yù)測(cè),同時(shí)針對(duì)傳統(tǒng)極限學(xué)習(xí)機(jī)存在輸入權(quán)值與閾值隨機(jī)給定導(dǎo)致預(yù)測(cè)結(jié)果精度低的問題,使用非線性參數(shù)動(dòng)態(tài)控制的改進(jìn)粒子群算法(Improved particle swarm optimization,IPSO)進(jìn)行優(yōu)化,建立基于PCA-IPSO-ELM的集裝箱船在泊時(shí)間預(yù)測(cè)模型;并通過對(duì)比實(shí)驗(yàn)分析驗(yàn)證模型的可行性。
2.1.1 主成分分析(PCA)
主成分分析基于正交變換,把存在關(guān)聯(lián)性的多個(gè)變量變換成線性幾乎不相關(guān)且個(gè)數(shù)較少的幾個(gè)綜合變量,最終得出作為主成分的數(shù)個(gè)綜合變量。得到的主成分作為新變量不但個(gè)數(shù)減少,還能更直觀地反映原來數(shù)據(jù)的主要信息,有利于進(jìn)行多元統(tǒng)計(jì)分析,簡(jiǎn)化研究過程。
主成分分析的主要步驟可分為:
1)數(shù)據(jù)標(biāo)準(zhǔn)化。用zscore函數(shù)進(jìn)行標(biāo)準(zhǔn)化,函數(shù)如下所示
(1)
其中,z為標(biāo)準(zhǔn)化結(jié)果,x為樣本的數(shù)據(jù),u為x所在列的均值,σ為x所在列的標(biāo)準(zhǔn)差。
2)計(jì)算X的相關(guān)系數(shù)矩陣。
(2)
其中,rij表示指標(biāo)i與指標(biāo)j的相關(guān)系數(shù),計(jì)算公式如下
(3)
3)計(jì)算特征方程|λE-R|=0,算出特征值λj(j=1,2,…,p)和特征向量E。
4)計(jì)算主成分F1,F2,…,Fp貢獻(xiàn)率及累計(jì)貢獻(xiàn)率。使用累計(jì)貢獻(xiàn)率達(dá)到85%的主成分,基本可以包含數(shù)據(jù)的主要信息特征。
主成分貢獻(xiàn)率為Qj,其計(jì)算公式如下所示:
(4)
(5)
5)計(jì)算主成分得分
主成分得分的計(jì)算公式為
(aj1,aj2,…,ajp)(z1,z2,…,zp)T(j=1,2,…,m)
(6)
其中,z1,z2,…,zp為zscore標(biāo)準(zhǔn)化后的樣本數(shù)據(jù),aj1,aj2,…,ajp為前m個(gè)主成分系數(shù)。
2.1.2 極限學(xué)習(xí)機(jī)(ELM)
極限學(xué)習(xí)機(jī)是一種單隱含層前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,該算法通過計(jì)算廣義逆矩陣得到神經(jīng)網(wǎng)絡(luò),其中,隱含層與輸入層之間的連接權(quán)值隨機(jī)產(chǎn)生,訓(xùn)練過程中無須對(duì)權(quán)值進(jìn)行多次調(diào)整,只需要設(shè)置完成隱含層神經(jīng)元個(gè)數(shù),即可獲得全局唯一的最優(yōu)解。極限學(xué)習(xí)機(jī)是針對(duì)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)易陷入局部最小值、訓(xùn)練速度有限制等缺陷提出的新算法,簡(jiǎn)化了學(xué)習(xí)參數(shù)的設(shè)置,提升學(xué)習(xí)速度、泛化性能較好。
極限學(xué)習(xí)機(jī)的主要步驟可分為:
1)數(shù)據(jù)歸一化;
2)根據(jù)Kosmogorov定理設(shè)置3層網(wǎng)絡(luò)結(jié)構(gòu),其中隱含層神經(jīng)元個(gè)數(shù)計(jì)算如下
(7)
其中,l為隱含層數(shù)目,n為輸入層數(shù)目,m為輸出層數(shù)目,a為常數(shù),取值范圍一般為[1,10]之間;
3)隨機(jī)產(chǎn)生輸入層和隱含層之間的權(quán)值和閾值。代入輸入矩陣,計(jì)算隱含層的輸出矩陣H,其計(jì)算如下
(8)
其中,ωi為輸入權(quán)值,bi為第i個(gè)隱含層的閾值,g(x)為激活函數(shù);
本文采用sigmoid函數(shù)作為在泊時(shí)間預(yù)測(cè)模型的激活函數(shù)。sigmoid函數(shù)的公式如下所示
(9)
神經(jīng)網(wǎng)絡(luò)的輸出T為T=[t1,t2,…,tG]mG,G為樣本個(gè)數(shù),m為輸出變量,其中tj的計(jì)算公式如下
(10)
其中,βi為輸出權(quán)值;
4)通過求解方程組β=H+T,得到輸出權(quán)值矩陣β。
2.2.1 粒子群優(yōu)化算法(PSO)
粒子群算法(particle swarm optimization,PSO)源于模仿鳥群的飛行、覓食行為,是一種有效的基于群體智能理論的全局尋優(yōu)方法。在算法中,每個(gè)解都稱為搜索空間的一個(gè)“粒子”,描述粒子特征的指標(biāo)有:位置、速度以及適應(yīng)度值。每一個(gè)粒子的適應(yīng)度值表示其目前位置的好壞,根據(jù)式(11)、(12)更新粒子的位置與速度,粒子每次更新都要重新計(jì)算適應(yīng)度值、確定個(gè)體極值和群體極值,一直反復(fù)迭代,以達(dá)到獲取全局最優(yōu)解。
Vkd(t+1)=ωVkd+c1r1[Pbestkd(t)-Xkd(t)]
+c2r2[Gbestkd(t)-Xkd(t)]
(11)
Xkd(t+1)=Xkd(t)+Vkd(t+1)
(12)
式中:Vkd(t+1)為粒子k在第t+1次迭代中第d維的速度;ω為慣性權(quán)重;c1,c2為學(xué)習(xí)因子,r1,r2為[0, 1]范圍內(nèi)的隨機(jī)數(shù);Pbestkd(t)、Gbestkd表示粒子k在個(gè)體及群體中的極值位置。
2.2.2 慣性權(quán)重的動(dòng)態(tài)調(diào)整
粒子群優(yōu)化算法的關(guān)鍵在于平衡全局探索能力和局部開發(fā)能力。式(11)中慣性權(quán)重ω描述粒子上一代速度對(duì)當(dāng)前代速度的影響,是協(xié)調(diào)全局和局部尋優(yōu)能力的重要參數(shù)。ω值較大,全局尋優(yōu)能力強(qiáng),局部尋優(yōu)能力弱;反之,則局部尋優(yōu)能力強(qiáng)?;镜腜SO算法選用固定慣性因子ω,在尋優(yōu)能力上存在局限性,常用的PSO慣性權(quán)重分配策略是線性遞減方法,如式(13),其中ωmax、ωmin一般取0.9、0.4,t為當(dāng)前迭代次數(shù),Tmax為最大迭代次數(shù)。
(13)
采用ω線性遞減的粒子群算法(LDPSO)加入了迭代次數(shù)這一變量,在迭代初期有較強(qiáng)的全局搜索能力,后期具有較強(qiáng)的局部搜索能力。但是由于ω隨迭代次數(shù)增加而逐步遞減,算法后期會(huì)出現(xiàn)因慣性權(quán)重過小而無法探索新區(qū)域、收斂速度過慢且極易陷入局部極值的情況,因此本文提出采用動(dòng)態(tài)非線性變化慣性因子增強(qiáng)PSO算法的尋優(yōu)能力。ω計(jì)算公式如下
ω=ωmax-(ωmax-ωmin)*arctan(t/Tmax)k
(14)
其中ωmax和ωmin分別表示最大和最小慣性權(quán)重;t表示當(dāng)前迭代次數(shù),Tmax為最大迭代次數(shù);k為控制ω曲線平滑度的平滑因子,取值0.7。
2.2.3 學(xué)習(xí)因子的動(dòng)態(tài)調(diào)整
在PSO算法中,學(xué)習(xí)因子c1、c2主要用于調(diào)整粒子移動(dòng)到個(gè)體最優(yōu)和全局最優(yōu)的步長(zhǎng),而現(xiàn)有研究中通常是將c1、c2考慮為固定值,存在一定的尋優(yōu)局限性。為提高早期全局探索能力和后期的局部探索能力,需使c1值由大變小,c2的值由小變大。因此,本文采用非線性變化方式對(duì)學(xué)習(xí)因子c1、c2進(jìn)行改進(jìn),如式(15)所示
(15)
其中,t表示當(dāng)前迭代次數(shù),Tmax為最大迭代次數(shù);m為控制c1,c2曲線平滑度的平滑因子,取值2。經(jīng)過改進(jìn),c1,c2可以隨著迭代次數(shù)的增加相應(yīng)的非線性變動(dòng),獲得更好的尋優(yōu)效果。
2.2.4 改進(jìn)粒子群算法(IPSO)的有效性驗(yàn)證
為驗(yàn)證本文提出的IPSO算法有效性,使用 Sphere(F1)函數(shù),Schwefel1.2(F2)函數(shù),Schaffer(F3)函數(shù)等單多峰值函數(shù)進(jìn)行驗(yàn)證,具體函數(shù)表達(dá)式詳見文獻(xiàn)[11],為便于比較,函數(shù)經(jīng)調(diào)整后的Fmin值均為0。將改進(jìn)后的IPSO算法與LDPSO算法和經(jīng)典PSO算法進(jìn)行對(duì)比。設(shè)置粒子群規(guī)模為100,最大迭代次數(shù)為500,維度為10,經(jīng)典PSO算法的慣性權(quán)重固定為0.7298,設(shè)IPSO和LDPSO算法中最大慣性權(quán)重為0.9,最小慣性權(quán)重為0.4,PSO和LDPSO算法中學(xué)習(xí)因子均為1.496。測(cè)試函數(shù)的收斂曲線如圖1。
圖1 測(cè)試函數(shù)圖像及收斂曲線
由以上收斂曲線圖可以看出, 無論在單峰值測(cè)試基準(zhǔn)函數(shù)還是在多峰值測(cè)試基準(zhǔn)函數(shù)下,經(jīng)改進(jìn)的粒子群優(yōu)化算法IPSO收斂速度相對(duì)較快,尋優(yōu)能力有所提高。為進(jìn)一步量化比較算法的性能、驗(yàn)證算法的穩(wěn)定性,對(duì)IPSO算法循環(huán)10次, 求其運(yùn)行結(jié)果的最優(yōu)值(Fbest)、平均值(Mean)及其標(biāo)準(zhǔn)差(Std), 得到結(jié)果數(shù)據(jù)見表1。由表中數(shù)據(jù)可以看出,IPSO算法在最優(yōu)值、平均值及標(biāo)準(zhǔn)差上均優(yōu)于PSO算法和LDPSO算法,由此可得出結(jié)論,本文提出的IPSO在尋優(yōu)問題上有較好的搜索能力和穩(wěn)定性,改進(jìn)之后算法性能有所提高。
表1 測(cè)試函數(shù)的統(tǒng)計(jì)結(jié)果
為了提高傳統(tǒng)PCA-ELM模型的預(yù)測(cè)精準(zhǔn)度,采用IPSO算法對(duì)ELM的權(quán)值和閾值進(jìn)行優(yōu)化,建立PCA-IPSO-ELM在泊時(shí)間預(yù)測(cè)模型。模型流程如下:
Step1:對(duì)影響集裝箱船在泊時(shí)間的多因素指標(biāo)進(jìn)行降維處理,選取新的綜合指標(biāo)。
Step2:PCA降維后得出的主成分作為IPSO-ELM預(yù)測(cè)模型的輸入,同時(shí)劃分訓(xùn)練集和測(cè)試集;
Step3:初始化粒子群的規(guī)模、速度、位置,設(shè)置各個(gè)參數(shù);
Step4:計(jì)算粒子的適應(yīng)度值,比較所有粒子的適應(yīng)度值,最優(yōu)的粒子記錄在Gbest。
Step5:更新粒子個(gè)體極值與全局極值,更新慣性權(quán)重和學(xué)習(xí)因子,根據(jù)適應(yīng)度值更新粒子的速度和位置;
Step6:重復(fù)步驟,直至達(dá)到迭代次數(shù)上限或滿足精度要求;
Step7:采用上述步驟獲得的最優(yōu)結(jié)果訓(xùn)練ELM模型,并對(duì)該模型進(jìn)行評(píng)估。
完整的模型流程圖如圖2。
圖2 集裝箱船在泊時(shí)間預(yù)測(cè)模型流程
本文選取天津港集裝箱船港口作業(yè)數(shù)據(jù)進(jìn)行實(shí)例演算,考慮在港口實(shí)際的作業(yè)調(diào)度中存在多種不確定性,調(diào)研總結(jié)多種對(duì)在泊時(shí)間預(yù)測(cè)產(chǎn)生影響的因素,例如船舶類型X1、船舶靠泊時(shí)間X2、港口分配岸橋數(shù)量X3、岸橋裝卸效率X4、卸20尺箱量X5、裝20尺箱量X6、卸40尺箱量X7、裝40尺箱量X8、卸特種箱量X9、裝特種箱量X10、天氣X11(風(fēng)級(jí)和雨雪)等。由于原始數(shù)據(jù)中某些類別由文字表示,這里需對(duì)船舶類型和天氣的文字記錄進(jìn)行編碼處理,編碼結(jié)果見表2和表3。港口岸橋裝卸效率為35 TEU/h,從原始數(shù)據(jù)中隨機(jī)選取1000條數(shù)據(jù),通過編碼得到數(shù)據(jù)。
表2 編碼后的船舶類型
表3 編碼后的天氣
在進(jìn)行主成分分析之前,首先通過數(shù)據(jù)分析驗(yàn)證原始樣本是否符合主成分分析的要求。本文使用 IBM SPSS Statistics軟件,樣本數(shù)據(jù)近似服從正態(tài)分布且不存在異常點(diǎn),因此對(duì)港口船舶數(shù)據(jù)采用皮爾遜相關(guān)性分析,求得船舶在泊時(shí)間預(yù)測(cè)影響因素的相關(guān)系數(shù)矩陣。通常,對(duì)數(shù)據(jù)進(jìn)行主成分分析時(shí),需要保證KMO測(cè)量值大于0.7和Bartlett球狀檢驗(yàn)的顯著性小于0.05這一條件。經(jīng)檢驗(yàn),統(tǒng)計(jì)量數(shù)值見表4,顯著性為0.000,KMO測(cè)量值為0.662,綜合分析可知,原始數(shù)據(jù)中各參數(shù)具有較高的相關(guān)性,數(shù)據(jù)維度較高,可使用主成分分析方法進(jìn)行降維。
表4 KMO測(cè)量和Bartlett檢驗(yàn)
本文基于MATLAB 軟件對(duì)數(shù)據(jù)進(jìn)行主成分分析。先采用zscore函數(shù)對(duì)樣本數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,再通過princomp函數(shù)進(jìn)行主成分分析,得到主成分特征值及累積貢獻(xiàn)率見表5,主成分方差貢獻(xiàn)率圖如圖3。該表中的主成分按貢獻(xiàn)率大小排序,前 7 個(gè)主成分F1、F2、F3、F4、F5、F6、F7,累計(jì)貢獻(xiàn)率達(dá)到了92.168%,已達(dá)到涵蓋原始樣本中主要信息的標(biāo)準(zhǔn),因此可由F1、F2、F3、F4、F5、F6、F7得到主成分矩陣,該7維主成分矩陣保留了原始數(shù)據(jù)中的主要信息且剔除了原始數(shù)據(jù)中的無關(guān)信息。主成分分析把具有多個(gè)指標(biāo)的高維度樣本轉(zhuǎn)換為由綜合指標(biāo)替代的低維度樣本,達(dá)到降低數(shù)據(jù)復(fù)雜度的效果,為下一步預(yù)測(cè)訓(xùn)練提供更精簡(jiǎn)且信息完備的數(shù)據(jù)樣本。
圖3 主成分方差貢獻(xiàn)率圖
表5 主成分特征值及累計(jì)貢獻(xiàn)率
實(shí)驗(yàn)將主成分矩陣作為輸入矩陣,以實(shí)際在泊時(shí)間作為輸出變量,利用MATLAB工具箱進(jìn)行IPSO-ELM訓(xùn)練及預(yù)測(cè)。本文將粒子群算法中最大慣性權(quán)重設(shè)為0.9,最小慣性權(quán)重為設(shè)0.4,粒子速度區(qū)間為[-1,1],極限學(xué)習(xí)機(jī)中隱含層神經(jīng)元個(gè)數(shù)設(shè)置為 5個(gè),輸出層神經(jīng)元個(gè)數(shù)為1個(gè),激活函數(shù)選取Sigmoidal函數(shù)。為保證預(yù)測(cè)的準(zhǔn)確性,將訓(xùn)練樣本和測(cè)試樣本以7:3的比例進(jìn)行分配,將數(shù)據(jù)集隨機(jī)生成 700個(gè)訓(xùn)練集樣本,300個(gè)測(cè)試集樣本,并采取樣本數(shù)據(jù)歸一化處理。最后,通過多個(gè)預(yù)測(cè)模型對(duì)比實(shí)驗(yàn)分析驗(yàn)證模型的可行性。
3.3.1 評(píng)價(jià)指標(biāo)
通過分析模型在泊時(shí)間預(yù)測(cè)結(jié)果的平均絕對(duì)誤差(MAE)、均方根誤差(RMSE)及決定系數(shù)(R2),展現(xiàn)優(yōu)化后模型的合理性。MAE、RMSE和R2公式分別如式(16)、(17)、(18)所示:
(16)
(17)
(18)
3.3.2 結(jié)果比較與分析
為了測(cè)試IPSO優(yōu)化后的PCA-ELM預(yù)測(cè)模型較其它預(yù)測(cè)模型在集裝箱船在泊時(shí)間方面是否具有優(yōu)越性,選擇BP神經(jīng)網(wǎng)絡(luò)及文獻(xiàn)[10]中建立的GA-BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè)結(jié)果對(duì)比,其中,BP神經(jīng)網(wǎng)絡(luò)的隱含層激勵(lì)函數(shù)選取Sigmoid,輸出層的激勵(lì)函數(shù)選取Purelin,隱含層神經(jīng)元數(shù)為10個(gè),最大訓(xùn)練次數(shù)為1000,精度要求設(shè)為0.0001,學(xué)習(xí)速率為0.01,用(-1,1)之間的數(shù)值初始網(wǎng)絡(luò)的權(quán)值和閾值。GA中染色體編碼長(zhǎng)度為168,種群規(guī)模設(shè)置為60,進(jìn)化代數(shù)為30,交叉概率0.9,變異概率0.1。運(yùn)用MATLAB平臺(tái)進(jìn)行編程實(shí)現(xiàn)。BP、GA-BP神經(jīng)網(wǎng)絡(luò)模型、PCA-ELM模型和PCA-IPSO-ELM模型預(yù)測(cè)絕對(duì)誤差對(duì)比如圖4。
圖4 算法預(yù)測(cè)絕對(duì)誤差
為進(jìn)一步驗(yàn)證預(yù)測(cè)模型的性能,分別用平均絕對(duì)誤差、均方根誤差及決定系數(shù)對(duì)預(yù)測(cè)結(jié)果進(jìn)行分析,見表6。從這些圖表可以看出相比較單一BP神經(jīng)網(wǎng)絡(luò)模型,PCA-ELM模型在性能上有所提高,但二者在預(yù)測(cè)精度和擬合優(yōu)度仍有缺陷;而PCA-IPSO-ELM模型的平均絕對(duì)誤差、均方根誤差分別為0.3043,0.3865 均低于GA-BP模型的0.5605,0.6410和BP、PCA-ELM模型的相應(yīng)指標(biāo);PCA-IPSO-ELM模型決定系數(shù)為98.87%,均高于其它三種模型,擬合性更好。綜上可得出結(jié)論,PCA-IPSO-ELM模型相比GA-BP模型及其它兩種模型具有更高的預(yù)測(cè)精度和擬合優(yōu)度,有效降低了預(yù)測(cè)誤差,且大大縮短了模型訓(xùn)練時(shí)間,性能更為穩(wěn)定。
表6 預(yù)測(cè)模型性能結(jié)果分析
本文解決的是對(duì)集裝箱船在泊時(shí)間的預(yù)測(cè)問題,將影響集裝箱船在泊時(shí)間的因素列入研究范圍,通過主成分分析得到具有綜合指標(biāo)的低維度樣本,引入極限學(xué)習(xí)機(jī)理論進(jìn)行預(yù)測(cè);并針對(duì)極限學(xué)習(xí)機(jī)無法自動(dòng)尋找到最佳的網(wǎng)絡(luò)結(jié)構(gòu)、訓(xùn)練復(fù)雜數(shù)據(jù)時(shí)精度和穩(wěn)定性較差的問題,采用非線性參數(shù)動(dòng)態(tài)控制的改進(jìn)粒子群算法進(jìn)行優(yōu)化。通過實(shí)例證明,PCA-IPSO-ELM預(yù)測(cè)模型學(xué)習(xí)速率快、精度高且穩(wěn)定性強(qiáng),最大程度減少在泊時(shí)間的預(yù)測(cè)誤差,可為制作泊位計(jì)劃提供可靠的依據(jù),有效降低港口作業(yè)成本。