陳元文
(武警工程大學(xué) 裝備管理與保障學(xué)院,西安 710086)
作為軍事物資保障的重要組成內(nèi)容,物資調(diào)度是決定物資保障效率和質(zhì)量的關(guān)鍵環(huán)節(jié),是將物資轉(zhuǎn)化為作戰(zhàn)能力的重要紐帶[1]。搶險(xiǎn)救援環(huán)境下,多種形式的物資儲(chǔ)備庫(kù)承擔(dān)著向救援部隊(duì)和災(zāi)區(qū)群眾輸送救援物資的任務(wù),物資保障過(guò)程面臨著物資需求緊急、需求面廣、需求物資種類繁雜、配送環(huán)境復(fù)雜、配送任務(wù)繁重等特點(diǎn)。面對(duì)這一復(fù)雜的情況,如何充分利用就近配送資源并綜合考慮多種環(huán)境因素實(shí)現(xiàn)物資儲(chǔ)備倉(cāng)庫(kù)群高效、合理地向多個(gè)前方需求部隊(duì)輸送救援物資成了當(dāng)前需要解決的重要問(wèn)題。
近年來(lái)運(yùn)輸和物流業(yè)迅速發(fā)展,在新的環(huán)境和發(fā)展態(tài)勢(shì)下,多庫(kù)聯(lián)動(dòng)、協(xié)同配送等概念不斷涌現(xiàn),為多庫(kù)物資調(diào)度及配送提供了許多新的思路。張潛[2]針對(duì)現(xiàn)有城市配送出現(xiàn)的問(wèn)題,提出了基于共同配送的城市物流優(yōu)化方案。李建民[3]對(duì)城市共同配送中的車貨配載多目標(biāo)規(guī)劃問(wèn)題進(jìn)行了研究。Montoya-Torres等人[4]為降低城市貨物運(yùn)輸?shù)某杀?、擁堵和環(huán)境污染,研究了多種協(xié)同配送環(huán)境下城市貨物運(yùn)輸?shù)囊?guī)劃和管理方法。張欣鈺[5]在配送中心和需求信息共享的基礎(chǔ)上,建立了帶時(shí)間窗和車輛總數(shù)約束的跨區(qū)域聯(lián)合運(yùn)輸?shù)呐渌湍P?,并設(shè)計(jì)了新的蟻群算法進(jìn)行求解。崔文[6]針對(duì)城市多庫(kù)聯(lián)動(dòng)配送的車輛路徑規(guī)劃問(wèn)題,提出了“合并后求解,求解后再優(yōu)化”的思想,分步實(shí)現(xiàn)客戶點(diǎn)的合并和車輛路徑的優(yōu)化。鄺海山[7]針對(duì)城市快遞配送問(wèn)題,提出了城市共同配送聯(lián)盟及其服務(wù)模式;構(gòu)建了基于需求分析的城市共同配送動(dòng)態(tài)車輛調(diào)度模型并設(shè)計(jì)了算法進(jìn)行求解。夏敏鴿[8]將路段距離、抗打擊性、隱蔽性和路況作為軍事物流配送中路徑規(guī)劃的主要考慮對(duì)象,通過(guò)線性加權(quán)的方式對(duì)其進(jìn)行了分析、建模和求解。
雖然共同配送等模式的研究和發(fā)展都取得了一定成果,但商業(yè)物流的研究多以車輛路徑問(wèn)題為研究核心,構(gòu)建多配送中心(或倉(cāng)庫(kù))-多需求點(diǎn)的物資配送模型,經(jīng)濟(jì)性是其考慮的主要優(yōu)化對(duì)象,配送對(duì)象多是大批次小批量的商品,這并不符合軍隊(duì)在搶險(xiǎn)救援等應(yīng)急或作戰(zhàn)環(huán)境下以保障效率最大化而采用直達(dá)保障的實(shí)際情況;而軍隊(duì)多庫(kù)聯(lián)動(dòng)物資調(diào)度或配送方面的研究不多,考慮多種因素構(gòu)建相關(guān)數(shù)學(xué)模型并設(shè)計(jì)求解算法的定量研究較為缺乏。鑒于此,本文針對(duì)搶修救援環(huán)境下較大規(guī)模物資調(diào)度問(wèn)題,提出考慮需求滿足、供應(yīng)有限和運(yùn)輸資源限制及其最大化利用的多庫(kù)聯(lián)動(dòng)物資直達(dá)保障模式及求解算法。
在搶險(xiǎn)救援環(huán)境下,救援部隊(duì)的物資需求呈現(xiàn)出需求面廣、需求巨大和需求急迫的特征,而部隊(duì)相應(yīng)決策機(jī)構(gòu)根據(jù)多個(gè)需求部隊(duì)的物資申請(qǐng)調(diào)動(dòng)多個(gè)儲(chǔ)備庫(kù)對(duì)其進(jìn)行同時(shí)保障的情況也時(shí)有發(fā)生。鑒于現(xiàn)有大規(guī)模物資配送過(guò)程中存在的不足,本文以應(yīng)急物資儲(chǔ)備庫(kù)(以下簡(jiǎn)稱儲(chǔ)備庫(kù))的救援物資前送為例,提出基于多庫(kù)聯(lián)動(dòng)的救援物資直達(dá)保障的物資保障模式及求解算法:在搶險(xiǎn)救援等應(yīng)急狀態(tài)下,部隊(duì)決策機(jī)構(gòu)根據(jù)前方救援需求部隊(duì)(以下簡(jiǎn)稱救援部隊(duì))提出的物資申領(lǐng)需求,從全局出發(fā),打破按建制保障的固定模式,以信息平臺(tái)為依托,統(tǒng)籌考慮物資儲(chǔ)備與需求的狀態(tài),考慮物資保障的交通條件和運(yùn)輸工具狀態(tài),制定多個(gè)儲(chǔ)備庫(kù)直接向多個(gè)需求部隊(duì)進(jìn)行物資保障的詳細(xì)配送計(jì)劃,以解決每個(gè)儲(chǔ)備庫(kù)分別向誰(shuí)配送、配送什么、配送多少、用什么配送以及如何配載的問(wèn)題。
本文針對(duì)搶險(xiǎn)救援環(huán)境下的多庫(kù)聯(lián)動(dòng)直達(dá)保障問(wèn)題提出以下假設(shè):
1)各儲(chǔ)備庫(kù)之間、救援部隊(duì)之間不存在物資調(diào)運(yùn),為保證配送的軍事效益最高和響應(yīng)時(shí)間最短,救援物資的流向均為儲(chǔ)備庫(kù)到救援部隊(duì)的直達(dá)運(yùn)輸。
2)物資需求信息、物資儲(chǔ)備狀態(tài)、可調(diào)用車輛的信息、道路行駛時(shí)間、道路擁堵信息可實(shí)時(shí)獲得,道路搶修時(shí)間可估計(jì)。
3)弱經(jīng)濟(jì)性,即不考慮運(yùn)輸費(fèi)用。
4)運(yùn)輸物資的單位以整件計(jì),即不拆零運(yùn)輸。
5)不考慮配送中進(jìn)行物資包裝、裝車(裝機(jī))、卸貨等過(guò)程的時(shí)間消耗。
6)裝車(裝機(jī))過(guò)程中,不考慮物資裝載間隙或物資形狀帶來(lái)的載重容量不充分利用的問(wèn)題。
1)集合
SP={i|i=1,2,…,NI}:物資儲(chǔ)備庫(kù)的集合,其中i為儲(chǔ)備庫(kù)的序號(hào),共有NI個(gè)儲(chǔ)備庫(kù);
DP={j|j=1,2,…,NJ}:救援部隊(duì)的集合,其中j為救援部隊(duì)的序號(hào),共有NJ個(gè)救援部隊(duì);
MS={m|m=1,2,…,NM}:物資種類的集合,其中m為物資種類的序號(hào),共有NM種物資;
VS={v|v=1,2,…,NV}:運(yùn)輸工具的集合,其中v為運(yùn)輸工具的序號(hào),共有NV種運(yùn)輸工具;
2)相關(guān)參數(shù)
djm:第j個(gè)救援部隊(duì)對(duì)第m種物資的需求量;
Stim:第i個(gè)儲(chǔ)備庫(kù)儲(chǔ)備第m種物資的數(shù)量;
loadv/vv:第v種運(yùn)輸工具的最大載重(質(zhì)量)和最大容量(容量);
qviv:第i個(gè)儲(chǔ)備庫(kù)可調(diào)用第v種運(yùn)輸工具的數(shù)量;
mm/vm:第m種物資的單位質(zhì)量/體積;
ρijv:第i個(gè)儲(chǔ)備庫(kù)到第j個(gè)救援部隊(duì)采用第v種運(yùn)輸工具途經(jīng)道路的擁堵系數(shù);
3)變量
xijmv:第i個(gè)儲(chǔ)備庫(kù)到第j個(gè)救援部隊(duì)采用第v種運(yùn)輸工具運(yùn)輸?shù)趍種物資的數(shù)量;
tijv:第i個(gè)儲(chǔ)備庫(kù)到第j個(gè)救援部隊(duì)采用第v種運(yùn)輸工具的道路總消耗時(shí)間;
Nijv:第i個(gè)儲(chǔ)備庫(kù)到第j個(gè)救援部隊(duì)采用第v種運(yùn)輸工具的數(shù)量。
目標(biāo)函數(shù):
(1)
約束條件:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
xijmv≥0且為整數(shù),?i∈SP,j∈DP,
m∈MS,v∈MV
(9)
Nijv≥0且為整數(shù),?i∈SP,j∈DP,v∈MV
(10)
式(1)為目標(biāo)函數(shù),表示經(jīng)過(guò)某運(yùn)輸線路的車輛總數(shù)與其對(duì)應(yīng)的實(shí)際通行時(shí)間的乘積之和最小。該優(yōu)化目標(biāo)是一個(gè)復(fù)合優(yōu)化函數(shù),旨在滿足救援部隊(duì)物資需求總量的前提下,讓儲(chǔ)備庫(kù)利用最少的交通工具,最短的運(yùn)輸路線,在全局層面滿足最優(yōu)物資調(diào)度。式(2)~式(10)為約束條件。其中,式(2)表示任意種類物資的實(shí)際配送量應(yīng)等于該類物資的需求量;式(3)表示從儲(chǔ)備庫(kù)調(diào)撥的任意類物資總量不大于儲(chǔ)備庫(kù)該類物資的實(shí)際儲(chǔ)備量;式(4)和式(5)分別表示從儲(chǔ)備庫(kù)調(diào)撥的所有物資總質(zhì)量和總體積均不得超出該儲(chǔ)備庫(kù)所能調(diào)用運(yùn)輸工具的載重之和與容量之和;式(6)從載重需求和容量需求的角度描述從儲(chǔ)備庫(kù)到救援部隊(duì)的某類交通工具的需求數(shù)量,其中向上取整符號(hào)確保了所需的最少整數(shù)輛交通工具;該模型中還用道路擁堵系數(shù)和道路預(yù)計(jì)維修時(shí)間來(lái)精確表達(dá)實(shí)際運(yùn)輸時(shí)間,式(7)表示了這三個(gè)運(yùn)輸時(shí)間變量之間的關(guān)系;式(8)表示從任意儲(chǔ)備庫(kù)出發(fā)的某類車輛之和不大于該倉(cāng)庫(kù)能調(diào)用該類運(yùn)輸工具的總數(shù)。
通過(guò)分析上述模型,不難發(fā)現(xiàn),該模型是非平滑混合整數(shù)規(guī)劃問(wèn)題,特別注意的是式(6)還含有的取整算式為不連續(xù)函數(shù),并不能直接采用現(xiàn)有非線性規(guī)劃工具進(jìn)行求解。但通過(guò)觀察和分析,可將式(6)等價(jià)轉(zhuǎn)化為如下約束方程:
(11)
(12)
(13)
(14)
通過(guò)以上方法,將問(wèn)題轉(zhuǎn)化成了非線性混合整數(shù)規(guī)劃模型,可采用現(xiàn)有成熟求解器如BONMIN、COUENNE、BARON或BSS等[9]進(jìn)行直接求解。
GAMS是世界銀行與軟件企業(yè)聯(lián)合開(kāi)發(fā)的面向應(yīng)用的數(shù)學(xué)規(guī)劃軟件。它可求解普通線性規(guī)劃、非線性規(guī)劃、混合整數(shù)規(guī)劃、混合整數(shù)非線性規(guī)劃等模型,針對(duì)大型的、復(fù)雜的數(shù)學(xué)規(guī)劃問(wèn)題,也具有強(qiáng)大的求解能力。軟件本身集成了眾多包括CPLEX、BENCH和SNOPT等在內(nèi)的著名求解器[9]。MATLAB是由美國(guó)MathWorks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算和交互式程序設(shè)計(jì)的高級(jí)計(jì)算環(huán)境,在數(shù)據(jù)接口、算法設(shè)計(jì)及調(diào)試和過(guò)程可視化等方面擁有強(qiáng)大的功能。
通過(guò)分析前文建立的數(shù)學(xué)模型[式(1)~式(5),式(7)~(11)]可知,該數(shù)學(xué)模型是非線性混合整數(shù)規(guī)劃模型。且模型中參數(shù)較多,變量維度較大,不利于常規(guī)數(shù)學(xué)規(guī)劃方法乃至一般啟發(fā)式算法的求解。因此,本文利用GDXMRW工具實(shí)現(xiàn)MATLAB和GAMS的優(yōu)勢(shì)互補(bǔ)(以GAMS軟件(采用SNOPT求解器)為求解核心,以MATLAB為數(shù)據(jù)輸入、程序維護(hù)與維護(hù)、數(shù)據(jù)可視提供支撐),通過(guò)兩種軟件的混合編程以獲得精確、直觀的求解結(jié)果[1]。
該混合編程的過(guò)程如圖1所示,首先建立GAMS模型文件,由MATLAB讀取或輸入模型需要的各種參數(shù),經(jīng)過(guò)前期處理并生成GAMS可調(diào)用的gdx數(shù)據(jù)交換文件,由MATLAB以gdx文件為參數(shù)調(diào)用GAMS編譯并求解,完成運(yùn)算后由GAMS向MATLAB返回結(jié)果實(shí)現(xiàn)結(jié)果直觀展示。
圖1 采用MATLAB與GAMS混合編程實(shí)現(xiàn)模型求解的過(guò)程框圖
表1 前方救援部隊(duì)物資需求量djm
圖2 儲(chǔ)備庫(kù)與救援部隊(duì)分布圖(圖中數(shù)字為儲(chǔ)備庫(kù)或救援部隊(duì)的編號(hào))
表2 儲(chǔ)備庫(kù)物資儲(chǔ)備量Stim
表3 能快速到達(dá)儲(chǔ)備庫(kù)參的交通工具數(shù)量qviv
表4 第i個(gè)儲(chǔ)備庫(kù)到第j個(gè)救援部隊(duì)采用第v種運(yùn)輸工具的道路總消耗時(shí)間tijv(“-”代表不可通行)
表5 各運(yùn)輸工具的載重和容量
表6 各類物資的單位質(zhì)量和體積
本算例采用MATLAB 2015b和GAMS 24.6(采用BARON求解器15.9版)混合編程,在裝有WIN7(64 bit)配置2.33 GHz的4核處理器和4 GB內(nèi)存的PC上運(yùn)行10次求解,求解平均耗時(shí)95.08 s,得到最優(yōu)目標(biāo)函數(shù)=782.16。得到儲(chǔ)備庫(kù)與救援部隊(duì)的保障關(guān)系如圖3所示(只展示了保障關(guān)系,并未展示配送量和運(yùn)載方式),詳細(xì)物資配送計(jì)劃如表7所示(因考慮篇幅問(wèn)題,只列出了部分配送計(jì)劃),其中表頭“i-j”代表第i個(gè)儲(chǔ)備庫(kù)向第j個(gè)救援部隊(duì)的配送關(guān)系,“v=*”代表采用第v種運(yùn)輸工裝載的物資種類及數(shù)量。如第8條配送計(jì)劃中(第2個(gè)儲(chǔ)備庫(kù)向第3個(gè)救援部隊(duì)的保障),采用第3種交通工具1輛運(yùn)輸?shù)?類物資共200件,采用第5種交通工具3輛運(yùn)輸?shù)?類物資共171件、第4類物資33件。
經(jīng)過(guò)計(jì)算驗(yàn)證,上述結(jié)果滿足式(2)~式(10)的所有約束條件,求解結(jié)果正確。通過(guò)30次相同實(shí)驗(yàn)數(shù)據(jù)的重復(fù)實(shí)驗(yàn),所得結(jié)果具有83.3%的重現(xiàn)率,說(shuō)明算法具有較高的可靠性和穩(wěn)定性。
圖3 儲(chǔ)備庫(kù)配送關(guān)系圖(圖中數(shù)字為儲(chǔ)備庫(kù)或部隊(duì)編號(hào))
表7 詳細(xì)物資配送計(jì)劃表(部分)
以實(shí)現(xiàn)搶險(xiǎn)救援物資的全局合理分配、交通工具的合理調(diào)度和完成配送的全局時(shí)間最短為目標(biāo),建立了非線性混合整數(shù)規(guī)劃的數(shù)學(xué)模型,并采用MATLAB和GAMS混合編程的方式對(duì)該模型進(jìn)行了求解。實(shí)驗(yàn)證明展示效果直觀,求解速度較快,求解結(jié)果滿足實(shí)際要求,不僅能解決應(yīng)急救援物資多庫(kù)聯(lián)動(dòng)直達(dá)配送過(guò)程中物資的種類和數(shù)量的決策,還能在一定程度上解決車輛分配和運(yùn)輸配載問(wèn)題,供部隊(duì)等實(shí)體參與搶險(xiǎn)救援物資調(diào)度參考。