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