李 蕊
(煙臺理工學院,山東 煙臺 264000)
隨著全球經濟的不斷發展,企業之間的競爭逐漸轉變為產業供應鏈間的競爭,供應鏈的管理成為了競爭的重要環節與手段。我國著名學者馬士華,等[1]給出的供應鏈定義中指出,供應鏈是圍繞核心企業,通過對信息流、物流、資金流的控制從采購原材料開始制成半成品以及最終產品,最后由銷售網絡把產品送到消費者手中的供應商、制造商、分銷商、零售商、直到最終用戶連成一個整體的功能網鏈結構模式。供應鏈中的核心企業是整個功能網鏈的中軸,是供應鏈資金流以及商品流的綜合分轉核心,以制造企業為例,其供應鏈中合作伙伴的合理選擇是建立高效供應鏈、贏得最大利益的重要環節,因此,供應鏈合作伙伴的選擇方法成為了該領域研究的重要方向。目前,國內外在供應鏈合作伙伴評價方法的研究方面有很多成果[2-5],可歸納為經濟分析法、專家評價法、層次分析法(AHP)、模糊綜合評價法、灰色關聯分析法、數理統計法以及以BP(Back Propagation)神經網絡方法等。根據供應鏈合作伙伴關系的特點,在進行選擇過程中需建立科學合理的評價指標體系,這些指標特性的關系往往是非線性的關系,利用專家評價、層次分析法、模糊數學和灰色系統等方法很難反映這種非線性關系,而且這些方法在人的參與過程中,存在主觀上的隨意性、思維上的不定性,比如,評價指標權重的確定存在較大的主觀性,會給評價結果帶來較大的影響。神經網絡的方法可以很好地解決上述問題,神經網絡具有較好的學習能力和泛化能力。神經網絡可利用典型的案例集合,通過學習其內部的規則和非線性關系來訓練網絡內部結構,并可將典型系統中的知識、經驗以及對重要性的權衡等信息應用于新的系統,從而得到合理的評價結果,神經網絡可以很好地處理這些復雜的非線性問題[6-7]。BP神經網絡是一種信息正向傳播但是誤差逆向傳播的神經網絡,該網絡因其具有較多優點被廣泛的應用[8-10],包括非線性的映射能力、聯想記憶能力、自學習能力、自適應能力、泛化能力、容錯能力等。然而BP神經網絡的使用需要解決幾個問題。一般情況下,BP神經網絡結構采用三層,即輸入層、隱層以及輸出層,輸入層和輸出層節點個數根據任務確定,重要的是隱層節點個數的確定。過多的隱層節點數會使新的輸入集難以適應該網絡,而過少的隱層節點數會使網絡的精度受到影響,因此合理選擇隱層節點數是BP神經網絡應用必須解決的問題之一。文獻[11]中提出設置隱層節點數為ab,其中a、b為輸入和輸出的節點個數。但是固定的隱層節點數會降低神經網絡的自適應性。另一方面,BP神經網絡可將網絡誤差逆向傳輸從而優化節點間的權重和閾值,直到誤差滿足要求為止。因此應力求通過最少的訓練步數找到最優權重和閾值使網絡誤差滿足要求,從而使BP神經網絡具有更好的性能。
本文采用基于遺傳算法(GA,Genetic Algorithm)優化的BP神經網絡方法進行供應鏈合作伙伴的評價,其中遺傳算法用于尋找BP神經網絡的最優權值和閾值。本文,先利用公式ab計算隱層節點數,利用計算得到的值選取一個范圍,利用Matlab仿真軟件進行仿真論證,找到最優隱層節點數。最后結合供應鏈合作伙伴評價的實例,驗證GABP神經網絡方法的有效性。
二十世紀七十年代,美國著名教授霍蘭德(J.H.Holland)首次提出遺傳算法的思想,將自然界生物遺傳與進化思想應用到解決復雜程序中,將“遺傳”與“進化”思想應用到人工智能系統中,并且在多個自動化程序設計中得到了較好的應用,遺傳算法正在受到人們極大的關注[12],遺傳算法的基本工作流程圖如圖1所示[13]。

圖1 遺傳算法流程框圖
實際問題中的各個變量映射為一個個染色體,染色體種群經過一系列選擇、交叉及變異產生新的個體,構成新的種群,經過自適應度的計算及篩選,得到較優解或最優解[14]。具體的操作如下:
(1)選擇。選擇操作能夠保持染色體的多樣性,但是適應度較高的個體也有可能被淘汰,從而使得結果的偏差。
(2)交叉。交叉時兩個染色體的部分片段相互交換,從而產生新的染色體。
(3)變異。變異是染色體存在一定的概率變化操作,具體表現為遺傳因子的部分片段替換成為與其對立的編碼,通過這種方法引入染色體的多樣性變化[15]。
BP神經網絡的基本結構如圖2所示。

圖2 BP神經網絡基本結構
利用遺傳算法優化的BP神經網絡基本工作流程如圖3所示。

圖3 GABP工作流程框圖
利用GABP神經網絡進行供應鏈合作伙伴的評價,以文獻[16]中的實例作為研究對象,即Simplex系統咨詢公司為福特汽車全球采購中心尋找機油濾清器供應商的評估結果,對文中13家供應商中前8家的數據進行研究。首先,建立評價的指標體系,為方便比較評價方法的優劣,采用文獻[16]中的評價指標體系,見表1,包括四大類評價準則,共27個評價指標。

表1 供應商評價指標體系
Simplex系統咨詢公司在供應鏈合作伙伴選擇和評價方面有著豐富的成功實踐經驗,同時具備資深的咨詢專家隊伍,專家評分具備權威性。借鑒文獻[17]的數據,見表2列出的8家候選企業的評分。
表2中A1~A27為27個評價指標,S1-S8為8個候選企業,文獻[16]給出了理想目標值,即專家利用加權法得到評價值見表3。將候選企業S1~S5的數據和評價值作為GABP神經網絡的訓練樣本集,將候選企業S6~S7的數據和評價值作為測試樣本集。利用網絡訓練樣本集對GABP神經網絡進行訓練學習,使網絡對訓練樣本集中的規則、知識和認知進行學習,而后將測試樣本集中候選企業S6~S7的指標數據作為網絡的輸入,得到網絡評價輸出,測試樣本集中的評價值進行比較分析,驗證GABP神經網絡評價方法的有效性。

表3 供應商評價理想目標值
表2中的評價指標數據具有不同的量綱和屬性,要使用Matlab軟件進行GABP神經網絡評價必須將表2中的數據進行歸一化處理,根據文獻[16]給出的方法,可利用如下的Matlab程序進行歸一化:

表2 供應商評價數據
for:i=1:8;
p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
p(i,:);
end;
其中p(i,:)為需要進行歸一化的數據,min(p(i,:))、max(p(i,:))分別為其對應的最小值、最大值。歸一化后的數據成為[0,1]范圍內的數據,見表4。

表4 供應商評價歸一化數據
考慮到對候選企業的評價指標有27個,因此GABP神經網絡的輸入層節點個數設為27個,輸出層反映的是評價值,因此輸出層節點數設為1個。隱層節點數先利用公式ab進行計算,即為5左右,選擇區間設為[5,15],根據網絡訓練情況進行調整選定。具體選定過程如下:


P為GABP神經網絡的訓練樣本集的輸入向量,選取候選企業S1~S5的評價數據。
t=[0.684,0.554,0.416,0.637,0.667]。t為 訓 練樣本集的輸出向量,為候選企業S1~S5的理想目標值。
tshold=[0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1;0,1]。tshold為輸入向量各元素的取值范圍。
Y=[5,6,7,8,9,10,11,12,13,14,15],Y是待選的隱層節點數,通過仿真論證選取最優值。
BP神經網絡隱層節點論證程序如下:
for i=1:11
net=newff(tshold,[Y(i),1],{‘tansig’,‘logsig’},‘traingdx’);
net.trainParam.epochs=1 000;
net.trainParam.goal=0.000 001;
net=train(net,p,t);
end
net.trainParam.epochs為仿真步數,net.trainParam.goal為設置的網絡目標誤差,tansig、logsig分別為輸入層到隱層、隱層到輸出層的傳遞函數,traingdx為神經網絡的訓練函數。若只使用BP神經網絡進行訓練上述程序即可完成,本文采用遺傳算法對BP神經網絡的權值和閾值進行尋優。使用遺傳算法進行尋優,需要在Matlab軟件中調用GAOT工具箱,目標函數定義為gabpEval,即遺傳算法的適應度函數,具體程序如下:

net.IW{1,1}=W1;W1為輸入層到隱含層的權重矩陣,net.LW{2,1}=W2;W2為隱含層到輸出層的權重矩陣,net.b{1}=B1;B1為隱含層的閾值向量,net.b{2}=B2;B2為輸出結點的閾值向量。利用遺傳算法進行尋優后,再利用BP神經網絡進行訓練,即執行net=train(net,p,t),執行結果如圖4-圖14所示。

圖4 隱層節點數為5時訓練結果

圖5 隱層節點數為6時訓練結果

圖14 隱層節點數為15時訓練結果
通過網絡訓練結果可以得到訓練步數和隱層節點數關系,見表5。

圖6 隱層節點數為7時訓練結果

圖7 隱層節點數為8時訓練結果

圖8 隱層節點數為9時訓練結果

圖9 隱層節點數為10時訓練結果
通過訓練結果圖4-14以及表5中的關系,可以很直觀地觀察到,在隱層節點數為5、6時,網絡需要訓練100步以上才能達到目標誤差要求,在隱層節點數為10時,訓練步數為55,然而隨著節點數的增加訓練步數也隨著增加,同時也并不能明顯改善網絡性能,相反增加了節點數增加了網絡負擔。因此,隱層節點數選擇為10比較合適。

表5 隱層節點數與訓練步數關系表

圖10 隱層節點數為11時訓練結果

圖11 隱層節點數為12時訓練結果

圖12 隱層節點數為13時訓練結果

圖13 隱層節點數為14時訓練結果
隱層節點數設定為10后,完成GABP神經網絡的學習訓練,即可對測試樣本集進行測試。測試樣本集的輸入量為S6~S8的評價數據,即


測試樣本集的目標輸出量為t1=[0.375,0.661,0.54],利用訓練完成的GABP網絡對測試樣本集進行仿真,得到t_test=[0.425 7,0.663 7,0.519 2],見表6。

表6 GABP評價值與目標值對比表
根據表6中數據的對比可知,利用GABP神經網絡的評價值與目標值基本接近,而且排序一致,說明利用GABP神經網絡進行供應鏈合作伙伴的評價方法是有效的。
上文中的結果證明了GABP神經網絡對供應鏈合作伙伴進行評價的方法是有效的。在此基礎上,與BP神經網絡進行比較分析。
選用相同的訓練樣本集以及測試樣本集,隱層節點數均設為10,圖15為BP神經網絡訓練結果,網絡誤差達到0.000 001需要經過111步。圖16為GABP神經網絡訓練結果,網絡誤差達到0.000 001需要經過65步,通過對比可以看出經過遺傳算法優化的BP神經網絡具有更好的性能。

圖15 BP神經網絡網絡訓練結果

圖16 GABP神經網絡訓練結果
表7中將BP神經網絡評價、GABP神經網絡評價與目標值進行比對,可以發現BP神經網絡的評價值與目標值相比排序一致,但是評價值與目標值間有著較大的誤差,這說明GABP神經網絡與BP神經網絡在供應鏈合作伙伴評價方法具有更大的優勢。

表7 GABP評價值與BP評價值對比表
利用基于遺傳算法優化的BP神經網絡對供應鏈合作伙伴進行評價,是一種科學、合理的評價方法。
(1)利用GABP神經網絡進行評價,可以盡量減少主觀性對評價結果的影響,同時使評價過程更加便捷、準確;
(2)不同于以往的BP神經網絡評價方法,利用了遺傳算法對BP神經網絡的權重和閾值進行尋優,實際上BP神經網絡自身的運行機制需要對權重和閾值進行尋優從而降低網絡誤差,利用遺傳算法優化BP神經網絡的本質是縮短BP網絡對權重和閾值的尋優過程,為網絡減小壓力,使網絡性能更強。與BP神經網絡評價方法進行比較可以看出,GABP方法的步數不需100步即可實現0.000 001的網絡誤差要求,這說明了遺傳算法對BP神經網絡優化的優勢;
(3)在利用GABP神經網絡評價過程中,隱層節點數的設置沒有比較有絕對優勢的確定方法,本文中利用訓練樣本集對隱層節點數進行訓練論證,通過分析最后確定比較合理的隱層節點數,該方法值得推廣。