楊 軍,羅 衛(wèi),何 哲,熊世進(jìn),陳永鋒
(湖南中煙物流有限責(zé)任公司,湖南 長(zhǎng)沙 410000)
中國(guó)是目前世界上最大的煙草生產(chǎn)國(guó)和消耗國(guó)之一,中國(guó)煙草年?duì)I收額1萬(wàn)億元,納稅超過(guò)9 000億元。每年巨大的營(yíng)收背后,是龐大的物流壓力,因此建設(shè)現(xiàn)代化的供應(yīng)鏈物流體系,已經(jīng)成為煙草工業(yè)企業(yè)提高經(jīng)營(yíng)效率,減少物流成本的重要方式之一。同時(shí),為了更精準(zhǔn)地響應(yīng)到貨點(diǎn)的服務(wù)需求,更合理地選擇配送線路,更快速地完成物流配送,導(dǎo)致煙草工業(yè)企業(yè)對(duì)整個(gè)供應(yīng)鏈的管理和把控有著非常高的要求。因此,一個(gè)高效率低成本的物流供應(yīng)體系,是煙草工業(yè)企業(yè)提高客戶滿意度,增強(qiáng)自身核心競(jìng)爭(zhēng)力,保持企業(yè)健康穩(wěn)定發(fā)展的重要手段之一。
煙草工業(yè)企業(yè)的整個(gè)生產(chǎn)供應(yīng)環(huán)節(jié)其實(shí)和大多數(shù)企業(yè)沒(méi)有太大區(qū)別(如圖1),然而在實(shí)際運(yùn)營(yíng)的細(xì)節(jié)上,卻存在著許多不同:
(1)企業(yè)在全國(guó)通常只有幾個(gè)發(fā)貨點(diǎn),而需求點(diǎn)則多達(dá)數(shù)百個(gè)且遍布全國(guó)。
(2)物流公司擁有多種車(chē)型,每種車(chē)型具有不同的最大裝載量,如果裝載量不足,煙草公司需要向物流公司提供額外的補(bǔ)貼,從而造成巨大的成本浪費(fèi)。
(3)由于每個(gè)發(fā)貨點(diǎn)的生產(chǎn)能力以及供給量不同,為了成本最優(yōu),管理者經(jīng)常會(huì)考慮在倉(cāng)庫(kù)之間進(jìn)行貨物的轉(zhuǎn)運(yùn)。
(4)一個(gè)發(fā)貨點(diǎn)通常在配送中會(huì)通過(guò)拼車(chē)來(lái)降低運(yùn)輸成本。
圖1 煙草工業(yè)企業(yè)生產(chǎn)供應(yīng)環(huán)節(jié)
但是從目前的實(shí)際運(yùn)營(yíng)方式來(lái)看,煙草工業(yè)企業(yè)沒(méi)有考慮如何系統(tǒng)高效地完成整個(gè)運(yùn)輸配送的過(guò)程。在傳統(tǒng)模式下,企業(yè)的物流部門(mén)被動(dòng)接收營(yíng)銷(xiāo)部門(mén)的發(fā)貨需求編排發(fā)貨計(jì)劃。當(dāng)指定的發(fā)貨點(diǎn)貨源不足時(shí),再通過(guò)移庫(kù)補(bǔ)充貨源,因此經(jīng)常會(huì)產(chǎn)生大量的移庫(kù)成本,甚至由于移庫(kù)不及時(shí)導(dǎo)致無(wú)法按時(shí)發(fā)貨。此外,部分暢銷(xiāo)的品類(lèi)由于安全庫(kù)存較低,當(dāng)產(chǎn)生臨時(shí)需求訂單時(shí),往往需要浪費(fèi)大量人力處理,甚至出現(xiàn)由于發(fā)貨點(diǎn)分配不合理導(dǎo)致無(wú)法按時(shí)發(fā)貨的情況。
針對(duì)上述問(wèn)題,本文構(gòu)建了一個(gè)基于混合型整數(shù)線性規(guī)劃的煙草運(yùn)輸調(diào)度模型,能夠綜合考慮到煙草工業(yè)企業(yè)運(yùn)輸?shù)母鱾€(gè)環(huán)節(jié),計(jì)算得出最優(yōu)的生產(chǎn)運(yùn)輸調(diào)度方案,在考慮企業(yè)各個(gè)發(fā)貨點(diǎn)的生產(chǎn)能力的同時(shí),以滿足需求點(diǎn)的需求為原則,幫助企業(yè)制定發(fā)貨計(jì)劃和運(yùn)輸調(diào)度計(jì)劃,實(shí)現(xiàn)成本的最優(yōu)。
對(duì)于煙草工業(yè)企業(yè)的物流運(yùn)輸調(diào)度問(wèn)題,已經(jīng)有相關(guān)學(xué)者做過(guò)一些研究。黃飛航等人(2014)[1]考慮了現(xiàn)在煙草工業(yè)企業(yè)物流倉(cāng)庫(kù)中普通存在的人工進(jìn)行車(chē)輛調(diào)度的問(wèn)題,設(shè)計(jì)了一個(gè)方法將排隊(duì)管理系統(tǒng)應(yīng)用到倉(cāng)庫(kù)管理中,從而提高倉(cāng)庫(kù)裝卸貨的效率。黃戈文等(2015)[2]融合了云計(jì)算、物聯(lián)網(wǎng)、大數(shù)據(jù)、GIS、GPS 等設(shè)備,設(shè)計(jì)研發(fā)了一套基于云計(jì)算的煙草物流運(yùn)輸調(diào)度系統(tǒng),能夠?qū)煵菖渌偷母鱾€(gè)細(xì)節(jié)進(jìn)行監(jiān)控,從而達(dá)到提高物流效率、降低成本的效果。郭賢正等(2014)[3]基于煙草運(yùn)輸管理現(xiàn)有業(yè)務(wù)的瓶頸分析,提出了運(yùn)輸管理系統(tǒng)中智能車(chē)輛調(diào)度功能的設(shè)計(jì)方法,并總結(jié)了整個(gè)執(zhí)行過(guò)程中全程可視化監(jiān)控和管理的實(shí)現(xiàn)方法和實(shí)施經(jīng)驗(yàn)。葉小龍等(2012)[4]針對(duì)煙草工業(yè)企業(yè)物流配送效率低成本高的缺點(diǎn),提出了用配送中心選址方法以及配送網(wǎng)絡(luò)的一般設(shè)計(jì)方法來(lái)改進(jìn)整個(gè)供應(yīng)鏈。
雖然已有部分學(xué)者研究過(guò)煙草工業(yè)企業(yè)的物流解決方案,現(xiàn)有大多數(shù)研究主要還是著眼于更加寬泛的物流運(yùn)輸領(lǐng)域以及車(chē)輛路徑問(wèn)題,Moons 等人(2016)[5]綜合考慮了生產(chǎn)調(diào)度和車(chē)輛路徑優(yōu)化這兩個(gè)經(jīng)常被獨(dú)立解決的問(wèn)題,從而提高供應(yīng)鏈的效率。謝天保等人(2010)[6]研究了在存在多個(gè)物流中心的前提下,各個(gè)物流中心相互協(xié)作以實(shí)現(xiàn)物流的協(xié)同配送問(wèn)題。
在研究方法上,大多數(shù)研究采用的方法為目前廣泛使用的各種算法。其中應(yīng)用最為廣泛的當(dāng)屬遺傳算法。李軍等(2000)[7]利用了最大保留交叉、交叉率和變異率自適應(yīng)調(diào)整等技術(shù),設(shè)計(jì)了基于自然數(shù)編碼的遺傳算法,研究了在車(chē)輛非滿載的情況下滿足貨運(yùn)需求的最短行車(chē)線路。王楨和黃磊(2016)[8]設(shè)計(jì)了一個(gè)兩階段優(yōu)化遺傳算法,第一個(gè)階段為待發(fā)貨訂單指派最佳車(chē)輛,第二個(gè)階段指定車(chē)輛的最佳配送方案,來(lái)解決在不同的訂單發(fā)貨區(qū)域的情況下,貨車(chē)的裝載和車(chē)輛路徑的調(diào)度問(wèn)題。廖良才等(2008)[9]將遺傳算法的全局搜索能力和CW節(jié)約啟發(fā)式算法的局部搜索能力結(jié)合了起來(lái),用這種創(chuàng)新的混合遺傳算法來(lái)解決物流車(chē)輛配送調(diào)度問(wèn)題。其他算法比如禁忌搜索、粒子群算法、模擬退火算法等也有一部分學(xué)者研究。何小年和謝小良(2009)[10]設(shè)計(jì)了一種禁忌搜索算法來(lái)研究在車(chē)輛裝載量存在約束的情況下的車(chē)輛路徑問(wèn)題,相比其他算法,該文提出的算法耗時(shí)短且結(jié)果也更優(yōu)。徐杰和黃德先(2007)[11]通過(guò)使用粒子群算法和變異操作結(jié)合的求解方式來(lái)解決多目標(biāo)下的帶時(shí)間窗的車(chē)輛路徑優(yōu)化問(wèn)題,減少了算法的無(wú)效迭代,提高了有效性。鄭英和孟志青(2010)[12]使用了節(jié)約里程算法來(lái)解決煙草配送的問(wèn)題。Bent 和 Hentenryck(2006)[13]針對(duì)帶時(shí)間窗撿貨送貨的車(chē)輛路徑問(wèn)題,提出了一個(gè)兩階段的混合算法,第一階段使用模擬退火算法對(duì)車(chē)輛數(shù)量進(jìn)行優(yōu)化,使得使用的車(chē)輛數(shù)達(dá)到最低,第二階段使用LNS 方法對(duì)整個(gè)成本進(jìn)行優(yōu)化,使得在車(chē)輛數(shù)最少的情況下成本最低。Goel和Irnich(2017)[14]將駕駛員過(guò)度駕駛的情況考慮在內(nèi)提出了一種分支定界法來(lái)求解這種車(chē)輛路徑和駕駛員調(diào)度問(wèn)題。
在傳統(tǒng)模式下,企業(yè)的物流部門(mén)被動(dòng)接收營(yíng)銷(xiāo)部門(mén)的發(fā)貨需求編排發(fā)貨計(jì)劃,經(jīng)常會(huì)產(chǎn)生大量的移庫(kù)成本,甚至由于移庫(kù)不及時(shí)導(dǎo)致無(wú)法按時(shí)發(fā)貨,往往需要浪費(fèi)大量人力處理,甚至出現(xiàn)由于發(fā)貨點(diǎn)分配不合理導(dǎo)致無(wú)法按時(shí)發(fā)貨的情況。要解決當(dāng)前面臨的上述困難,必須對(duì)現(xiàn)有物流運(yùn)行模式進(jìn)行調(diào)整優(yōu)化,提升物流的協(xié)同效率和信息共享,由營(yíng)銷(xiāo)、物流、生產(chǎn)等供應(yīng)鏈各環(huán)節(jié)的參與方緊密協(xié)同。因此本文提出了月計(jì)劃的產(chǎn)銷(xiāo)平衡工作新模式(如圖2)。
在新模式下,對(duì)煙草工業(yè)企業(yè)的供應(yīng)鏈來(lái)說(shuō),整個(gè)流程可以分為計(jì)劃環(huán)節(jié)、生產(chǎn)環(huán)節(jié)、調(diào)度環(huán)節(jié)、配送環(huán)節(jié)。計(jì)劃環(huán)節(jié),指在每個(gè)月月末企業(yè)會(huì)收到下月需求計(jì)劃,需要根據(jù)收到的訂單以及各發(fā)貨點(diǎn)的實(shí)際情況預(yù)排發(fā)貨計(jì)劃;生產(chǎn)環(huán)節(jié),指企業(yè)根據(jù)制定的生產(chǎn)計(jì)劃進(jìn)行原材料的采購(gòu)、加工和生產(chǎn);調(diào)度環(huán)節(jié),指生產(chǎn)完成之后,物流部門(mén)需要按照實(shí)際的需求重新制定發(fā)貨計(jì)劃,移庫(kù)和回購(gòu)計(jì)劃;配送環(huán)節(jié),指物流部門(mén)按照發(fā)貨計(jì)劃進(jìn)行發(fā)貨,按照運(yùn)輸計(jì)劃和拼車(chē)計(jì)劃將產(chǎn)品運(yùn)送到到貨點(diǎn)(如圖3)。
為了幫助企業(yè)提升供應(yīng)鏈效率,減少成本,本文提出了一個(gè)發(fā)貨調(diào)度優(yōu)化模型,其目標(biāo)是在滿足供需平衡的前提下實(shí)現(xiàn)運(yùn)輸成本的最優(yōu)化,同時(shí)確保較高的車(chē)輛滿載率,同時(shí)能夠基于到貨點(diǎn)的需求計(jì)劃數(shù)據(jù)輸出可供物流公司執(zhí)行的具體發(fā)貨計(jì)劃和移庫(kù)計(jì)劃。
圖2 月計(jì)劃產(chǎn)銷(xiāo)平衡工作流程圖
圖3 煙草工業(yè)企業(yè)生產(chǎn)物流調(diào)度配送過(guò)程示意圖
模型在實(shí)際應(yīng)用中,可以分為無(wú)貨源計(jì)劃約束和有貨源計(jì)劃約束兩種應(yīng)用場(chǎng)景。無(wú)貨源計(jì)劃約束指的是,基于下個(gè)月的需求計(jì)劃為生產(chǎn)部門(mén)制定生產(chǎn)計(jì)劃提供參考,在該場(chǎng)景下只需要考慮各發(fā)貨點(diǎn)的可發(fā)貨品規(guī),而不需要考慮貨源庫(kù)存,同樣以總成本最優(yōu)的目標(biāo)輸出各發(fā)貨點(diǎn)的貨源需求;有貨源計(jì)劃約束是指,在有貨源約束的前提下進(jìn)行發(fā)貨調(diào)度,所有的發(fā)貨計(jì)劃嚴(yán)格按照各發(fā)貨點(diǎn)的庫(kù)存情況進(jìn)行發(fā)貨,輸出總成本最優(yōu)和滿載率較高的發(fā)貨計(jì)劃、移庫(kù)計(jì)劃以及貨源補(bǔ)充建議。
該模型的主要挑戰(zhàn)在于:(1)企業(yè)生產(chǎn)的產(chǎn)品品類(lèi)較多,運(yùn)輸車(chē)輛具有多種車(chē)型,同時(shí)計(jì)劃需要落實(shí)到計(jì)劃期內(nèi)的每一天,使得模型需要考慮的變量較多;(2)在調(diào)度過(guò)程中需要考慮各發(fā)貨點(diǎn)的移庫(kù)操作,移庫(kù)可能進(jìn)一步降低成本,但同時(shí)移庫(kù)過(guò)程和移庫(kù)后的貨物搬運(yùn)都需要占用配送時(shí)間;(3)在配送環(huán)節(jié),到達(dá)不同的到貨點(diǎn)時(shí)可能會(huì)有拼車(chē)的情況,拼車(chē)情況下的運(yùn)費(fèi)計(jì)算問(wèn)題,以及配送環(huán)節(jié)的車(chē)輛選擇問(wèn)題,都是最終影響成本的重要因素。正是這些情況的存在,使得問(wèn)題難度大大增加。
本文模型考慮了多個(gè)發(fā)貨點(diǎn)和到貨點(diǎn)。每個(gè)發(fā)貨點(diǎn)的發(fā)貨數(shù)量有最大數(shù)量限制。每個(gè)到貨點(diǎn)對(duì)煙草規(guī)格及數(shù)量需求不同,但不同規(guī)格煙草包裝默認(rèn)統(tǒng)一。物流公司可以使用多種車(chē)型,每種車(chē)型具有不同的最大裝載量。各個(gè)到貨點(diǎn)的月需求計(jì)劃中,包括了到貨點(diǎn)需要的產(chǎn)品品類(lèi)、數(shù)量和需求時(shí)間。
在預(yù)排發(fā)貨計(jì)劃時(shí),有貨源計(jì)劃約束場(chǎng)景下,模型需要考慮不同發(fā)貨點(diǎn)之間的移庫(kù)操作,移庫(kù)的煙草規(guī)格和數(shù)量沒(méi)有限制,移庫(kù)貨物到達(dá)倉(cāng)庫(kù)后變?yōu)榭砂l(fā)庫(kù)存有轉(zhuǎn)換時(shí)間。
在制定運(yùn)輸計(jì)劃時(shí),模型需要考慮每個(gè)發(fā)貨點(diǎn)對(duì)每個(gè)訂單的發(fā)貨時(shí)間、需要的運(yùn)輸車(chē)次以及發(fā)出的貨物數(shù)量。發(fā)貨運(yùn)輸過(guò)程中,多個(gè)到貨點(diǎn)到貨需求在時(shí)間允許的情況下,是允許拼車(chē)的,拼車(chē)能夠節(jié)省因?yàn)檐?chē)輛滿載率不夠而產(chǎn)生的補(bǔ)貼。拼車(chē)的業(yè)務(wù)規(guī)則如下:
(1)每個(gè)拼車(chē)線路從一個(gè)發(fā)貨點(diǎn)出發(fā),可以對(duì)多個(gè)到貨點(diǎn)倉(cāng)庫(kù)的運(yùn)輸需求進(jìn)行拼車(chē)(通常不超過(guò)2個(gè)需求點(diǎn))。
(2)僅限同一個(gè)承運(yùn)商及標(biāo)段的到貨點(diǎn)倉(cāng)庫(kù)之間進(jìn)行拼載。
(3)單輛車(chē)輛產(chǎn)生的運(yùn)費(fèi)等于不同線路的單位運(yùn)輸成本與車(chē)輛載重,總運(yùn)費(fèi)等于各條運(yùn)輸線路上車(chē)輛運(yùn)費(fèi)加總。拼車(chē)線路的運(yùn)費(fèi)以所串連的多個(gè)到貨需求中所指定最晚到貨倉(cāng)庫(kù)的距離進(jìn)行結(jié)算,但運(yùn)輸時(shí)間需要考慮多個(gè)到貨倉(cāng)庫(kù)之間的距離,每增加一個(gè)拼車(chē)到貨倉(cāng)庫(kù)需要增加額外的卸貨時(shí)間。
基于智能發(fā)貨調(diào)度模型的目標(biāo)、相關(guān)因素和約束條件,可以建立無(wú)貨源計(jì)劃約束和有貨源計(jì)劃約束場(chǎng)景下分別對(duì)應(yīng)的線性規(guī)劃模型的理論模型。
模型所需的符號(hào)和參數(shù)定義如下:
w:企業(yè)的發(fā)貨點(diǎn),w ∈W,W為所有發(fā)貨點(diǎn)的集合;
l:到貨點(diǎn),l ∈L,L為所有到貨點(diǎn)的集合;
p:煙草產(chǎn)品的產(chǎn)品規(guī)格和品類(lèi);
i:在配送過(guò)程中涉及到不同的車(chē)輛型號(hào);
v:運(yùn)輸車(chē)輛的平均行駛速度;
SI:期初庫(kù)存,發(fā)貨點(diǎn)每月初剩余的上個(gè)月的庫(kù)存余量;
dr:拼車(chē)線路,dr ?L 。
輸入?yún)?shù)為:
Pwl=發(fā)貨點(diǎn)w到到貨點(diǎn)l的單位運(yùn)輸成本;
Pww'=發(fā)貨點(diǎn)w到發(fā)貨點(diǎn)w'的單位運(yùn)輸成本;
=在第td天發(fā)貨點(diǎn)w到拼車(chē)線路dr的單位運(yùn)輸成本;
dwl=發(fā)貨點(diǎn)w到到貨點(diǎn)l的運(yùn)輸距離;
dww'=發(fā)貨點(diǎn)w到發(fā)貨點(diǎn)w'的運(yùn)輸距離;
=在第td天發(fā)貨點(diǎn)w生產(chǎn)產(chǎn)品規(guī)格p的能力;
=第t天到貨點(diǎn)l對(duì)于產(chǎn)品規(guī)格p的需求;
Cw=發(fā)貨點(diǎn)w的庫(kù)容;
INVwptd=在第td天末,發(fā)貨點(diǎn)w剩余的產(chǎn)品規(guī)格p的數(shù)量;
tl=每個(gè)到貨點(diǎn)要求的貨物到達(dá)時(shí)間;
td=發(fā)貨點(diǎn)發(fā)出貨物的時(shí)間;
dt=路上所需的運(yùn)輸時(shí)間;
buffertime1=發(fā)貨緩沖時(shí)間;
buffertime2=移庫(kù)緩沖時(shí)間;
SIwp=發(fā)貨點(diǎn)w的產(chǎn)品規(guī)格p的月初庫(kù)容;
V[i]=車(chē)型i對(duì)應(yīng)的裝載量。
決策變量為:
=在第td天由發(fā)貨點(diǎn)w生產(chǎn)的產(chǎn)品規(guī)格p的數(shù)量;
=在第td天由發(fā)貨點(diǎn)w發(fā)往到貨點(diǎn)l的產(chǎn)品規(guī)格p的數(shù)量;
=在第td天由發(fā)貨點(diǎn)w移庫(kù)發(fā)往發(fā)貨點(diǎn)w'的產(chǎn)品規(guī)格p的數(shù)量;
trwlitd=在第td天由發(fā)貨點(diǎn)w不拼車(chē)發(fā)往到貨點(diǎn)l的車(chē)型i的數(shù)量;
tr_routewdritd=在第td天由發(fā)貨點(diǎn)w拼車(chē)發(fā)往拼車(chē)線路dr的車(chē)型i的數(shù)量;
=在第td天由發(fā)貨點(diǎn)w移庫(kù)發(fā)往發(fā)貨點(diǎn)w'的車(chē)型i的數(shù)量;
無(wú)貨源計(jì)劃約束下的運(yùn)輸調(diào)度模型為:
模型的目標(biāo)為總運(yùn)費(fèi)最小化,因?yàn)檫\(yùn)費(fèi)與車(chē)輛的數(shù)量有關(guān),因此運(yùn)費(fèi)最優(yōu)的同時(shí)也考慮了車(chē)輛滿載率最優(yōu),總運(yùn)費(fèi)包括了發(fā)貨點(diǎn)到到貨點(diǎn)的運(yùn)費(fèi)以及發(fā)貨點(diǎn)到拼車(chē)線路的運(yùn)費(fèi)。約束(2)為運(yùn)輸時(shí)間約束,表示發(fā)貨點(diǎn)w發(fā)往到貨點(diǎn)l所需時(shí)間,包括實(shí)際運(yùn)輸時(shí)間和緩沖時(shí)間,發(fā)貨過(guò)程中存在緩沖時(shí)間主要來(lái)自于駕駛員休息,天氣原因等耽誤運(yùn)輸?shù)呐及l(fā)事件;約束(3)為供需匹配約束,代表著各個(gè)到貨點(diǎn)的需求必須被發(fā)出的產(chǎn)品滿足;約束(4)為生產(chǎn)能力限制,發(fā)貨點(diǎn)w當(dāng)天生產(chǎn)產(chǎn)品p的數(shù)量小于等于其當(dāng)天的生產(chǎn)能力上限。約束(5)-(11)對(duì)拼車(chē)的情況進(jìn)行了約束。約束(5)保證拼車(chē)線路包含至少2個(gè)到貨點(diǎn);約束(6)表示當(dāng)拼車(chē)線路上的某一到貨點(diǎn)需求量為0時(shí),此時(shí)此到貨點(diǎn)不需要拼車(chē);約束(7)表示當(dāng)整條拼車(chē)線路上到貨點(diǎn)需求均為0,則整條線路都不需要拼車(chē);約束(8)表示當(dāng)線路上存在拼車(chē)時(shí),則拼車(chē)所用的車(chē)輛數(shù)量不為0;約束(9)保證了當(dāng)?shù)截淈c(diǎn)存在拼車(chē)線路時(shí),不需要單獨(dú)運(yùn)往該到貨點(diǎn);約束(10)保證了不拼車(chē)的車(chē)輛裝載容量大于等于目的地到貨點(diǎn)的實(shí)際需求量;約束(11)保證了拼車(chē)線路上的車(chē)輛裝載容量大于等于線路上所有到貨點(diǎn)的實(shí)際需求量。
有貨源計(jì)劃約束下的模型僅在無(wú)貨源計(jì)劃約束下的模型基礎(chǔ)上進(jìn)行了改動(dòng)。其目標(biāo)函數(shù)如式(12)所示,總運(yùn)費(fèi)包括了不拼車(chē)的運(yùn)貨成本、拼車(chē)成本以及移庫(kù)成本。
約束條件在無(wú)貨源計(jì)劃約束下的模型的基礎(chǔ)上添加了以下幾條:
約束(13)表示發(fā)貨點(diǎn)間進(jìn)行移庫(kù)花費(fèi)的時(shí)間,這里存在緩沖時(shí)間的主要原因來(lái)自于移庫(kù)后通常要進(jìn)行的裝貨、卸貨、錄入系統(tǒng)等操作;約束(14)保證了發(fā)貨點(diǎn)當(dāng)天庫(kù)存等于前一天末庫(kù)存和當(dāng)天生產(chǎn)、移入數(shù)量之和減去當(dāng)天發(fā)貨、移出數(shù)量;約束(15)保證了td天末發(fā)貨點(diǎn)w的庫(kù)存不大于其庫(kù)容并不小于0;約束(16)保證了移庫(kù)使用的車(chē)輛裝載容量大于等于總的移庫(kù)產(chǎn)品數(shù)量。
由理論模型可以看出,由于最終的決策變量既包括生產(chǎn)數(shù)量等浮點(diǎn)型數(shù)據(jù),也包括整數(shù)型數(shù)據(jù)如車(chē)輛數(shù),因此本文的問(wèn)題可以歸結(jié)為一個(gè)混合整數(shù)線性規(guī)劃問(wèn)題(MILP,Mixed Integer Linear Programming)。本文采用Python 下的第三方軟件包Pyomo[15]結(jié)合Gurobi求解器對(duì)模型進(jìn)行求解。具體的求解過(guò)程如圖4所示。
圖4 模型的求解過(guò)程示意圖
由于本文的理論模型約束多、維度多、數(shù)據(jù)量大,導(dǎo)致算法時(shí)間復(fù)雜度和空間復(fù)雜度較高,求解難度大,因此本文通過(guò)以下兩種方式降低了求解的復(fù)雜度:(1)在部分約束條件中應(yīng)用了啟發(fā)式算法的思想來(lái)使得求解空間縮小,以尋找近似的最優(yōu)解:先允許一個(gè)較小的拼車(chē)距離,確定發(fā)貨點(diǎn)的發(fā)貨,再將允許拼車(chē)距離加大,在發(fā)貨確定的情況下計(jì)算出運(yùn)輸安排;(2)對(duì)部分約束條件進(jìn)行了McCormick envelopes轉(zhuǎn)換使帶有0/1變量的約束轉(zhuǎn)換成線性約束,加快求解速度。
為了評(píng)估模型的優(yōu)化效果,本文算例使用的數(shù)據(jù)來(lái)自湖南中煙工業(yè)有限責(zé)任公司2017年11月的真實(shí)到貨點(diǎn)需求數(shù)據(jù)等數(shù)據(jù),將其輸入模型進(jìn)行優(yōu)化計(jì)算,得到模擬的模型輸出結(jié)果,包含運(yùn)輸總成本、發(fā)貨計(jì)劃明細(xì)、車(chē)輛總滿載率和使用車(chē)輛總數(shù)等,將這些模型計(jì)算結(jié)果與該月份實(shí)際的運(yùn)營(yíng)數(shù)據(jù)進(jìn)行比較,以評(píng)估模型的優(yōu)化效果。
實(shí)際對(duì)比的數(shù)據(jù)涵蓋湖南中煙工業(yè)有限公司下的7 個(gè)發(fā)貨點(diǎn),包含4 個(gè)位于湖南省長(zhǎng)沙、常德、零陵、郴州的發(fā)貨點(diǎn),其余三個(gè)位于寧夏吳忠、吉林四平和河北保定。企業(yè)可以提供包括芙蓉王、白沙等共19 種品牌,各發(fā)貨點(diǎn)期初庫(kù)存和生產(chǎn)能力較為繁重。數(shù)據(jù)包括近400 個(gè)需求點(diǎn),需求數(shù)量和時(shí)間、需求點(diǎn)與發(fā)貨點(diǎn)距離信息各有不同。企業(yè)使用的裝載車(chē)輛共有 3 種,裝載量分別為 1 500 件,750 件,650件。車(chē)輛的平均行駛速度為50km/h。發(fā)貨點(diǎn)與需求點(diǎn)的分布如圖5所示,三角形代表發(fā)貨點(diǎn),圓點(diǎn)代表需求點(diǎn)。
在本文算例中,先以50km為拼車(chē)距離進(jìn)行模型計(jì)算,即距離在50km之內(nèi)的需求點(diǎn)的貨物可以通過(guò)同一輛車(chē)進(jìn)行拼車(chē)運(yùn)輸,由此確定出各倉(cāng)庫(kù)的發(fā)貨日期和數(shù)量以及移庫(kù)的信息,再以50km為拼車(chē)距離進(jìn)一步計(jì)算出具體的運(yùn)輸路線、拼車(chē)安排。
本模型運(yùn)算得到的部分具體調(diào)度明細(xì)如圖6所示。本文將得到的結(jié)果與該企業(yè)實(shí)際運(yùn)營(yíng)數(shù)據(jù)進(jìn)行比較,具體見(jiàn)表1。
圖5 發(fā)貨點(diǎn)和需求點(diǎn)分布情況
表1 模型運(yùn)算結(jié)果與實(shí)際數(shù)據(jù)比較
從表1可以看到,在無(wú)貨源計(jì)劃約束的應(yīng)用場(chǎng)景下,其單位運(yùn)輸成本下降了19.7%,出現(xiàn)成本大幅度下降的主要原因在于無(wú)貨源計(jì)劃約束不考慮貨源庫(kù)存。有貨源計(jì)劃約束模型與物流公司的實(shí)際運(yùn)營(yíng)情況比較貼近,因?yàn)樵搱?chǎng)景嚴(yán)格按照實(shí)際所提供的貨源來(lái)安排發(fā)貨計(jì)劃,其模型計(jì)算模擬出來(lái)的發(fā)貨計(jì)劃成本可以與實(shí)際運(yùn)輸成本直接對(duì)比,用于評(píng)價(jià)模型的優(yōu)化效果。從以上數(shù)據(jù)可以看出,單位運(yùn)輸成本下降了9.8%,下降的幅度也比較明顯,另外發(fā)車(chē)次數(shù)也下降了8%,總滿載率提高了1.79%。
從數(shù)據(jù)可以看出,本文提出的模型及算法,通過(guò)有效的供需匹配和拼車(chē)計(jì)劃,能夠幫助企業(yè)大幅降低運(yùn)輸成本,減少了發(fā)車(chē)次數(shù),滿載率也得到了提高,減少了不必要的裝載空間浪費(fèi)。
圖6 部分調(diào)度明細(xì)
在數(shù)值實(shí)驗(yàn)部分,本文對(duì)算例進(jìn)行了擴(kuò)展,通過(guò)改變是否拼車(chē)、車(chē)型組合、拼車(chē)距離,來(lái)觀察決策變量是如何改變最優(yōu)成本的。
(1)是否拼車(chē)。保持和算例相同的輸入,本文對(duì)比了優(yōu)化算法中允許拼車(chē)和不允許拼車(chē)兩種情況,對(duì)比結(jié)果見(jiàn)表2,允許拼車(chē)使得11月的運(yùn)輸成本下降了3.87 個(gè)百分點(diǎn),同時(shí)也大幅減少了需要使用的車(chē)次。允許拼車(chē)的策略能夠充分利用運(yùn)輸工具的裝載空間,從而大幅減少企業(yè)的運(yùn)輸成本。
表2 是否拼車(chē)對(duì)結(jié)果的影響
(2)車(chē)型組合(1 500件,750件,650件)。在這部分,本文對(duì)現(xiàn)有的三種車(chē)型進(jìn)行排列組合,探討不同車(chē)型組合對(duì)企業(yè)運(yùn)輸成本的影響(如圖7)。本文將容量為1 500件、750件、650件的貨車(chē)分別定義為A、B、C,測(cè)試的車(chē)型組合包括:只使用A,只使用B,只使用C,使用A 和B,使用A 和C,使用B 和C,使用A、B和C。
可以看到當(dāng)僅能使用一種車(chē)型進(jìn)行運(yùn)輸時(shí)(MN段),使用容量為1 500的貨車(chē)成本最高,而使用容量為650 的車(chē)輛的運(yùn)輸成本最低,使用的車(chē)輛數(shù)最多,這是因?yàn)槭褂萌萘枯^大的貨車(chē)導(dǎo)致車(chē)輛滿載率降低,不僅運(yùn)費(fèi)較高,還有大量裝載空間被浪費(fèi)。
圖7 車(chē)型組合對(duì)優(yōu)化成本的影響
觀察僅使用兩種車(chē)型進(jìn)行運(yùn)輸?shù)臄?shù)據(jù)(PQ段)可以發(fā)現(xiàn),使用兩種車(chē)型顯然相比僅用一種車(chē)型更加節(jié)約成本,同樣,當(dāng)使用兩種最小的車(chē)型進(jìn)行聯(lián)合運(yùn)輸時(shí),運(yùn)輸成本是最低的。而使用三種車(chē)型進(jìn)行聯(lián)合運(yùn)輸時(shí)運(yùn)輸成本在該實(shí)驗(yàn)中達(dá)到了最低,多車(chē)型聯(lián)合運(yùn)輸使得不同車(chē)輛能夠進(jìn)行互補(bǔ),避免了空間的浪費(fèi),從而使裝載空間利用率達(dá)到更高,進(jìn)而節(jié)省了成本。
(3)最大允許拼車(chē)到貨點(diǎn)間距離參數(shù)。保持和算例相同的輸入數(shù)據(jù),本文調(diào)整了模型求解中啟發(fā)式算法對(duì)拼車(chē)距離的限制,在拼車(chē)距離分別為0、50km、100km、150km、200km、250km、300km時(shí)進(jìn)行計(jì)算,得到結(jié)果如圖8所示??梢钥闯?,不拼車(chē)時(shí),單位產(chǎn)品成本為8.026,滿載率達(dá)到了77.92%;而當(dāng)拼車(chē)距離達(dá)到300 時(shí),單位產(chǎn)品成本降低到了7.02,滿載率達(dá)到了84.85%。隨著拼車(chē)距離的增大,優(yōu)化算法提供的計(jì)劃中單位產(chǎn)品成本在不斷降低,但滿載率在不斷升高。這說(shuō)明,由于拼車(chē)距離加大,有更多的需求點(diǎn)進(jìn)入允許拼車(chē)范圍內(nèi),從而算法能夠搜尋到使運(yùn)輸成本越小的拼車(chē)計(jì)劃,車(chē)輛的滿載率得到提高,進(jìn)而單位產(chǎn)品的運(yùn)輸成本得到降低。
圖8 拼車(chē)距離對(duì)優(yōu)化成本的影響
本文針對(duì)煙草工業(yè)企業(yè)目前供應(yīng)鏈存在的一些問(wèn)題,在按時(shí)按量滿足各個(gè)到貨點(diǎn)需求等約束條件的基礎(chǔ)上,以成本最優(yōu)的目標(biāo)建立了理論模型,可以為煙草工業(yè)企業(yè)提高運(yùn)營(yíng)的效率,提高服務(wù)滿意度,對(duì)整個(gè)供應(yīng)鏈可以進(jìn)行更好的計(jì)劃和把控,同時(shí)使用Pyomo構(gòu)建了算法,獲得了較好的求解效果。相比傳統(tǒng)的關(guān)于物流調(diào)度優(yōu)化方法的文章,本文主要突出解決了以下幾個(gè)問(wèn)題:(1)不僅僅只對(duì)物流調(diào)度的過(guò)程進(jìn)行了優(yōu)化,同時(shí)還對(duì)煙草工業(yè)企業(yè)每日的生產(chǎn)過(guò)程進(jìn)行了優(yōu)化,求解的結(jié)果包括每日每個(gè)倉(cāng)庫(kù)的生產(chǎn)量,為各個(gè)倉(cāng)庫(kù)的生產(chǎn)計(jì)劃提供指導(dǎo)建議;(2)更多地關(guān)注模型本身,使模型更加符合實(shí)際的情況,模型求解也會(huì)更加貼近于最優(yōu)解;(3)在數(shù)值實(shí)驗(yàn)里使用的數(shù)據(jù)來(lái)自于企業(yè)的真實(shí)數(shù)據(jù),所以在實(shí)踐中本文的模型可以取得較好的效果;(4)模型具有普適性,對(duì)多車(chē)型、多品類(lèi)的供應(yīng)鏈調(diào)度研究具有一定指導(dǎo)意義。
除了優(yōu)點(diǎn)之外,本文的研究目前依然也存在一些問(wèn)題:(1)模型的約束條件較多,如果數(shù)據(jù)規(guī)模很大,會(huì)導(dǎo)致模型過(guò)于復(fù)雜,求解起來(lái)耗時(shí)較高,會(huì)產(chǎn)生一定的困難;(2)尋求的是最優(yōu)解,沒(méi)有采用智能算法,雖然求出來(lái)的最終解較優(yōu),但是效率較低,在未來(lái)的研究中可以進(jìn)一步完善。