李 蕊
(煙臺(tái)理工學(xué)院,山東 煙臺(tái) 264000)
隨著全球經(jīng)濟(jì)的不斷發(fā)展,企業(yè)之間的競(jìng)爭(zhēng)逐漸轉(zhuǎn)變?yōu)楫a(chǎn)業(yè)供應(yīng)鏈間的競(jìng)爭(zhēng),供應(yīng)鏈的管理成為了競(jìng)爭(zhēng)的重要環(huán)節(jié)與手段。我國(guó)著名學(xué)者馬士華,等[1]給出的供應(yīng)鏈定義中指出,供應(yīng)鏈?zhǔn)菄@核心企業(yè),通過(guò)對(duì)信息流、物流、資金流的控制從采購(gòu)原材料開(kāi)始制成半成品以及最終產(chǎn)品,最后由銷售網(wǎng)絡(luò)把產(chǎn)品送到消費(fèi)者手中的供應(yīng)商、制造商、分銷商、零售商、直到最終用戶連成一個(gè)整體的功能網(wǎng)鏈結(jié)構(gòu)模式。供應(yīng)鏈中的核心企業(yè)是整個(gè)功能網(wǎng)鏈的中軸,是供應(yīng)鏈資金流以及商品流的綜合分轉(zhuǎn)核心,以制造企業(yè)為例,其供應(yīng)鏈中合作伙伴的合理選擇是建立高效供應(yīng)鏈、贏得最大利益的重要環(huán)節(jié),因此,供應(yīng)鏈合作伙伴的選擇方法成為了該領(lǐng)域研究的重要方向。目前,國(guó)內(nèi)外在供應(yīng)鏈合作伙伴評(píng)價(jià)方法的研究方面有很多成果[2-5],可歸納為經(jīng)濟(jì)分析法、專家評(píng)價(jià)法、層次分析法(AHP)、模糊綜合評(píng)價(jià)法、灰色關(guān)聯(lián)分析法、數(shù)理統(tǒng)計(jì)法以及以BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)方法等。根據(jù)供應(yīng)鏈合作伙伴關(guān)系的特點(diǎn),在進(jìn)行選擇過(guò)程中需建立科學(xué)合理的評(píng)價(jià)指標(biāo)體系,這些指標(biāo)特性的關(guān)系往往是非線性的關(guān)系,利用專家評(píng)價(jià)、層次分析法、模糊數(shù)學(xué)和灰色系統(tǒng)等方法很難反映這種非線性關(guān)系,而且這些方法在人的參與過(guò)程中,存在主觀上的隨意性、思維上的不定性,比如,評(píng)價(jià)指標(biāo)權(quán)重的確定存在較大的主觀性,會(huì)給評(píng)價(jià)結(jié)果帶來(lái)較大的影響。神經(jīng)網(wǎng)絡(luò)的方法可以很好地解決上述問(wèn)題,神經(jīng)網(wǎng)絡(luò)具有較好的學(xué)習(xí)能力和泛化能力。神經(jīng)網(wǎng)絡(luò)可利用典型的案例集合,通過(guò)學(xué)習(xí)其內(nèi)部的規(guī)則和非線性關(guān)系來(lái)訓(xùn)練網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu),并可將典型系統(tǒng)中的知識(shí)、經(jīng)驗(yàn)以及對(duì)重要性的權(quán)衡等信息應(yīng)用于新的系統(tǒng),從而得到合理的評(píng)價(jià)結(jié)果,神經(jīng)網(wǎng)絡(luò)可以很好地處理這些復(fù)雜的非線性問(wèn)題[6-7]。BP神經(jīng)網(wǎng)絡(luò)是一種信息正向傳播但是誤差逆向傳播的神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)因其具有較多優(yōu)點(diǎn)被廣泛的應(yīng)用[8-10],包括非線性的映射能力、聯(lián)想記憶能力、自學(xué)習(xí)能力、自適應(yīng)能力、泛化能力、容錯(cuò)能力等。然而B(niǎo)P神經(jīng)網(wǎng)絡(luò)的使用需要解決幾個(gè)問(wèn)題。一般情況下,BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)采用三層,即輸入層、隱層以及輸出層,輸入層和輸出層節(jié)點(diǎn)個(gè)數(shù)根據(jù)任務(wù)確定,重要的是隱層節(jié)點(diǎn)個(gè)數(shù)的確定。過(guò)多的隱層節(jié)點(diǎn)數(shù)會(huì)使新的輸入集難以適應(yīng)該網(wǎng)絡(luò),而過(guò)少的隱層節(jié)點(diǎn)數(shù)會(huì)使網(wǎng)絡(luò)的精度受到影響,因此合理選擇隱層節(jié)點(diǎn)數(shù)是BP神經(jīng)網(wǎng)絡(luò)應(yīng)用必須解決的問(wèn)題之一。文獻(xiàn)[11]中提出設(shè)置隱層節(jié)點(diǎn)數(shù)為ab,其中a、b為輸入和輸出的節(jié)點(diǎn)個(gè)數(shù)。但是固定的隱層節(jié)點(diǎn)數(shù)會(huì)降低神經(jīng)網(wǎng)絡(luò)的自適應(yīng)性。另一方面,BP神經(jīng)網(wǎng)絡(luò)可將網(wǎng)絡(luò)誤差逆向傳輸從而優(yōu)化節(jié)點(diǎn)間的權(quán)重和閾值,直到誤差滿足要求為止。因此應(yīng)力求通過(guò)最少的訓(xùn)練步數(shù)找到最優(yōu)權(quán)重和閾值使網(wǎng)絡(luò)誤差滿足要求,從而使BP神經(jīng)網(wǎng)絡(luò)具有更好的性能。
本文采用基于遺傳算法(GA,Genetic Algorithm)優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)方法進(jìn)行供應(yīng)鏈合作伙伴的評(píng)價(jià),其中遺傳算法用于尋找BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值和閾值。本文,先利用公式ab計(jì)算隱層節(jié)點(diǎn)數(shù),利用計(jì)算得到的值選取一個(gè)范圍,利用Matlab仿真軟件進(jìn)行仿真論證,找到最優(yōu)隱層節(jié)點(diǎn)數(shù)。最后結(jié)合供應(yīng)鏈合作伙伴評(píng)價(jià)的實(shí)例,驗(yàn)證GABP神經(jīng)網(wǎng)絡(luò)方法的有效性。
二十世紀(jì)七十年代,美國(guó)著名教授霍蘭德(J.H.Holland)首次提出遺傳算法的思想,將自然界生物遺傳與進(jìn)化思想應(yīng)用到解決復(fù)雜程序中,將“遺傳”與“進(jìn)化”思想應(yīng)用到人工智能系統(tǒng)中,并且在多個(gè)自動(dòng)化程序設(shè)計(jì)中得到了較好的應(yīng)用,遺傳算法正在受到人們極大的關(guān)注[12],遺傳算法的基本工作流程圖如圖1所示[13]。
圖1 遺傳算法流程框圖
實(shí)際問(wèn)題中的各個(gè)變量映射為一個(gè)個(gè)染色體,染色體種群經(jīng)過(guò)一系列選擇、交叉及變異產(chǎn)生新的個(gè)體,構(gòu)成新的種群,經(jīng)過(guò)自適應(yīng)度的計(jì)算及篩選,得到較優(yōu)解或最優(yōu)解[14]。具體的操作如下:
(1)選擇。選擇操作能夠保持染色體的多樣性,但是適應(yīng)度較高的個(gè)體也有可能被淘汰,從而使得結(jié)果的偏差。
(2)交叉。交叉時(shí)兩個(gè)染色體的部分片段相互交換,從而產(chǎn)生新的染色體。
(3)變異。變異是染色體存在一定的概率變化操作,具體表現(xiàn)為遺傳因子的部分片段替換成為與其對(duì)立的編碼,通過(guò)這種方法引入染色體的多樣性變化[15]。
BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
利用遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)基本工作流程如圖3所示。
圖3 GABP工作流程框圖
利用GABP神經(jīng)網(wǎng)絡(luò)進(jìn)行供應(yīng)鏈合作伙伴的評(píng)價(jià),以文獻(xiàn)[16]中的實(shí)例作為研究對(duì)象,即Simplex系統(tǒng)咨詢公司為福特汽車(chē)全球采購(gòu)中心尋找機(jī)油濾清器供應(yīng)商的評(píng)估結(jié)果,對(duì)文中13家供應(yīng)商中前8家的數(shù)據(jù)進(jìn)行研究。首先,建立評(píng)價(jià)的指標(biāo)體系,為方便比較評(píng)價(jià)方法的優(yōu)劣,采用文獻(xiàn)[16]中的評(píng)價(jià)指標(biāo)體系,見(jiàn)表1,包括四大類評(píng)價(jià)準(zhǔn)則,共27個(gè)評(píng)價(jià)指標(biāo)。
表1 供應(yīng)商評(píng)價(jià)指標(biāo)體系
Simplex系統(tǒng)咨詢公司在供應(yīng)鏈合作伙伴選擇和評(píng)價(jià)方面有著豐富的成功實(shí)踐經(jīng)驗(yàn),同時(shí)具備資深的咨詢專家隊(duì)伍,專家評(píng)分具備權(quán)威性。借鑒文獻(xiàn)[17]的數(shù)據(jù),見(jiàn)表2列出的8家候選企業(yè)的評(píng)分。
表2中A1~A27為27個(gè)評(píng)價(jià)指標(biāo),S1-S8為8個(gè)候選企業(yè),文獻(xiàn)[16]給出了理想目標(biāo)值,即專家利用加權(quán)法得到評(píng)價(jià)值見(jiàn)表3。將候選企業(yè)S1~S5的數(shù)據(jù)和評(píng)價(jià)值作為GABP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本集,將候選企業(yè)S6~S7的數(shù)據(jù)和評(píng)價(jià)值作為測(cè)試樣本集。利用網(wǎng)絡(luò)訓(xùn)練樣本集對(duì)GABP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練學(xué)習(xí),使網(wǎng)絡(luò)對(duì)訓(xùn)練樣本集中的規(guī)則、知識(shí)和認(rèn)知進(jìn)行學(xué)習(xí),而后將測(cè)試樣本集中候選企業(yè)S6~S7的指標(biāo)數(shù)據(jù)作為網(wǎng)絡(luò)的輸入,得到網(wǎng)絡(luò)評(píng)價(jià)輸出,測(cè)試樣本集中的評(píng)價(jià)值進(jìn)行比較分析,驗(yàn)證GABP神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)方法的有效性。
表3 供應(yīng)商評(píng)價(jià)理想目標(biāo)值
表2中的評(píng)價(jià)指標(biāo)數(shù)據(jù)具有不同的量綱和屬性,要使用Matlab軟件進(jìn)行GABP神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)必須將表2中的數(shù)據(jù)進(jìn)行歸一化處理,根據(jù)文獻(xiàn)[16]給出的方法,可利用如下的Matlab程序進(jìn)行歸一化:
表2 供應(yīng)商評(píng)價(jià)數(shù)據(jù)
for:i=1:8;
p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
p(i,:);
end;
其中p(i,:)為需要進(jìn)行歸一化的數(shù)據(jù),min(p(i,:))、max(p(i,:))分別為其對(duì)應(yīng)的最小值、最大值。歸一化后的數(shù)據(jù)成為[0,1]范圍內(nèi)的數(shù)據(jù),見(jiàn)表4。
表4 供應(yīng)商評(píng)價(jià)歸一化數(shù)據(jù)
考慮到對(duì)候選企業(yè)的評(píng)價(jià)指標(biāo)有27個(gè),因此GABP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)個(gè)數(shù)設(shè)為27個(gè),輸出層反映的是評(píng)價(jià)值,因此輸出層節(jié)點(diǎn)數(shù)設(shè)為1個(gè)。隱層節(jié)點(diǎn)數(shù)先利用公式ab進(jìn)行計(jì)算,即為5左右,選擇區(qū)間設(shè)為[5,15],根據(jù)網(wǎng)絡(luò)訓(xùn)練情況進(jìn)行調(diào)整選定。具體選定過(guò)程如下:
P為GABP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本集的輸入向量,選取候選企業(yè)S1~S5的評(píng)價(jià)數(shù)據(jù)。
t=[0.684,0.554,0.416,0.637,0.667]。t為 訓(xùn) 練樣本集的輸出向量,為候選企業(yè)S1~S5的理想目標(biāo)值。
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是待選的隱層節(jié)點(diǎn)數(shù),通過(guò)仿真論證選取最優(yōu)值。
BP神經(jīng)網(wǎng)絡(luò)隱層節(jié)點(diǎn)論證程序如下:
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為仿真步數(shù),net.trainParam.goal為設(shè)置的網(wǎng)絡(luò)目標(biāo)誤差,tansig、logsig分別為輸入層到隱層、隱層到輸出層的傳遞函數(shù),traingdx為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)。若只使用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練上述程序即可完成,本文采用遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行尋優(yōu)。使用遺傳算法進(jìn)行尋優(yōu),需要在Matlab軟件中調(diào)用GAOT工具箱,目標(biāo)函數(shù)定義為gabpEval,即遺傳算法的適應(yīng)度函數(shù),具體程序如下:
net.IW{1,1}=W1;W1為輸入層到隱含層的權(quán)重矩陣,net.LW{2,1}=W2;W2為隱含層到輸出層的權(quán)重矩陣,net.b{1}=B1;B1為隱含層的閾值向量,net.b{2}=B2;B2為輸出結(jié)點(diǎn)的閾值向量。利用遺傳算法進(jìn)行尋優(yōu)后,再利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,即執(zhí)行net=train(net,p,t),執(zhí)行結(jié)果如圖4-圖14所示。
圖4 隱層節(jié)點(diǎn)數(shù)為5時(shí)訓(xùn)練結(jié)果
圖5 隱層節(jié)點(diǎn)數(shù)為6時(shí)訓(xùn)練結(jié)果
圖14 隱層節(jié)點(diǎn)數(shù)為15時(shí)訓(xùn)練結(jié)果
通過(guò)網(wǎng)絡(luò)訓(xùn)練結(jié)果可以得到訓(xùn)練步數(shù)和隱層節(jié)點(diǎn)數(shù)關(guān)系,見(jiàn)表5。
圖6 隱層節(jié)點(diǎn)數(shù)為7時(shí)訓(xùn)練結(jié)果
圖7 隱層節(jié)點(diǎn)數(shù)為8時(shí)訓(xùn)練結(jié)果
圖8 隱層節(jié)點(diǎn)數(shù)為9時(shí)訓(xùn)練結(jié)果
圖9 隱層節(jié)點(diǎn)數(shù)為10時(shí)訓(xùn)練結(jié)果
通過(guò)訓(xùn)練結(jié)果圖4-14以及表5中的關(guān)系,可以很直觀地觀察到,在隱層節(jié)點(diǎn)數(shù)為5、6時(shí),網(wǎng)絡(luò)需要訓(xùn)練100步以上才能達(dá)到目標(biāo)誤差要求,在隱層節(jié)點(diǎn)數(shù)為10時(shí),訓(xùn)練步數(shù)為55,然而隨著節(jié)點(diǎn)數(shù)的增加訓(xùn)練步數(shù)也隨著增加,同時(shí)也并不能明顯改善網(wǎng)絡(luò)性能,相反增加了節(jié)點(diǎn)數(shù)增加了網(wǎng)絡(luò)負(fù)擔(dān)。因此,隱層節(jié)點(diǎn)數(shù)選擇為10比較合適。
表5 隱層節(jié)點(diǎn)數(shù)與訓(xùn)練步數(shù)關(guān)系表
圖10 隱層節(jié)點(diǎn)數(shù)為11時(shí)訓(xùn)練結(jié)果
圖11 隱層節(jié)點(diǎn)數(shù)為12時(shí)訓(xùn)練結(jié)果
圖12 隱層節(jié)點(diǎn)數(shù)為13時(shí)訓(xùn)練結(jié)果
圖13 隱層節(jié)點(diǎn)數(shù)為14時(shí)訓(xùn)練結(jié)果
隱層節(jié)點(diǎn)數(shù)設(shè)定為10后,完成GABP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練,即可對(duì)測(cè)試樣本集進(jìn)行測(cè)試。測(cè)試樣本集的輸入量為S6~S8的評(píng)價(jià)數(shù)據(jù),即
測(cè)試樣本集的目標(biāo)輸出量為t1=[0.375,0.661,0.54],利用訓(xùn)練完成的GABP網(wǎng)絡(luò)對(duì)測(cè)試樣本集進(jìn)行仿真,得到t_test=[0.425 7,0.663 7,0.519 2],見(jiàn)表6。
表6 GABP評(píng)價(jià)值與目標(biāo)值對(duì)比表
根據(jù)表6中數(shù)據(jù)的對(duì)比可知,利用GABP神經(jīng)網(wǎng)絡(luò)的評(píng)價(jià)值與目標(biāo)值基本接近,而且排序一致,說(shuō)明利用GABP神經(jīng)網(wǎng)絡(luò)進(jìn)行供應(yīng)鏈合作伙伴的評(píng)價(jià)方法是有效的。
上文中的結(jié)果證明了GABP神經(jīng)網(wǎng)絡(luò)對(duì)供應(yīng)鏈合作伙伴進(jìn)行評(píng)價(jià)的方法是有效的。在此基礎(chǔ)上,與BP神經(jīng)網(wǎng)絡(luò)進(jìn)行比較分析。
選用相同的訓(xùn)練樣本集以及測(cè)試樣本集,隱層節(jié)點(diǎn)數(shù)均設(shè)為10,圖15為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果,網(wǎng)絡(luò)誤差達(dá)到0.000 001需要經(jīng)過(guò)111步。圖16為GABP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果,網(wǎng)絡(luò)誤差達(dá)到0.000 001需要經(jīng)過(guò)65步,通過(guò)對(duì)比可以看出經(jīng)過(guò)遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)具有更好的性能。
圖15 BP神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)訓(xùn)練結(jié)果
圖16 GABP神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果
表7中將BP神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)、GABP神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)與目標(biāo)值進(jìn)行比對(duì),可以發(fā)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的評(píng)價(jià)值與目標(biāo)值相比排序一致,但是評(píng)價(jià)值與目標(biāo)值間有著較大的誤差,這說(shuō)明GABP神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)在供應(yīng)鏈合作伙伴評(píng)價(jià)方法具有更大的優(yōu)勢(shì)。
表7 GABP評(píng)價(jià)值與BP評(píng)價(jià)值對(duì)比表
利用基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)對(duì)供應(yīng)鏈合作伙伴進(jìn)行評(píng)價(jià),是一種科學(xué)、合理的評(píng)價(jià)方法。
(1)利用GABP神經(jīng)網(wǎng)絡(luò)進(jìn)行評(píng)價(jià),可以盡量減少主觀性對(duì)評(píng)價(jià)結(jié)果的影響,同時(shí)使評(píng)價(jià)過(guò)程更加便捷、準(zhǔn)確;
(2)不同于以往的BP神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)方法,利用了遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值進(jìn)行尋優(yōu),實(shí)際上BP神經(jīng)網(wǎng)絡(luò)自身的運(yùn)行機(jī)制需要對(duì)權(quán)重和閾值進(jìn)行尋優(yōu)從而降低網(wǎng)絡(luò)誤差,利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的本質(zhì)是縮短BP網(wǎng)絡(luò)對(duì)權(quán)重和閾值的尋優(yōu)過(guò)程,為網(wǎng)絡(luò)減小壓力,使網(wǎng)絡(luò)性能更強(qiáng)。與BP神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)方法進(jìn)行比較可以看出,GABP方法的步數(shù)不需100步即可實(shí)現(xiàn)0.000 001的網(wǎng)絡(luò)誤差要求,這說(shuō)明了遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)優(yōu)化的優(yōu)勢(shì);
(3)在利用GABP神經(jīng)網(wǎng)絡(luò)評(píng)價(jià)過(guò)程中,隱層節(jié)點(diǎn)數(shù)的設(shè)置沒(méi)有比較有絕對(duì)優(yōu)勢(shì)的確定方法,本文中利用訓(xùn)練樣本集對(duì)隱層節(jié)點(diǎn)數(shù)進(jìn)行訓(xùn)練論證,通過(guò)分析最后確定比較合理的隱層節(jié)點(diǎn)數(shù),該方法值得推廣。