基于mpso-bp網絡的通用飛機航材需求預測方法
【技術領域】
[0001] 本發(fā)明屬于通用飛機航材管理領域,具體涉及一種基于智能算法優(yōu)化BP網絡的通 用飛機航材需求預測的方法。
【背景技術】
[0002] 通用飛機航材需求預測直接影響通航企業(yè)的航材保障和成本管理,不準確的預測 會造成航材短缺或者浪費,而準確的預測可以在滿足高保障率的同時大大降低成本,因此 如何科學地確定通用飛機航材需求量一直是通航企業(yè)的重點研究課題。
[0003] 目前,關于航材需求預測方法的研究已取得一些研究成果。賈治宇對基于求和自 回歸滑動平均模型的航材消耗預測方法進行研究,提出將使用過程中航材消耗的數據看作 時間序列,建立相應的ARIMA(p,d,q)預測模型。楊仕美將基于最小二乘支持向量機的一元 預測方法和多元預測方法相結合,提出了一種組合預測模型,使用信息熵理論對模型的權 重系數進行優(yōu)化,給出了預測方法的計算步驟。李曉宇以航材需求預測為研究對象,以任務 為中心,綜合考慮裝備使用可用度和經濟性約束,利用蒙特卡羅建立航材需求仿真模型,采 用邊際效益分析優(yōu)化求解。
[0004]由于影響航材需求的因素是復雜的、非線性的,利用傳統(tǒng)的數值方法很難建立精 確的數學模型,因此,有關學者將目光轉向在處理非線性問題時有著明顯優(yōu)勢的神經網絡 研究領域。在實際應用中,80%-90%的神經網絡模型采取BP網絡或它的變化形式,它是人 工神經網絡中最成熟的一種,體現(xiàn)了人工神經網絡最精華的部分。宋輝在分析影響航材消 耗的主要因素的基礎上提出了基于GM-BP網絡的航材需求預測方法,首先利用灰色預測模 型對數據樣本進行預測,然后從預測值中選出和實際值最接近的作為BP網絡的輸入樣本, 最后用BP網絡進行訓練和預測。董蒙利用主成分分析方法對影響航材預測的眾多因素變量 進行分析,去除了原始輸入數據之間的相關性,降低數據維度,提出了基于主成分分析的BP 網絡預測模型,通過實例仿真,取得較好的效果。但是,BP網絡算法存在容易陷入局部最優(yōu)、 收斂速度慢等缺陷。針對BP網絡的缺陷,不少學者采用PS0算法對其進行改進。PS0算法是一 種群體智能優(yōu)化算法,算法簡單,易于實現(xiàn),但應用于高維復雜問題時,往往會出現(xiàn)早熟收 斂、后期收斂速度緩慢的現(xiàn)象,無法保證收斂到最優(yōu)點。
[0005] 需要指出的是,國內對通用飛機航材需求預測的研究剛剛起步,已有的文獻中多 數都是針對軍用飛機或者是運輸機的航材進行預測,且對通用飛機航材的需求預測大都是 采用傳統(tǒng)的數學建模方法,導致預測結果不準確,通航企業(yè)無法實現(xiàn)在高水平保障率和低 庫存成本之間的一種平衡,往往只能用超量的庫存來保證及時供應,產生占用大量資金的 航材庫存。
[0006] 為克服PS0算法的上述缺點,本文對PS0算法進行改進,構建了改進PS0算法優(yōu)化BP 網絡的通用飛機航材需求預測模型。目前,基于MPS0-BP網絡實現(xiàn)通用飛機航材需求預測 的研究還沒有文獻報道。
[0007] 針對通用飛機航材需求預測問題,提出了改進PS0算法優(yōu)化BP網絡的通用飛機航 材需求預測方法。首先對通用飛機航材需求的主要影響因素進行分析研究,然后介紹了BP 網絡的基本原理和PSO算法的改進策略,構建了改進粒子群算法優(yōu)化BP網絡的預測模型。本 發(fā)明可以實現(xiàn)對通用飛機航材需求量的精確預測,且具有很好的非線性擬合能力和泛化能 力,提高了收斂效率、降低了陷入局部極小值的可能,具有更高的預測精度,在通用飛機航 材需求預測中具有良好的應用效果。
【發(fā)明內容】
[0008] 本發(fā)明為了解決通用飛機航材需求預測的問題,提出了基于MPS0-BP網絡的通用 飛機航材需求預測方法。首先對通用飛機航材需求的主要影響因素進行分析研究,然后介 紹基本PS0算法及其改進策略,構建了改進粒子群算法優(yōu)化BP網絡的預測模型。
[0009] 步驟1:通用飛機航材需求的影響因素分析。
[0010] 由于通用飛機航材需求量的影響因素是復雜的、非線性的,不可能對全部因素進 行權衡考慮,只需要對關鍵因素進行分析。通過文獻分析研究并結合專家意見,以某型通用 飛機的航材為例,對通用飛機航材損耗的分析,得到以下五種影響航材需求的主要因素:
[0011] (1)計算時間間隔內的飛行時間(Pi)
[0012] 使用時間的長短直接影響航材的壽命,飛行時間越長,對航材的使用頻次越多,必 然會導致航材損耗的加劇,從而影響航材需求量。
[0013] ⑵航材故障率(P2)
[0014]故障率是航材在t時刻處于完好狀態(tài),在此后的單位時間內發(fā)生故障的條件概率, 一般情況下是時間t的函數,是一種固有特性,取決于產品的特點和設計制造水平。航材質 量越好,故障率越低,航材需求越少。
[0015] ⑶航材平均故障間隔時間(p3)
[0016] 平均故障間隔時間,是指該航材件從開始使用到失效前的工作時間的平均值,是 衡量航材可靠性水平的重要指標。平均故障間隔時間越長,航材的可靠性水平就越高,需求 量越小。
[0017] (4)維修人員的技術水平(P4)
[0018] 維修人員作為航材保障活動的主體,其技術水平的高低將直接影響到航材保障的 整體效能。航材維修的熟練程度和技術水平需要經過一定的時間才能提高。維修人員技術 水平越高,有效維修時間越長,對故障件的修復能力越強,航材需求量就越小。為了便于量 化,本文將這一指標量化為技術水平偏低的人員比例。
[0019] (5)環(huán)境因素(P5)
[0020] 高溫、高濕度、強日照、強風等環(huán)境因素將影響航材的使用和存儲。例如,金屬件航 材會因潮濕、氧化而腐蝕;電子儀器會因高壓、高溫失效或者精度降低等等。環(huán)境的影響可 以量化為1至7的整數,數值越大表明環(huán)境越差,對航材需求的影響越大。
[0021 ] 步驟2:對基本PS0算法的改進。
[0022] PS0算法是一種源于對鳥類捕食行為的研究而產生的優(yōu)化算法,最先由Eberhart 博士和Kennedy博士于1995年提出,是基于群智能的全局優(yōu)化技術。其數學意義為:假設在 一個Μ維的搜索空間中,有N個粒子組成的種群X = (Xi,X2,L,XN),其中每個粒子都代表問題 的一個潛在最優(yōu)解,根據適應度函數可計算出每個粒子位置心^^^丄義以對應的適 應度值,適應度值的好壞則表示粒子的優(yōu)劣。每個粒子還有一個速度KUALAdl 定它們飛翔的方向和距離。這樣用位置、速度和適應度值三項指標就可以表示該粒子的特 征。該算法隨機初始化一群粒子,然后通過迭代尋優(yōu),在每次迭代過程中,粒子通過個體極 值Pi = [Pu,Pi2,L,PiM]T和全局極值Pg= [pgl,pg2,L,PgM]^新自身的速度和位置,更新公式 如下:
[0025] 式中,Vim為粒子的速度;Xim為粒子的位置;C1和C2為加速度因子;ri和Γ2為分布于 [0,1]之間的隨機數;m=l,2,L,M;i = l,2,L,N;k為當前迭代次數。
[0026] 為了克服基本PS0算法的缺陷,同時采用自適應變異和設置線性遞減慣性權重兩 個策略對其進行改進。
[0027] 步驟2.1:自適應變異
[0028]借鑒遺傳算法中的變異思想,在基本PS0算法的基礎上引入變異操作,即在粒子每 次的速度和位置更新之后,以一定的概率重新初始化粒子。
[0029]變異操作的引入增加了種群多樣性,使得粒子能夠跳出先前搜索到的最優(yōu)位置, 在更大的空間中開展搜索,以獲得更好的全局尋優(yōu)能力,可以避免粒子群陷入局部最優(yōu)。
[0030] 步驟2.2:線性遞減慣性權重的設置
[0031] 為了改善基本粒子群算法的收斂性能,在速度更新公式中添加一個慣性權重ω, 即
[0034] 其中,c〇start為初始慣性權重;ω-為迭代至最大次數時的慣性權重;k為當前迭代 代數;TmaxS最大迭代代數。一般來說,慣性權值取值為ω start = 〇 . 9、ω end = 〇 . 4時算法性能 最好。這樣,隨著迭代的進行,慣性權重由0.9線性遞減至0.4,迭代初期較大的ω使算法保 持了良好的全局探索能力,而迭代后期較小的ω有利于算法進行更精準的局部開發(fā),兼顧 了粒子全局和局部搜索能力,改善粒子群的收斂性能和精度。
[0035] MPS0算法流程如圖1所示。其中,初始化粒子群就是隨機設定各粒子的初始位置X 和初始速度V。根據適應度函數計算粒子適應度值。根據初始粒子適應度值確定個體極值和 群體極值。根據式(2)、(3)、(4)更新粒子速度和位置。根據新種群中粒子適應度值更新個體 極值和群體極值。如果達到結束條件(足夠好的位置或最大迭代次數),則結束,否則轉回更 新粒子速度和位置步驟。
[0036] 步驟3: MPS0-ΒΡ網絡預測模型的建立
[0037]由于ΒΡ網絡采用的是梯度下降法,使得學習結果對初始權值和閾值依賴性大,而 網絡初始化的權值和閾值是隨機的,這樣會造成網絡振蕩、泛化能力差,導致訓練后的網絡 已陷入局部最優(yōu)、可靠性差。MPS0-BP網絡就是用改進的粒子群算法來尋找網絡較好的權值 和閾值,MPS0算法易于實現(xiàn)、收斂速度快,具有更好的全局尋優(yōu)能力。因此,利用改進的粒子 群算法優(yōu)化ΒΡ網絡可以改善整個網絡的學習性能及收斂性能,使得ΒΡ網絡的全局誤差最小 化,有更高的預測精度。
[0038] 步驟3.1 :MPS0-BP網絡結構的確定
[0039]將前面分析所得的航材需求的五種影響因素(?1、?2、?3、?4、內)作為輸入向量,航材 的實際需求量T作為輸出的目標樣本,由此可以確定MPS0-BP網絡的結構:輸入層節(jié)點數為 5,輸出層節(jié)點數為1,根據最佳隱含層節(jié)點數選擇
,ce(〇,l〇),本發(fā)明 隱含層節(jié)點數設為7,這樣就構建了一個5-7-1結構的單隱層MPS0-BP網絡。
[0040] 步驟3 · 2 :MPS0-BP網絡訓練和預測 [0041 ] MPS0-BP網絡的訓練和預測過程如下:
[0042]步驟3.2.1 :MPS0算法參數的設定。根據本發(fā)明的研究情況,設定加速度因子C1 = C2 =1.49; ω采用公式(4)所示的線性遞減慣性權重, 〇 start - 0.9, 〇 end - 0.4;迭代次數為400 次;種群規(guī)模為50,其他參數采用系統(tǒng)默認。
[0043]步驟3.2.2:根據構建的BP網絡的結構,計算出權值和閾值長度為5 X 7+7 X 1+7+1 =50。據此MPS0算法將網絡連接權值和節(jié)點閾值編碼成實數向量,表示種群中的個體粒子, 則粒子的速度和位置向量的維數Μ均為50。采用MATLAB中的內部函數rands( 1,50)產生種群 的初始位置和速度。
[0044] 步驟3.2.3:根據適應度函數計算每個粒子的適應度值,通過速度和位置的不斷更 新迭代尋優(yōu)。根據需要,本發(fā)明選用BP網絡測試輸出的相對誤差和的均方誤差err〇r = mSe ((Ai-Ti)./Ti)作為個體適應度值。
[0045] 步驟3.2.4:粒子每次更新之后,以一定概率重新初始化粒子,通過自適應變異和 不斷地更新迭代求得最優(yōu)解。
[0046] 步驟3.2.5:把MPS0得到的最優(yōu)解賦給BP網絡權值和閾值,設定BP網絡的運行參數 進行訓練。
[