陶永才,楊 晨,馬建紅,石 磊,衛(wèi) 琳
1(鄭州大學(xué) 信息工程學(xué)院,鄭州 450001)
2(鄭州大學(xué) 軟件學(xué)院,鄭州 450002)
目前制造業(yè)的備件供應(yīng)仍是焦點(diǎn)問題之一,主要因素為產(chǎn)品更新?lián)Q代快,大量舊件積壓;配件周轉(zhuǎn)率低,增加有效性檢測成本;而且不同備件在各個(gè)庫的分布種類及數(shù)量欠缺系統(tǒng)性考慮,為預(yù)防緊急事件,不得不采用“備足”方案.備件供應(yīng)需求預(yù)測的準(zhǔn)確性不但影響企業(yè)對市場的布局,也影響企業(yè)的營銷策略.
在實(shí)際生產(chǎn)中,備件供應(yīng)的及時(shí)性以及庫存成本的最小化控制是備件供應(yīng)策略的重點(diǎn)[1].在備件的供應(yīng)過程中,將產(chǎn)品運(yùn)輸?shù)娇蛻羧孕枰欢ǖ臅r(shí)間,在這段時(shí)間內(nèi)仍然會(huì)有備件的消耗,因此,備件供應(yīng)優(yōu)化問題的研究不能獨(dú)立于庫存問題,而要結(jié)合備件庫存和供應(yīng)協(xié)同處理研究.庫存策略決定了備件的需求和供貨時(shí)間,供貨策略決定了備件的提前期和最優(yōu)供貨時(shí)間分配方案.因此,這兩個(gè)問題是相互關(guān)聯(lián)、相互影響的,只有考慮到庫存和供應(yīng)的共同優(yōu)化,才能使其更加切合實(shí)際需求[2].
隨著神經(jīng)網(wǎng)絡(luò)在預(yù)測問題中的興起,其中,BP神經(jīng)網(wǎng)絡(luò)在預(yù)測問題中的應(yīng)用非常廣泛,但是也存在收斂速度慢、迭代次數(shù)多、易于陷入局部最優(yōu)和全局搜索能力差等缺點(diǎn).因此,往往采用智能優(yōu)化算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,利用智能優(yōu)化算法在解析空間找出較好的搜索空間,再用BP神經(jīng)網(wǎng)絡(luò)在較小的搜索空間內(nèi)搜索最優(yōu)解[3].而粒子群優(yōu)化PSO(Particle Swarm Optimization)算法作為群體智能優(yōu)化算法的一種,在解決復(fù)雜問題時(shí)前期的全局搜索能力較強(qiáng),粒子能快速聚集在局部最優(yōu)值附近,因此往往使用粒子群算法來優(yōu)化神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和閾值[4,5].但標(biāo)準(zhǔn)的PSO優(yōu)化仍然有一些缺點(diǎn),比如:參數(shù)太多;在求解不同的優(yōu)化問題時(shí)很難確定參數(shù)的最優(yōu)組合等.因此,粒子群算法往往會(huì)過早收斂,導(dǎo)致陷入局部最優(yōu).
因此,本文將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用到備件供應(yīng)需求預(yù)測模型中,并通過提出的改進(jìn)的粒子群算法對BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)重和閾值進(jìn)行優(yōu)化,研究基于IPSO-BP神經(jīng)網(wǎng)絡(luò)的備件供應(yīng)需求預(yù)測模型.本文的主要貢獻(xiàn)為:
1)提出一種以最小化總成本為目標(biāo),以訂貨點(diǎn)的備件需求量為核心的備件供應(yīng)需求預(yù)測模型.
2)將粒子群算法中慣性權(quán)重的改進(jìn),環(huán)境檢測策略和自適應(yīng)最優(yōu)解跳躍策略結(jié)合,提出一種改進(jìn)的粒子群算法,用來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)重和閾值,使基于IPSO-BP神經(jīng)網(wǎng)絡(luò)模型有更好的預(yù)測性能.
3)通過IPSO-BP神經(jīng)網(wǎng)絡(luò)模型對備件供應(yīng)流程中訂貨時(shí)的備件需求量進(jìn)行預(yù)測,實(shí)驗(yàn)結(jié)果對比表明,IPSO-BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測更加精準(zhǔn)和穩(wěn)定.
近些年來,國內(nèi)外學(xué)者在備件供應(yīng)優(yōu)化方面的研究都有很大進(jìn)展.孫林夫[6]通過對制造業(yè)產(chǎn)業(yè)價(jià)值鏈協(xié)同調(diào)度平臺的建設(shè)與研究,提出多產(chǎn)業(yè)鏈超鏈業(yè)務(wù)協(xié)同的產(chǎn)業(yè)協(xié)同服務(wù)平臺發(fā)展模式,為產(chǎn)業(yè)鏈上下游的備件供應(yīng)等問題的提供解決方案.李斌勇等人[7]以云服務(wù)思想為依據(jù),提出一種產(chǎn)業(yè)鏈云服務(wù)平臺總體方案,并構(gòu)建一種產(chǎn)業(yè)鏈云服務(wù)平臺信息支撐體系,解決產(chǎn)業(yè)鏈上下游備件供應(yīng)中的信息流通等問題.呂瑞等人[8]提出一種分布式備件庫存協(xié)同方法,并應(yīng)用于汽車產(chǎn)業(yè)鏈云服務(wù)平臺,優(yōu)化整個(gè)產(chǎn)業(yè)鏈對備件供應(yīng)的響應(yīng)時(shí)間.Marzio等人[9]通過遺傳算法對備件供應(yīng)中備件數(shù)量分組系統(tǒng)進(jìn)行優(yōu)化,并以最大化總收益和最小化總備件庫存等為目標(biāo)對備件供應(yīng)進(jìn)行多目標(biāo)優(yōu)化.Kutanoglu等人[10]以最低總成本為目標(biāo)對備件供應(yīng)策略進(jìn)行優(yōu)化.Olsson等人[11]則是以最短提前時(shí)期為目標(biāo)進(jìn)行優(yōu)化.Hnaien等人[12]研究了兩級供應(yīng)鏈庫存運(yùn)輸管理問,在他們的構(gòu)建的網(wǎng)絡(luò)中,設(shè)定一個(gè)供應(yīng)商為一組客戶服務(wù),客戶的需求是已知的,但是需求是周期性變化的.Kang等人[13]研究了一個(gè)涉及一個(gè)供應(yīng)商和多個(gè)客戶的運(yùn)輸——庫存聯(lián)合優(yōu)化問題,通過優(yōu)化策略判定某個(gè)客戶作為配送中心,并將其他客戶分配到配送中心,模型設(shè)置為每個(gè)客戶只能使用一個(gè)配送中心,并且所有運(yùn)輸周期都是相同的.Zhao等人[14]提出一個(gè)單供應(yīng)商多客戶的庫存——運(yùn)輸供應(yīng)模型,他們的模型中客戶的需求是固定且已知的,而且,在他們的模型中,提前期被定義為零.
隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,研究人員在神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上融合其他算法,進(jìn)一步對神經(jīng)網(wǎng)絡(luò)的參數(shù),連接權(quán)重,閾值等進(jìn)行有針對性的優(yōu)化,使備件需求預(yù)測模型更加多樣,同時(shí)預(yù)測精度有更大的提升.Zhao等人[15]通過建立工業(yè)供應(yīng)鏈多產(chǎn)品三梯隊(duì)庫存控制系統(tǒng)的仿真模型,并在模型中應(yīng)用多種混合庫存控制策略,研究結(jié)果表明,在訂單不確定性的影響下,混合庫存控制策略可以使供應(yīng)鏈的總熵比和顧客滿意度達(dá)到最優(yōu).Zhou等人[16]針對解決供應(yīng)鏈環(huán)境動(dòng)態(tài)和規(guī)劃變量空間較大的問題,將深度學(xué)習(xí)的方法和局部搜索方法結(jié)合,提出一種新的連續(xù)評審多梯隊(duì)的庫存動(dòng)態(tài)模型優(yōu)化方法,仿真結(jié)果表明,該方法在適應(yīng)性和求解時(shí)間效率等方面都有顯著提升.Achin Srivastav等人[17]研究了訂單交叉下的庫存問題,提出一種高效的混合庫存系統(tǒng),并采用多目標(biāo)布谷鳥搜索算法求解庫存問題,實(shí)驗(yàn)結(jié)果表明,提出的多目標(biāo)交叉庫存系統(tǒng)具有更強(qiáng)的可持續(xù)性.
粒子群算法本質(zhì)上是模擬一個(gè)生物種群的社會(huì)狀態(tài),最早是通過研究鳥群覓食過程中的遷徙和群聚行為,進(jìn)而提出的一種基于群體智能的全局隨機(jī)搜索算法.算法中每只鳥都被視作粒子群中的一個(gè)粒子,通過迭代進(jìn)行信息共享,結(jié)合自己的經(jīng)驗(yàn),并通過個(gè)體和群體兩方面的信息,進(jìn)而不斷改善自己的飛行狀態(tài).粒子群粒子群算法首先初始化粒子,每個(gè)粒子綜合考慮自己的最優(yōu)前解和種群中找到的最優(yōu)解來確定自己的位置和速度.假設(shè)在D維目標(biāo)搜索空間中有個(gè)粒子,向量xi=(xi1,xi2,…,xid,…,xiD)是粒子的位置,向量vi=(vi1,vi2,…,vid,…,viD)是速度.粒子速度受到如圖1所示的3種分量的影響,具體如圖1所示.
圖1 粒子群算法粒子運(yùn)動(dòng)軌跡
a.物理成分:粒子傾向于遵循自己的路通過.
(1)
b.認(rèn)知成分:粒子傾向于回到它曾經(jīng)已經(jīng)達(dá)到的最佳位置移動(dòng).
(2)
c.社會(huì)成分:粒子傾向去它周圍粒子已經(jīng)達(dá)到的最佳位置移動(dòng).
(3)
因此,每個(gè)粒子根據(jù)以下公式更新其速度和位置[18]:
(4)
(5)
BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆向傳播進(jìn)行算法訓(xùn)練的多層前饋網(wǎng)絡(luò),也稱反向傳播神經(jīng)網(wǎng)絡(luò).它的訓(xùn)練規(guī)則是通過樣本數(shù)據(jù)的訓(xùn)練,不斷修正網(wǎng)絡(luò)權(quán)值和閾值使誤差函數(shù)沿負(fù)梯度方向下降,逼近期望輸出.本文使用一個(gè)3層的BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),如圖2所示.并對BP神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行定義,如表1所示.
圖2 3層BP神經(jīng)網(wǎng)絡(luò)
表1 BP神經(jīng)網(wǎng)絡(luò)參數(shù)定義
神經(jīng)網(wǎng)絡(luò)的激活函數(shù)采用Tanh函數(shù),函數(shù)表達(dá)式如式(6)所示.
(6)
神經(jīng)網(wǎng)絡(luò)訓(xùn)練集中的每對樣本數(shù)據(jù)實(shí)際輸出的值和預(yù)期輸出的值之間的偏差定義為誤差函數(shù),如式(7)所示.
(7)
所有樣本數(shù)據(jù)對的總誤差表達(dá)式如式(8)所示.
(8)
隱藏層各個(gè)神經(jīng)元的輸入表達(dá)式如式(9)所示,輸出表達(dá)式如式(10)所示.
(9)
(10)
輸出層各個(gè)神經(jīng)元的輸入表達(dá)式如式(11)所示,輸出表達(dá)式如式(12)所示.
(11)
(12)
備件供應(yīng)策略在制造業(yè)服務(wù)價(jià)值鏈協(xié)同中的本質(zhì)可以定義為協(xié)調(diào)資源去優(yōu)化從制造商到客戶之間的貨物交付、服務(wù)、信息傳遞、平衡供求關(guān)系的一種前瞻性過程.圖3描述了3級備件供應(yīng)鏈網(wǎng)絡(luò),貨物流和信息流分別用實(shí)線和虛線表示.在這個(gè)3級備件供應(yīng)鏈中,客戶的信息流用來反饋的客戶的備件需求,供中轉(zhuǎn)倉判斷需求是否會(huì)耗盡庫存,同時(shí)中轉(zhuǎn)倉希望能夠維持一個(gè)理想的庫存水平,當(dāng)庫存不足時(shí),中轉(zhuǎn)倉會(huì)向制造商發(fā)出預(yù)警.而在備件供應(yīng)的過程中,將備件運(yùn)送到下一級客戶需要一定的時(shí)間,而在這段時(shí)間內(nèi)依然會(huì)有備件的消耗,這段時(shí)間一般被定義為提前期.
圖3 3級備件供應(yīng)鏈網(wǎng)絡(luò)
實(shí)際上,不同客戶廠商根據(jù)需求情況不同會(huì)有不同的提前期,因此,在(T,St)庫存策略下,以時(shí)間間隔T作為一個(gè)固定的檢查周期,對客戶的庫存數(shù)據(jù)進(jìn)行動(dòng)態(tài)查詢,并且結(jié)合本文的備件供應(yīng)模型,通過準(zhǔn)確的計(jì)算出不同客戶廠商的訂貨點(diǎn)和訂貨量,可以保證在降低庫存成本的同時(shí),減少缺貨次數(shù).
模型基于以下假設(shè):
1.制造商的生產(chǎn)能力和中轉(zhuǎn)倉庫存能力是無限的,因此不考慮制造商的生產(chǎn)中供不應(yīng)求的問題,不考慮中轉(zhuǎn)倉庫存成本的問題.
2.從制造商倉庫到中轉(zhuǎn)倉的單位運(yùn)輸成本和運(yùn)輸時(shí)間,以及從中轉(zhuǎn)倉到客戶廠商的單位運(yùn)輸成本和運(yùn)輸時(shí)間是已知和固定的,且不同的客戶廠商與各個(gè)中轉(zhuǎn)倉的距離是相同的.
3.將提前期定義為供應(yīng)過程中的運(yùn)輸時(shí)間,每個(gè)客戶廠商具有相同的重要程度,其最大庫存能力是已知和固定的,并且設(shè)定庫存盤點(diǎn)的周期等于備件供應(yīng)提前期.
對模型中的符號給出定義,如表2所示.
表2 備件供應(yīng)模型符號定義
該模型的目標(biāo)是當(dāng)?shù)竭_(dá)庫存盤點(diǎn)節(jié)點(diǎn)t時(shí)刻時(shí),通過改進(jìn)的粒子群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),預(yù)測出t時(shí)刻的備件需求數(shù)量,最終達(dá)到的最小化總成本的目標(biāo).其中,總成本包括庫存成本、缺貨損失費(fèi)用、訂貨成本和運(yùn)輸成本.本文的目標(biāo)函數(shù)定義如式(13)所示.
(13)
其中,α(t)為客戶廠商j在t時(shí)刻是否缺貨的判定公式,如式(14)所示.
(14)
β(t)為客戶廠商j在t時(shí)刻是否需要進(jìn)行訂貨的判定公式,即客戶廠商j是否把t時(shí)刻定義為訂貨點(diǎn)的判定公式如式(15)所示.
(15)
則所有客戶廠商在t時(shí)刻的總目標(biāo)成本如式(16)所示.
(16)
上式的約束條件如式(17)所示.
(17)
本文通過使用改進(jìn)的粒子群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)對在訂貨點(diǎn)t時(shí)刻的備件需求量進(jìn)行預(yù)測,理想預(yù)期輸出的備件需求量預(yù)測最優(yōu)值如式(18)所示.
(18)
4.2.1 慣性權(quán)重的改進(jìn)
權(quán)重函數(shù)可以調(diào)整算法的整體和局部搜索能力.在標(biāo)準(zhǔn)的粒子群算法中,慣性權(quán)重值越大,會(huì)使粒子沿其原始方向具有更快的速度,從而到達(dá)更遠(yuǎn)的區(qū)域,意味著更好的全局搜索能力.慣性權(quán)重值越小,粒子沿其原始方向的速度越小,意味著局部搜索能力越強(qiáng).通常希望粒子群在迭代開始時(shí)具有優(yōu)秀的全局探索能力,在迭代后期表現(xiàn)出良好的局部搜索能力.所以,通過在前期設(shè)置一個(gè)較大的權(quán)重值,保證粒子可以遍歷整個(gè)空間;同時(shí),在后期設(shè)置較小的權(quán)重值,增強(qiáng)局部搜索能力.因此,在初始搜索階段,通過構(gòu)造函數(shù)使慣性權(quán)重系數(shù)非線性減小,使得算法在此階段具有更強(qiáng)的進(jìn)行全局搜索的能力,并盡快進(jìn)入局部搜索;經(jīng)過多次迭代后,慣性權(quán)重系數(shù)開始直線下降,使得算法能夠穩(wěn)定地找到最優(yōu)解,以此對粒子群算法進(jìn)行優(yōu)化.
構(gòu)造慣性權(quán)重的函數(shù)如式(19)所示.
(19)
s1(k)和s2(k)值的推導(dǎo)如式(20)、式(21)所示.
(20)
(21)
其中,k是當(dāng)前迭代次數(shù),K為迭代次數(shù)的最大值,ωmax和ωmin分別表示慣性權(quán)重的最大值和最小值,s1(k)是非線性函數(shù),s2(k)是線性函數(shù),ωc是粒子進(jìn)行搜索后慣性權(quán)重的初始值.
4.2.2 環(huán)境檢測策略的改進(jìn)
在整個(gè)粒子群算法的優(yōu)化過程中,當(dāng)參數(shù)發(fā)生變化時(shí),會(huì)直接導(dǎo)致優(yōu)化環(huán)境的變化,所以優(yōu)化算法應(yīng)該能夠快速檢測環(huán)境的變化并對新問題進(jìn)行優(yōu)化.因此,通過設(shè)置一個(gè)環(huán)境檢測器,直接檢測模型參數(shù)的變化,進(jìn)而對環(huán)境的變化進(jìn)行檢測.
環(huán)境檢測器算法如式(22)所示.
(22)
當(dāng)環(huán)境檢測器檢測到環(huán)境變化后,便需要對新環(huán)境下的優(yōu)化算法進(jìn)行求解,一種辦法是直接對粒子進(jìn)行初始化,但這種辦法會(huì)影響算法的快速收斂;但如果不對粒子位置進(jìn)行改變,會(huì)因?yàn)閮?nèi)存機(jī)制的原因,進(jìn)而導(dǎo)致整個(gè)優(yōu)化算法陷入局部最優(yōu)解.因此,需要在保證不影響算法收斂速度的前提下,對相應(yīng)粒子的位置進(jìn)行調(diào)整,本文采用自適應(yīng)最優(yōu)解跳躍策略來解決該問題.
4.2.3 自適應(yīng)最優(yōu)解跳躍策略
在迭代過程中,由于環(huán)境的變化,標(biāo)準(zhǔn)的粒子群算法容易陷入局部最優(yōu),在這段時(shí)間內(nèi)粒子會(huì)失去全局搜索的能力,這也是大多數(shù)優(yōu)化算法所面臨的問題.因此,參照遺傳算法的“突變”操作,引入一個(gè)突變粒子來構(gòu)造最優(yōu)解跳躍策略.當(dāng)環(huán)境變化后,則引入突變因子來調(diào)節(jié)粒子的位置,使其進(jìn)入其他區(qū)域繼續(xù)搜索,可以有效地避免粒子陷入局部最優(yōu),同時(shí)擴(kuò)大全局搜索的區(qū)域,使算法獲得更好的全局最優(yōu)解.算法公式如式(23)所示.
(23)
其中,t為陷入局部最優(yōu)解時(shí)的迭代深度,s是所調(diào)節(jié)的搜索長度,函數(shù)表達(dá)式如式(24)所示.
(24)
(25)
4.2.4 改進(jìn)的粒子群算法(IPSO)
通過3.1節(jié)對標(biāo)準(zhǔn)粒子群算法的描述,并結(jié)合以上3點(diǎn)改進(jìn),構(gòu)造出改進(jìn)的粒子群算法,如算法1所示.
算法1.IPSO
輸入:種群規(guī)模P;粒子維度D;最大迭代次數(shù)K;粒子初始位置xid;粒子初始速度vid;慣性權(quán)重初始值ωc;初始局部最優(yōu)解Pibest;初始全局最優(yōu)解Pgbest;
輸出:優(yōu)化后最優(yōu)的粒子位置和粒子速度;
1.fork≤Kdo
2. update the inertia weight factor use Equation(19)
3. calculate the fitness of each new particle
4. detect whether the environment changes based on Equation(22)
5.ifchangeddo
6. updatexiuse Equation(23)
7. initial thePibestandPgbest
8. calculate the fitness of each new particle
9.endif
10.iff (xi) 11.Pibest=xi 12.endif 13.iff(Pibest) 14.Pgbest=Pibest 15.endif 16. update the position ofxibased on Equation(4)and Equation(5) 17.k=k+1 18.endfor 算法1首先判斷迭代次數(shù)是否達(dá)到目標(biāo)迭代次數(shù),如果沒有,則繼續(xù)進(jìn)行迭代(第1行).然后利用公式(19)對慣性權(quán)重ω(k)進(jìn)行更新,并通過構(gòu)造的適應(yīng)度函數(shù)給粒子進(jìn)行賦值(第2行-第3行).利用公式(22)檢測優(yōu)化環(huán)境是否發(fā)生變化,如果判斷環(huán)境發(fā)生變化,則利用公式(23)更新粒子xi的位置,并初始化局部極值和全局極值,通過構(gòu)造的適應(yīng)度函數(shù)給粒子進(jìn)行重新賦值(第4行-第9行).最后,通過判斷粒子的適應(yīng)度函數(shù)值,如果當(dāng)前粒子的適應(yīng)度函數(shù)值小于局部極值的適應(yīng)度函數(shù)值,則由該粒子替換局部極值;如果局部極值的適應(yīng)度函數(shù)值小于全局極值的適應(yīng)度函數(shù)值,則該局部極值替換全局極值(第10行-第15行),并利用公式(4)和公式(5)更新粒子的速度和位置(第16行).本次迭代結(jié)束,迭代次數(shù)加1,進(jìn)入下一次迭代(第17行-第18行). 結(jié)合本文3.2對BP神經(jīng)網(wǎng)絡(luò)的構(gòu)造和描述,由于BP神經(jīng)網(wǎng)絡(luò)對連接權(quán)重和閾值比較敏感,連接權(quán)重和閾值將直接影響到最終的預(yù)測結(jié)果.因此,利用改進(jìn)的粒子群算法對BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)重和閾值進(jìn)行優(yōu)化.優(yōu)化算法流程圖如圖4所示. 圖4 IPSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)流程圖 改進(jìn)的粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的具體步驟為: 步驟1.根據(jù)訓(xùn)練樣本確定BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并用隨機(jī)數(shù)[-1,1]初始化神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和閾值. 步驟2.結(jié)合BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),確定粒子群算法的種群和維度,并根據(jù)BP神經(jīng)網(wǎng)絡(luò)初始化的連接權(quán)值和閾值設(shè)置每個(gè)粒子的初始位置和速度. 步驟4.用公式(9)和公式(10)計(jì)算隱藏層神經(jīng)元的輸出,用公式(11)和公式(12)計(jì)算輸出層神經(jīng)元輸出. 步驟5.運(yùn)行改進(jìn)的粒子群算法,并用公式(7)作為改進(jìn)的粒子群優(yōu)化算法的適應(yīng)度函數(shù).將通過公式(7)計(jì)算所得的適應(yīng)度函數(shù)值,即誤差值,作為判定IPSO的終止條件.當(dāng)該值小于設(shè)定值時(shí),終止優(yōu)化,輸出粒子的速度和位置,進(jìn)入步驟6.如果不滿足,則根據(jù)改進(jìn)的粒子群優(yōu)化算法,利用公式(4)、公式(5)、公式(19)繼續(xù)迭代優(yōu)化,直至適應(yīng)度函數(shù)值小于設(shè)定值,或者達(dá)到最大迭代次數(shù),則輸出粒子的速度和位置,進(jìn)入步驟6. 步驟6.將通過改進(jìn)的粒子群優(yōu)化算法獲得粒子的速度和位置作為最優(yōu)的連接權(quán)重和閾值分配給BP神經(jīng)網(wǎng)絡(luò). 步驟7.判斷訓(xùn)練集中的所有訓(xùn)練樣本是否全部完成訓(xùn)練,如果是,則進(jìn)入步驟8;如果不是,則以當(dāng)前BP神經(jīng)網(wǎng)絡(luò)更新后的連接權(quán)值和閾值作為改進(jìn)粒子群算法的初始速度和位置,返回步驟3繼續(xù)訓(xùn)練,直到所有訓(xùn)練樣本都完成訓(xùn)練. 步驟8.根據(jù)公式(8)計(jì)算所有訓(xùn)練樣本的總誤差E,將總誤差E是否小于設(shè)定值作為終止訓(xùn)練的條件.若滿足終止條件,則完成訓(xùn)練;若不滿足條件,則以當(dāng)前BP神經(jīng)網(wǎng)絡(luò)更新后的連接權(quán)值和閾值作為改進(jìn)粒子群算法的初始速度和位置,返回步驟3繼續(xù)訓(xùn)練,直到滿足終止條件. 實(shí)驗(yàn)環(huán)境及其配置如表 3所示. 表3 實(shí)驗(yàn)環(huán)境配置 通過MATLAB 2019B平臺構(gòu)造1個(gè)制造商,3個(gè)中轉(zhuǎn)倉,10個(gè)客戶廠商的備件供應(yīng)網(wǎng)絡(luò),并針對某一設(shè)備的備件供應(yīng)進(jìn)行模擬仿真,利用得到的連續(xù)3個(gè)月的日備件供應(yīng)數(shù)據(jù),將整理后將前兩個(gè)月的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)樣本,將后一個(gè)月的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的測試數(shù)據(jù)樣本.其中,某客戶廠商的部分備件供應(yīng)數(shù)據(jù)如表4所示.備件供應(yīng)過程中的運(yùn)輸時(shí)間設(shè)置為3天,且由于10個(gè)不同客戶廠商的單位備件倉儲(chǔ)費(fèi)用標(biāo)準(zhǔn)和單位備件缺貨損失費(fèi)用的標(biāo)準(zhǔn)不同,對相關(guān)費(fèi)用標(biāo)準(zhǔn)進(jìn)行定義,如表5所示. 表4 部分仿真數(shù)據(jù) 表5 不同客戶的相關(guān)費(fèi)用標(biāo)準(zhǔn) 基于對備件供應(yīng)模型影響因素的分析,將備件日消耗量、備件庫存量、單位備件價(jià)格、倉儲(chǔ)費(fèi)用、缺貨損失費(fèi)用作為神經(jīng)網(wǎng)絡(luò)輸入層的輸入,將備件的訂貨點(diǎn),訂貨點(diǎn)的備件需求量作為神經(jīng)網(wǎng)絡(luò)輸出層的輸出.故輸入層神經(jīng)元個(gè)數(shù)為5,輸出層神經(jīng)元個(gè)數(shù)為2,確定隱藏層的神經(jīng)元個(gè)數(shù)區(qū)間為[4,13],實(shí)驗(yàn)選取8作為隱藏層神經(jīng)元個(gè)數(shù). 由于備件日消耗量、備件庫存量、單位備件價(jià)格、倉儲(chǔ)費(fèi)用、缺貨損失費(fèi)用作為神經(jīng)網(wǎng)絡(luò)輸入層的輸入項(xiàng),但它們的單位和取值范圍都不相同,故需要對輸入的數(shù)據(jù)做歸一化處理,使輸入的所有數(shù)據(jù)都在[0,1]之間,從而保證在訓(xùn)練和測試過程中輸入和輸出在同一標(biāo)準(zhǔn)下,并且由于BP神經(jīng)網(wǎng)絡(luò)使用的激活函數(shù)為Tanh函數(shù),與真實(shí)值相比,歸一化處理后的數(shù)據(jù)可以避免輸入數(shù)據(jù)過大導(dǎo)致輸出飽和,從而可以更加方便連接權(quán)重的調(diào)整. 歸一化公式如式(26)所示. (26) 其中,xi是神經(jīng)網(wǎng)絡(luò)的輸入量,xmax=max(xi),xmin=min(xi). 本文選用均方誤差(MSE)和標(biāo)準(zhǔn)差(SD)作為判斷各預(yù)測模型性能的評價(jià)指標(biāo).MSE和SD的計(jì)算公式如公式(27)、公式(28)所示. (27) (28) 其中,n為數(shù)據(jù)樣本個(gè)數(shù),f(xi)為模型預(yù)測值,yi為理想最優(yōu)值,μ為模型預(yù)測值的平均值.MSE的值越小,說明模型的預(yù)測值和理想最優(yōu)值的誤差越小,預(yù)測精準(zhǔn)度越高.SD的值越小,說明模型預(yù)測值偏離預(yù)測平均值越少,預(yù)測穩(wěn)定性越高. IPSO-BP模型在標(biāo)準(zhǔn)PSO-BP模型的基礎(chǔ)上,結(jié)合對慣性權(quán)重的改進(jìn)、環(huán)境檢測策略和自適應(yīng)最優(yōu)解跳躍策略的思想對模型進(jìn)行改進(jìn).因此,為驗(yàn)證IPSO-BP模型預(yù)測的精準(zhǔn)性和穩(wěn)定性,本文選取4個(gè)相關(guān)模型進(jìn)行對比,分別是:BP模型,PSO-BP模型,蟻群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型(ACO-BP模型),具備反向?qū)W習(xí)和局部學(xué)習(xí)能力的改進(jìn)粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型[19](RLPSO-BP模型).并通過以下3個(gè)方面進(jìn)行實(shí)驗(yàn)對比: 1)將公式(7)作為IPSO-BP模型和上述4個(gè)對比模型的適應(yīng)度函數(shù)公式,通過對比IPSO-BP模型和上述4個(gè)模型在迭代過程中的適應(yīng)度函數(shù)值,通過比較各個(gè)模型在迭代過程中的收斂速度和收斂精度,收斂精度越小,模型的預(yù)測精準(zhǔn)度越高. 2)將通過IPSO-BP模型和上述4個(gè)對比模型預(yù)測所得的訂貨點(diǎn)的備件需求量輸入到第4.1節(jié)提出的備件供應(yīng)需求預(yù)測模型中,計(jì)算出相應(yīng)的最小化總成本,通過比較不同模型得到的預(yù)測結(jié)果對最小化總成本的影響,結(jié)合備件供應(yīng)中的實(shí)際問題對各模型的預(yù)測性能進(jìn)行評價(jià). 3)分別將IPSO-BP模型和上述4個(gè)對比模型在測試數(shù)據(jù)集上獨(dú)立運(yùn)行20次,通過對比不同模型預(yù)測值的平均值、標(biāo)準(zhǔn)差和均方誤差,以及將不同模型得到的預(yù)測值代入第4.1節(jié)提出的備件供應(yīng)優(yōu)化模型中,計(jì)算出最小化總成本和缺貨次數(shù),用上述評價(jià)指標(biāo)來評價(jià)不同模型的預(yù)測性能. 將BP模型,PSO-BP模型,ACO-BP模型,RLPSO-BP模型,IPSO-BP模型分別在訓(xùn)練數(shù)據(jù)集上進(jìn)行訓(xùn)練,并將所得的適應(yīng)度函數(shù)值進(jìn)行對比,如圖5所示. 圖5 適應(yīng)度函數(shù)值對比 由圖5可以看出,IPSO-BP模型和RLPSO-BP模型相比其他模型的收斂速度較快,收斂精度更好.RLPSO-BP模型憑借其反向?qū)W習(xí)和局部學(xué)習(xí)能力,在迭代前期收斂速度較快.而IPSO-BP模型則憑借對粒子群算法的改進(jìn),在前期迭代中呈現(xiàn)出非線性遞減的下降趨勢,使模型可以搜索遍歷更多的空間以確保穩(wěn)定地尋找到全局最優(yōu)解,當(dāng)尋找到全局最優(yōu)值后便會(huì)迅速線性遞減,進(jìn)入局部搜索,最終使整個(gè)迭代的適應(yīng)度值穩(wěn)定在一較低值附近,使模型的預(yù)測精度更好. 將通過IPSO-BP模型和上述4個(gè)對比模型預(yù)測所得的備件需求量代入第4.1節(jié)提出的備件供應(yīng)優(yōu)化模型中,計(jì)算出最小化總成本,部分結(jié)果對比如圖6所示. 通過對比圖6各個(gè)訂貨點(diǎn)的最小化總成本可以得出,相比未優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型,通過優(yōu)化算法優(yōu)化后的神經(jīng)網(wǎng)絡(luò)模型均可以達(dá)到降低最小化總成本的目的.其中,IPSO-BP模型相比其他優(yōu)化模型使最小化總成本的值更低,且基本趨于一個(gè)穩(wěn)定的值.在實(shí)際備件供應(yīng)過程中,IPSO-BP模型可以有效地降低最小化總成本,進(jìn)而減少客戶廠商在備件供應(yīng)過程中的資金周轉(zhuǎn)壓力. 圖6 最小化總成本對比 將IPSO-BP模型和上述4個(gè)對比模型分別在測試數(shù)據(jù)集上獨(dú)立運(yùn)行20次,并將得到的預(yù)測值代入公式(27)、公式(28),分別得到不同模型的均方誤差(MSE),標(biāo)準(zhǔn)差(SD).并將預(yù)測值代入第4.1節(jié)提出的備件優(yōu)化供應(yīng)模型中,進(jìn)而計(jì)算得到備件需求量預(yù)測平均值(Q),最小化總成本平均值(Z)和平均缺貨次數(shù)(Tc).將上述數(shù)值作為評價(jià)指標(biāo)值進(jìn)行匯總,如表6所示. 表6 評價(jià)指標(biāo)對比 由表6可以看出,IPSO-BP模型相比其余4個(gè)模型的均方誤差值和標(biāo)準(zhǔn)差值都相對較低,說明IPSO-BP模型的預(yù)測精準(zhǔn)度和穩(wěn)定性相對較高.通過對比備件需求量預(yù)測平均值,最小化總成本平均值和平均缺貨次數(shù),可以說明在備件供應(yīng)過程中,IPSO-BP模型可以使客戶廠商在減少訂貨量,減少最小化總成本的前提下,使缺貨次數(shù)也有明顯的降低.在實(shí)際應(yīng)用場景中,可以降低客戶廠商在備件供應(yīng)中的實(shí)際成本,并且有效地降低缺貨對生產(chǎn)經(jīng)營造成的影響. 通過上述實(shí)驗(yàn)結(jié)果可以得出,IPSO-BP模型相比其他模型在預(yù)測精度和預(yù)測穩(wěn)定性上均有明顯提升,并且IPSO-BP模型預(yù)測的備件需求量更切合備件供應(yīng)的實(shí)際需求.綜上,可以證明本文對粒子群算法的改進(jìn)可以使PSO-BP模型的預(yù)測性能有較顯著的提升. 本文結(jié)合制造業(yè)產(chǎn)業(yè)鏈備件供應(yīng)的實(shí)際需求,以終端客戶廠商為目標(biāo),以備件庫存和供應(yīng)為切入點(diǎn),通過構(gòu)造備件供應(yīng)策略優(yōu)化模型,并通過IPSO-BP神經(jīng)網(wǎng)絡(luò)模型對備件供應(yīng)流程中訂貨時(shí)的備件需求量進(jìn)行預(yù)測,實(shí)驗(yàn)結(jié)果表明,通過IPSO-BP神經(jīng)網(wǎng)絡(luò)模型得到的預(yù)測值更符合備件供應(yīng)的各項(xiàng)實(shí)際需求.在對粒子群算法的改進(jìn)中,本文分別從粒子群算法的慣性權(quán)重、環(huán)境檢測策略、自適應(yīng)最優(yōu)解跳躍策略這3個(gè)方面進(jìn)行融合改進(jìn),使改進(jìn)后的粒子群算法對BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)重和閾值進(jìn)行優(yōu)化,實(shí)驗(yàn)結(jié)果表明,在和不同神經(jīng)網(wǎng)絡(luò)模型對比下,本文提出的IPSO-BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測性能有明顯的提升. 在對備件供應(yīng)策略的研究過程中發(fā)現(xiàn),備件故障也是備件需求供應(yīng)的影響因素,但本文的備件供應(yīng)策略優(yōu)化模型并沒有將備件故障考慮在內(nèi).未來通過采用深度學(xué)習(xí)等方法,將對備件故障預(yù)測進(jìn)行研究,將進(jìn)一步完善備件供應(yīng)優(yōu)化策略作為下一步深入研究的方向和內(nèi)容.4.3 改進(jìn)的粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
5 實(shí)驗(yàn)分析
5.1 實(shí)驗(yàn)環(huán)境
5.2 實(shí)驗(yàn)數(shù)據(jù)
5.3 數(shù)據(jù)預(yù)處理
5.4 評價(jià)指標(biāo)
5.5 對比實(shí)驗(yàn)設(shè)置
5.6 實(shí)驗(yàn)結(jié)果分析
6 結(jié) 論