于世鑫,徐文君,李安昌,張冰清,袁明陽 YU Shixin, XU Wenjun, LI Anchang, ZHANG Bingqing, YUAN Mingyang
(1.河北農業大學 理學院,河北 保定 071001;2.西北大學 數學學院,陜西 西安 710100;3.國網河北省電力有限公司電力科學研究院,河北 石家莊 050000)
現如今,國內外對物流選址的研究主要在影響物流中心選址的因素以及采用何種方法選擇最佳的物流中心等方面。針對物流中心的選址問題,國內外已經有很多研究方法:黃建新等[1]考慮了物流節點選址的影響因素主要為交通運輸條件、物流響應能力、基礎設施,分別以零陵區各鄉鎮作為物流節點。胡桔州[2]考慮建立某城市物流配送網絡,將各需求點之間的物流費用作為邊權,通過Floyd 算法計算,并將物流費用總和最小的需求點作為最佳的配送中心。王凱成等[3]分析了影響某藥品集團物流選址的指標因素,并分別建立了對應的二級指標,采用AHP 計算它們的權重,通過TOPSIS 模型進行評分,并選擇得分最高的地點作為最佳配送中心。張迎迎等[4]將歐氏距離改為馬氏距離,改進了傳統的TOPSIS 模型,為云南的物流節點選擇提供了合理建議。詹斌等[5]首先對農村物流站點選址的影響因素進行了分析,其中包括一級指標和二級指標,并通過AHP-熵權法求出指標權重,基于Minkowaki 距離取代歐氏距離的TOPSIS 模型得出最終得分。除此以外,由于免疫算法的眾多優勢,有很多學者應用該方法進行物流配送中心選址的問題。胡朝陽[6]先是考慮了影響因素,而后將免疫優化算法與聚類分析結合起來,分析解決全國的物流中心選址問題。王涵等[7]為了降低配送成本、提高配送效率,使用免疫算法運用MATLAB 對卷煙物流選址問題進行計算,為煙草公司提供了合理建議。徐超等[8]分析研究煤炭倉儲中心選址的問題,根據免疫算法建立模型并進行求解。萬波等[9]以距離最短為目標函數建立選址優化模型,通過免疫算法與遺傳算法進行求解,得到結果為免疫算法的效果更好。程玉龍等[10]通過免疫優化算法研究林果業物流中心的選址問題,并驗證了免疫算法的有效性,為林果業物流發展提供建議。
本文以河北省石家莊市21 個區(縣) 為研究對象,利用免疫算法研究石家莊地區物流中心的選址問題,建立模型并進行求解。
1.1 物流中心選址問題模型。目標函數為物流中心到各備選點之間的距離與需求量乘積之和最小,據此,建立物流配送中心的選址模型:
約束條件為:
其中:wi代表各點的需求量;dij表示各備選點之間的距離;N 表示所有備選點的集合;D 表示配送中心到其他點之間距離的上限;Mi表示滿足式(5) 的備選點集合;p 為所選物流中心的個數。另外,當是備選點i 與物流中心j 時,bij=1,其他情況為0;當j 為物流中心時,hj=1,其他情況為0。
1.2 免疫算法模型描述。免疫算法中“免疫”這個概念來源于生物學的免疫系統,由于人體免疫系統的強大,越來越多的學者研究并提出了免疫算法這一新型搜索算法。免疫算法與免疫系統之間概念的對應關系如表1 所示。

表1 概念對應表
免疫算法是在遺傳算法的基礎上加入了免疫的相關概念,當然,其中存在很多差別,免疫算法在保持遺傳算法優點的同時,也做了一些改進。
1.2.1 產生初始抗體群。若記憶庫中有元素,則從記憶庫中提取初代的抗體群。若記憶庫中無元素,則隨機產生n 個編碼長度為L 的抗體,在免疫算法中即代表選擇了L 個備選點作為物流中心。
1.2.2 親和度計算。免疫優化算法中的親和度一般使用優化目標函數或對函數進行簡單處理(取倒數、相反數等),本文采用取倒數的方式,則親和度計算公式為:
其中:f (xi)表示抗體xi對應可行解的目標函數值。目標函數值越小,它所對應的親和度就越大,其所代表的抗體就越優。
1.2.3 抗體濃度計算。抗體濃度計算公式為:
其中:N 為種群規模,S (xi, xj)為抗體間的相似度,表示為:
其中:δS表示相似度閾值,人為設定。
1.2.4 期望繁殖概率計算。每個樣本的期望繁殖概率p 值計算公式為:
其中:α 為多樣性評價參數,人為設定。aff (xi)為抗體親和度,den (xi)為抗體濃度。
1.2.5 免疫操作。免疫操作分為選擇、交叉、變異三種形式。抗體的選擇根據親和度來判斷,親和度越高的抗體越容易被選擇用來進行下一步操作,本文選擇輪盤賭法進行選擇操作。在免疫算法中的交叉操作為:交換已經得到的兩個可行解中部分需求點,產生兩個新的可行解,以此獲得更多可行解進行計算,本文選擇簡單的單點交叉。變異操作將個體的部分基因用其他基因來替換,即用其它需求點替換某一個可行解中的部分需求點,本文采用高斯變異法。
為了用免疫算法探究物流選址的問題,本文選擇石家莊市8 個區13 個縣(市) 共21 個備選點來進行研究分析,分別記:1 橋西區、2 井陘礦區、3 裕華區、4 井陘縣、5 新華區、6 長安區、7 正定縣、8 欒城區、9 行唐縣、10 靈壽縣、11 高邑縣、12深澤縣、13 贊皇縣、14 無極縣、15 平山縣、16 元氏縣、17 趙縣、18 藁城區、19 晉州市、20 新樂市、21 鹿泉區。從中選擇三個地點作為石家莊全市的最終物流配送中心。
為簡化模型且方便計算,本文將石家莊市各區(縣) 的人口數作為備選點的需求量,不考慮其它影響因素。首先從地圖上查詢獲得這21 個備選點的坐標,各點的位置坐標如表2 所示。

表2 各備選點坐標
經過研究與試驗,將參數設置為表3。

表3 參數設置
其次按照免疫算法的步驟通過MATLAB 計算,得到最終的配送中心為:3 裕華區、18 藁城區、21 鹿泉區。同時可以得到這三個配送中心與其對應的需求點如表4 所示。

表4 物流中心選址結果
由表4 可以得出結論:以裕華區為配送中心的區縣有:1 橋西區、5 新華區、6 長安區、7 正定縣、8 欒城區、9 行唐縣、11 高邑縣、13 贊皇縣、16 元氏縣;以藁城區為配送中心的區縣有:12 深澤縣、14 無極縣、17 趙縣、19 晉州市、20 新樂市;以鹿泉區為配送中心的有:2 井陘礦區、4 井陘縣、10 靈壽縣、15 平山縣。為方便直接觀察,將其畫成圖,如圖1 所示。

圖1 物流中心選址方案
除此以外,由上述方法也可以得出免疫算法的收斂性如圖2 所示,從圖2 中已知,該算法設置的迭代次數為100,但是當迭代數為大約5 或6 時,免疫算法最優適應度的值就不再發生變化。因此可以得出結論:該算法在本文中的收斂速度非常快,時間復雜度較低。

圖2 免疫算法收斂曲線
免疫算法具有對多峰值函數進行多峰值搜索和全局尋優的優點,對解決物流中心選址問題有很大幫助。本文通過免疫算法,將石家莊市21 個區縣全部作為備選點,從中尋找三個物流配送中心,計算結果顯示三個地點分別為:裕華區、藁城區、鹿泉區,并分別得到了每個物流中心所對應的區縣。為石家莊市物流中心選址提供了借鑒思路,提高物流企業、消費者的便利程度。