沈陽(yáng)工學(xué)院 姚海波
供應(yīng)鏈上的需求是供應(yīng)鏈管理中的關(guān)鍵問(wèn)題,尤其是在由需求拉動(dòng)的鏈條上,進(jìn)行需求預(yù)測(cè)可以有效地減少不確定性因素對(duì)供應(yīng)鏈績(jī)效的負(fù)面影響。當(dāng)前,供應(yīng)商、制造商、分銷商、零售商以至最終用戶之間不再是獨(dú)立的個(gè)體,追求的也不是自身利益的最大化,而是逐漸形成戰(zhàn)略合作伙伴關(guān)系,尋求的是整體的最優(yōu)。
協(xié)同計(jì)劃、預(yù)測(cè)與補(bǔ)給(Collaborative Planning,F(xiàn)orecast and Replenishment, CPFR),可以實(shí)現(xiàn)供應(yīng)鏈上合作伙伴間協(xié)同計(jì)劃、預(yù)測(cè)并共享需要的資源和信息,減少需求的不確定性,更精確地掌握用戶的需求情況。而預(yù)測(cè)模型的構(gòu)建和選擇直接關(guān)系到最終預(yù)測(cè)結(jié)果的精度,因此,有必要研究基于信息共享機(jī)制的協(xié)同需求量預(yù)測(cè)模型。
遺傳算法由美國(guó)Michigan大學(xué)的Holland教授首先提出,是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過(guò)程的計(jì)算模型,是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解的方法。遺傳算法是從代表問(wèn)題可能潛在的解集的一個(gè)種群(population)開始的,而一個(gè)種群則由經(jīng)過(guò)基因(gene)編碼的一定數(shù)目的個(gè)體(individual)組成。每個(gè)個(gè)體實(shí)際上是染色體(chromosome)帶有特征的實(shí)體。染色體作為遺傳物質(zhì)的主要載體,即多個(gè)基因的集合,其內(nèi)部表現(xiàn)(即基因型)是某種基因組合,它決定了個(gè)體的形狀的外部表現(xiàn),如黑頭發(fā)的特征是由染色體中控制這一特征的某種基因組合決定的。因此,在一開始需要實(shí)現(xiàn)從表現(xiàn)型到基因型的映射即編碼工作。
由于仿照基因編碼的工作很復(fù)雜,我們往往進(jìn)行簡(jiǎn)化,如二進(jìn)制編碼,初代種群產(chǎn)生之后,按照適者生存和優(yōu)勝劣汰的原理,逐代(generation)演化產(chǎn)生出越來(lái)越好的近似解,在每一代,根據(jù)問(wèn)題域中個(gè)體的適應(yīng)度(fitness)大小選擇(selection)個(gè)體,并借助于自然遺傳學(xué)的遺傳算子(genetic operators)進(jìn)行組合交叉(crossover)和變異(mutation),產(chǎn)生出代表新的解集的種群。這個(gè)過(guò)程將導(dǎo)致種群像自然進(jìn)化一樣的后生代種群比前代更加適應(yīng)于環(huán)境,末代種群中的最優(yōu)個(gè)體經(jīng)過(guò)解碼(decoding),可以作為問(wèn)題近似最優(yōu)解。遺傳算法能以很大的概率找到全局最優(yōu)解,特別適合處理傳統(tǒng)搜索方法解決不了的復(fù)雜和非線性問(wèn)題。
遺傳算法是解決搜索問(wèn)題的一種通用算法,對(duì)于各種通用問(wèn)題都可以使用。搜索算法的共同特征為:一是首先組成一組候選解;二是依據(jù)某些適應(yīng)性條件測(cè)算這些候選解的適應(yīng)度;三是根據(jù)適應(yīng)度保留某些候選解,放棄其他候選解;四是對(duì)保留的候選解進(jìn)行某些操作,生成新的候選解。在遺傳算法中,上述幾個(gè)特征以一種特殊的方式組合在一起:基于染色體群并行搜索,帶有猜測(cè)性質(zhì)的選擇操作、交換操作和突變操作。
反向傳播網(wǎng)絡(luò)(Back-Propagation Network,簡(jiǎn)稱BP網(wǎng)絡(luò))是將W-H學(xué)習(xí)規(guī)則一般化,對(duì)非線性可微分函數(shù)進(jìn)行權(quán)值訓(xùn)練的多層網(wǎng)絡(luò)。
BP神經(jīng)網(wǎng)絡(luò)的產(chǎn)生歸功于BP算法的獲得。BP算法是由兩部分組成:信息的正向傳遞與誤差的反向傳播。在正向傳播過(guò)程中,輸入信息從輸入經(jīng)隱含層逐層計(jì)算傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層沒有得到期望的輸出,則計(jì)算輸出層的誤差變化值,然后轉(zhuǎn)向反向傳播,通過(guò)網(wǎng)絡(luò)將誤差信號(hào)沿著原來(lái)的連線線路反向傳遞回來(lái)修改各層神經(jīng)元的權(quán)值,直到達(dá)到網(wǎng)絡(luò)期望的目標(biāo)值。
為了訓(xùn)練一個(gè)BP網(wǎng)絡(luò),需要計(jì)算網(wǎng)絡(luò)加權(quán)輸入矢量、網(wǎng)絡(luò)輸出和誤差矢量,然后計(jì)算誤差平方和。當(dāng)所訓(xùn)練矢量的誤差平方和小于目標(biāo)誤差,訓(xùn)練停止,否則在輸出層計(jì)算誤差變化,而且采用反向傳播學(xué)習(xí)規(guī)則來(lái)調(diào)整權(quán)值,并重復(fù)這個(gè)過(guò)程。當(dāng)網(wǎng)絡(luò)懸鏈完成后,對(duì)網(wǎng)絡(luò)輸入一個(gè)不是訓(xùn)練集合中的矢量時(shí),網(wǎng)絡(luò)可以以泛化方式輸出結(jié)果。
神經(jīng)網(wǎng)絡(luò)權(quán)值的調(diào)整是在誤差反向傳播過(guò)程中逐層進(jìn)行的,當(dāng)網(wǎng)絡(luò)的所有權(quán)值都被更新一次之后,網(wǎng)絡(luò)就經(jīng)過(guò)了一個(gè)學(xué)習(xí)周期。網(wǎng)絡(luò)經(jīng)過(guò)若干個(gè)學(xué)習(xí)周期后,便得到了網(wǎng)絡(luò)的最優(yōu)權(quán)值。在此基礎(chǔ)上就可以利用所建立的BP網(wǎng)絡(luò)對(duì)需求進(jìn)行相對(duì)準(zhǔn)確的預(yù)測(cè)。
BP神經(jīng)網(wǎng)絡(luò)使用廣泛,但其對(duì)隱含層神經(jīng)元的個(gè)數(shù)沒有確定的最佳數(shù)目,初始權(quán)值和閾值是隨機(jī)產(chǎn)生,以及網(wǎng)絡(luò)訓(xùn)練最終的結(jié)果是得到的是局部最優(yōu)解。遺傳算法遵循“優(yōu)勝劣汰”的原則,能從進(jìn)化好的個(gè)體中選擇最優(yōu)解,是可以求得全局最優(yōu)解的方法。遺傳算法可以通過(guò)優(yōu)化神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,恰能很好地克服BP神經(jīng)網(wǎng)絡(luò)的缺陷,提高神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性,進(jìn)而獲得全局最優(yōu)解。
GA-BP神經(jīng)網(wǎng)絡(luò)具體操作步驟如下:
(1)構(gòu)建BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),本文采取三層網(wǎng)絡(luò),即輸入層—隱含層—輸出層,輸入層節(jié)點(diǎn)數(shù)由供應(yīng)鏈協(xié)同預(yù)測(cè)的影響因素個(gè)數(shù)確定,隱含層的節(jié)點(diǎn)數(shù)由誤差值和樣本的個(gè)數(shù)共同確定,輸出層節(jié)點(diǎn)數(shù)由需求預(yù)測(cè)的時(shí)間段來(lái)確定;
(2)初始化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,用遺傳算法對(duì)其進(jìn)行優(yōu)化編碼,本文采用實(shí)數(shù)編碼,隨機(jī)生成初始種群;
(3)訓(xùn)練神經(jīng)網(wǎng)絡(luò),以誤差值調(diào)整初始值;
(4)遺傳操作:選擇、交叉和變異,進(jìn)化種群;
(5)判斷:計(jì)算適應(yīng)值,如果不滿足條件,返回上一步操作,如果滿足,則結(jié)束,得到最優(yōu)的權(quán)值和閾值;
(6)計(jì)算神經(jīng)網(wǎng)絡(luò)誤差值,在允許范圍內(nèi),則可利用該模型進(jìn)行需求預(yù)測(cè),如果不滿足,則回到上一步,直至滿足條件。
預(yù)測(cè)一般可以分為短期預(yù)測(cè)、中期預(yù)測(cè)和長(zhǎng)期預(yù)測(cè),本文選取某日用品為例,考慮到商品屬于便利品的屬性,日常需求量大的特點(diǎn),也為了保證有足夠的樣本數(shù)量,本文選取的采樣頻度為一周。該日用品的供應(yīng)商與零售商,建立了基于信息和資源共享的協(xié)同機(jī)制,零售商實(shí)時(shí)向供應(yīng)商共享其過(guò)往一周的實(shí)際銷量,供應(yīng)商采用GA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),以應(yīng)對(duì)下一期的需求,保證足夠的銷量,提高該供應(yīng)鏈條的有效供給量?,F(xiàn)以某品牌日用品的供應(yīng)商得到有關(guān)數(shù)據(jù),這個(gè)數(shù)據(jù)是從多個(gè)大型超市獲得本周總需求量,如表1所示。
表1 日用品供應(yīng)商各周需求數(shù)據(jù)匯總表
將歷史數(shù)據(jù)作為樣本輸入BP網(wǎng)絡(luò)的輸入層,對(duì)GA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。模型中網(wǎng)絡(luò)結(jié)構(gòu)為輸入12-隱含25-輸出1。這里取遺傳算法的初始種群數(shù)為50,最大的遺傳代數(shù)設(shè)為60,交叉概率0.9,變異概率0.01,初始權(quán)值的取值范圍是-1~1;網(wǎng)絡(luò)學(xué)習(xí)速率為0.02,最大迭代次數(shù)是2000次,誤差目標(biāo)值定為0.005。模型運(yùn)用MATLAB工具求解,預(yù)測(cè)結(jié)果如圖1所示。
圖1 某日用品GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
圖1中的星號(hào)代表各期的預(yù)測(cè)值,實(shí)線代表實(shí)際的銷售量構(gòu)成的曲線,很明顯,預(yù)測(cè)值相對(duì)實(shí)際值的偏離是非常小的。本文用平均平方誤差MSE和平均絕對(duì)偏差MAD兩個(gè)指標(biāo)來(lái)衡量GA-BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果,如表2所示。
表2 GA-BP預(yù)測(cè)結(jié)果比較
供應(yīng)鏈協(xié)同是當(dāng)前供應(yīng)鏈管理的主流形式,供應(yīng)商、制造商、分銷商和零售商以及最終用戶都已經(jīng)意識(shí)到只有共享的合作機(jī)制可以提高整體的收益,如果脫離整體去尋求自身利益最大已不再可行。對(duì)于需求拉動(dòng)的供應(yīng)鏈,能利用有效的預(yù)測(cè)模型近乎準(zhǔn)確地得到未來(lái)需求數(shù)據(jù)是供應(yīng)鏈上合作企業(yè)的共同目標(biāo)。本文提出將GA-BP神經(jīng)網(wǎng)絡(luò)模型用于供應(yīng)鏈上的協(xié)同預(yù)測(cè),并用實(shí)例證明了該模型的有效性,未來(lái)研究可以考慮如何更好地加快神經(jīng)網(wǎng)絡(luò)的收斂速度,以獲得更高的預(yù)測(cè)精度。
[1] Partovi F Y,Anandarajan M,Classifying inventory using an artificial neural network approach.Computers & Industrial Engineering,vol.41,2002.
[2] 后銳,張畢西.基于MLP神經(jīng)網(wǎng)絡(luò)的區(qū)域物流需求預(yù)測(cè)方法及其應(yīng)用[J].系統(tǒng)工程理論與實(shí)踐,2005(12).
[3] 董紹輝,張志清,西寶.供應(yīng)鏈協(xié)同需求預(yù)測(cè)機(jī)制研究[J].運(yùn)籌與管理,2010(10).
[4] 胡萬(wàn)達(dá).基于遺傳BP神經(jīng)網(wǎng)絡(luò)的區(qū)域物流需求預(yù)測(cè)[J].重慶三峽學(xué)院學(xué)報(bào),2014(5).
[5] 叢爽.面向MATLAB工具箱的神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用(第二版)[M].中國(guó)科學(xué)技術(shù)大學(xué)出版社,2003.