夏 強(qiáng),周健勇 (上海理工大學(xué) 管理學(xué)院,上海200093)
隨著當(dāng)今經(jīng)濟(jì)科技的快速發(fā)展,市場各行業(yè)競爭愈加激烈,物流也發(fā)展成為最具競爭性的行業(yè)之一。物流系統(tǒng)包含了采購、運(yùn)輸、存儲(chǔ)、搬運(yùn)、流通加工、信息處理等多個(gè)要素,但無論是其中哪一個(gè)功能單元,它的優(yōu)化都是追求節(jié)約、高效的最優(yōu)方案。在解決這個(gè)問題的過程中,通常會(huì)利用數(shù)學(xué)知識建立數(shù)學(xué)模型,力求找到最優(yōu)解,從而獲得最好的進(jìn)行資源配置的有效方案。
目前物流工程最重要且急需解決的問題就是如何使物流活動(dòng)適應(yīng)現(xiàn)代化生產(chǎn)生活的需求,實(shí)現(xiàn)系統(tǒng)化、效率化,以及如何制定、選擇什么樣的物流方案才能獲得最佳的經(jīng)濟(jì)效益[1]。眾所周知,運(yùn)輸作為物流活動(dòng)的核心,運(yùn)輸路徑的選擇是關(guān)系物流成本的首要因素,一個(gè)合理的運(yùn)輸路徑對企業(yè)來說是必須掌握的。但運(yùn)輸路徑往往涉及多個(gè)因素參與其中,比如單位運(yùn)費(fèi)、路徑長短等都有不同程度的影響。因此運(yùn)輸路徑的優(yōu)化與選擇是廠家重點(diǎn)解決的難題。如果單純地依靠人工計(jì)算來尋找最優(yōu)路徑比較困難,運(yùn)算過程復(fù)雜繁瑣,不易簡化。
1.1 商品運(yùn)輸路徑研究的基本觀點(diǎn)。運(yùn)輸路徑問題是由Dantzig和Ramseryu在1959年首次提出,涉及到物流、系統(tǒng)、管理等多個(gè)學(xué)科的理論知識,自提出以來,國內(nèi)外許多研究者對這項(xiàng)問題進(jìn)行了比較細(xì)致的探討與研究,盡管各有不同的觀點(diǎn),但總體上的研究結(jié)果都表示運(yùn)輸路徑對企業(yè)影響最大的無非是成本的消耗以及時(shí)間的長短從而影響到顧客滿意度問題。商家在選擇運(yùn)輸方案時(shí),通常會(huì)考慮本企業(yè)運(yùn)輸成本、運(yùn)輸時(shí)間、運(yùn)輸距離等方面進(jìn)行多角度的衡量,而成本是首要因素。對于本文中列舉的水果罐頭并非冷鏈運(yùn)輸,并不存在要考慮到運(yùn)輸時(shí)間導(dǎo)致的影響顧客滿意度問題,考慮的首要因素同樣是成本,以成本最小為每次運(yùn)輸?shù)哪繕?biāo)[2]。
1.2 商品運(yùn)輸路徑優(yōu)化的意義。為了提高物流運(yùn)輸?shù)男剩?jié)約運(yùn)輸成本,本文以某水果罐頭加工廠為例,對運(yùn)輸路徑優(yōu)化后結(jié)果顯示可大大降低運(yùn)輸中的成本,提高企業(yè)的收益。
(1)節(jié)約運(yùn)輸能力,節(jié)約能源支出;(2)能夠降低企業(yè)運(yùn)輸?shù)某杀?,減少不必要的支出;(3)減少因路徑不合理而導(dǎo)致的資源浪費(fèi)以及污染物的排放。
2.1 MATLAB概述。MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡稱,是一種用于算法開發(fā),數(shù)據(jù)可視化、數(shù)據(jù)分析及數(shù)值計(jì)算的高級技術(shù)計(jì)算語言和交互環(huán)境[3]。MATLAB應(yīng)用范圍非常廣泛,可以用來處理信號和圖像、測試測量、開發(fā)程序、數(shù)學(xué)建模與分析,同時(shí)包含Simulink仿真程序,用來在各個(gè)學(xué)科的實(shí)驗(yàn)中進(jìn)行仿真研究。
2.2 MATLAB的特點(diǎn)。MATLAB通過運(yùn)算矩陣的方式計(jì)算數(shù)據(jù),它把數(shù)值計(jì)算和可視化環(huán)境結(jié)合起來,具有簡捷、易操作的特點(diǎn)[4],應(yīng)用領(lǐng)域非常廣泛,同樣在運(yùn)籌學(xué)線性規(guī)劃中發(fā)揮重要的作用。
在MATLAB中繪圖十分方便,數(shù)據(jù)的可視化非常簡單,并且繪制的圖形層次分明,尤其在繪制3D圖形中,優(yōu)勢極為明顯,其強(qiáng)大的繪圖功能也是在處理數(shù)學(xué)模型問題中不可缺少的工具。
MATLAB軟件中具有功能豐富的工具箱,由各專業(yè)領(lǐng)域的專家編寫應(yīng)用于本領(lǐng)域的工具,使用戶無需自己編寫便可直接使用,本文中使用的linprog函數(shù)便是出自其中。
2.3 線性規(guī)劃簡介。線性規(guī)劃是運(yùn)籌學(xué)中的一個(gè)重要分支,它是處理線性目標(biāo)函數(shù)和線性約束的比較成熟的方法。建立線性規(guī)劃模型在影響因素較多環(huán)境下可將問題明確化,使研究問題更加直觀,在經(jīng)濟(jì)、軍事、商業(yè)、運(yùn)輸以及教育系統(tǒng)中都有廣泛的應(yīng)用。依靠數(shù)學(xué)軟件的強(qiáng)大運(yùn)算能力,能簡化模型的求解,運(yùn)用相應(yīng)的方法便能求解到最優(yōu)的運(yùn)輸路徑,運(yùn)算簡單、精確[5]。線性規(guī)劃的標(biāo)準(zhǔn)形式要求目標(biāo)函數(shù)最小化、約束條件取等式,變量非負(fù)不符合條件的線性模型首先要轉(zhuǎn)化為標(biāo)準(zhǔn)形,再進(jìn)行求解。線性規(guī)劃的求解方法有一般圖解法和單純法(Simple Method),單純法第一次由Dantzig于1947年提出,后經(jīng)學(xué)者的不斷實(shí)驗(yàn)、改進(jìn)漸趨完善。單純法是一種迭代算法,它從所有基本可行解的一個(gè)較小部分的迭代最終產(chǎn)生最優(yōu)解。MATLAB軟件中工具箱所用到的是投影法,它實(shí)際上是在單純法基礎(chǔ)上的一個(gè)變形,相比于前兩種方法,MATLAB的linprog函數(shù)使用的投影法,使得運(yùn)算過程大大簡化,避免用手算時(shí)的繁瑣,提高規(guī)劃的效率和精準(zhǔn)度,能迅速地解出物流運(yùn)輸?shù)淖顑?yōu)方案。線性規(guī)劃問題有求最大值和求最小值兩種,在MATLAB中求解以最小值為標(biāo)準(zhǔn)形式,不符合標(biāo)準(zhǔn)的線性模型必須轉(zhuǎn)化為標(biāo)準(zhǔn)形之后方能求解。
在實(shí)際的生產(chǎn)生活中,若能根據(jù)環(huán)境的條件要求建立準(zhǔn)確的數(shù)學(xué)模型,一般要通過采用線性規(guī)劃的手段來解決這個(gè)問題,而MATLAB軟件對求解模型方面具有不可替代的作用,利用MATLAB軟件中強(qiáng)大的分析運(yùn)算能力可以大幅度提高工作效率,并且得到精確的計(jì)算結(jié)果。
對于一個(gè)生產(chǎn)企業(yè)來說,經(jīng)營活動(dòng)大致分為三個(gè)環(huán)節(jié),購進(jìn)原材料、制造生產(chǎn)以及出售給分銷商,運(yùn)輸路徑問題存在于購進(jìn)原材料與運(yùn)送到分銷商兩個(gè)階段,一家企業(yè)可能會(huì)有不同的生產(chǎn)制造廠地,需要從不同的原材料供應(yīng)地進(jìn)貨,加工以后再運(yùn)往不同的收貨地,面臨不同的原材料供應(yīng)點(diǎn)和市場上的收貨點(diǎn),同時(shí)來往不同地點(diǎn)耗費(fèi)的成本各不相同,在這么一個(gè)復(fù)雜的系統(tǒng)中,企業(yè)便想找到一個(gè)最優(yōu)方案從而使得運(yùn)輸成本最少。
求解運(yùn)輸?shù)淖顑?yōu)方案實(shí)際上是求函數(shù)中的最小值問題,linprog函數(shù)是MATLAB軟件中優(yōu)化工具箱中自帶的函數(shù),以目標(biāo)函數(shù)最小化的標(biāo)準(zhǔn)構(gòu)建,是求解線性規(guī)劃問題最簡單快捷的工具。用linprog函數(shù)求解線性規(guī)劃問題的具體語法如下:
X=linprog( F,A ,b):求解問題min FX,X的約束條件為Ax≤B。
X=linprog( F,A,b,Aeq,Be q):求解上述問題,增加約束條件Aeq=Beq。若此約束條件不存在,那么將A=[]、b=[]。
X=linprog( F,A,b,Aeq,Beq,lb,ub):定義變量X的下界lb和上界ub,使得X處在此范圍中。
X=linprog( F,A,b,Aeq,Beq,lb,ub,x0):初值定義為x0。若是大型算法則忽略初值。
[X, fval]=linprog( F,A,b,Aeq,Beq,LB):返回目標(biāo)函數(shù)最小值fval和當(dāng)目標(biāo)函數(shù)取最小值時(shí)X的取值。
某水果罐頭制造企業(yè)有A、B兩個(gè)生產(chǎn)廠地,需要從I、II兩個(gè)水果園進(jìn)水果,還要向甲、乙、丙三個(gè)大型市場供應(yīng)罐頭,I水果園每次最多可提供水果量為3噸,II水果園每次最多可提供的水果為4噸;甲、乙、丙三個(gè)市場的罐頭需求量分別為3噸、5噸和4噸,假設(shè)兩家果園水果價(jià)格一樣,每單位的水果可制造2單位的罐頭,那么如何設(shè)計(jì)A、B兩個(gè)廠地的運(yùn)輸途徑才能使得運(yùn)輸成本最???
根據(jù)表1、表2和圖1可計(jì)算在初始方案下,運(yùn)輸費(fèi)用f=80×1.5+50×1+60×2+70×1.5+50×2.5+60×0.5+30×2+40×3+30×2+30×2=850元。
表1 單位運(yùn)費(fèi)表
優(yōu)化方案:針對上述結(jié)果,首先構(gòu)建數(shù)學(xué)模型,建立線性方程組。設(shè)A廠地從I、II水果園分別進(jìn)水果X1,X2噸的水果,B廠地分別從I、II水果園進(jìn)X3,X4噸的水果;A廠地分別對甲、乙、丙供X5,X6,X7單位的罐頭,B廠地分別對甲、乙、丙供X8,X9,X10單位的罐頭(如表3所示)。
表2 原先運(yùn)輸方案
則優(yōu)化后的模型中,目標(biāo)函數(shù)fx=80X1+60X2+50X3+70X4+50X5+30X6+30X7+60X8+40X9+30X10。
Subject to:
圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖
表3 假設(shè)的運(yùn)輸量X
等式(1)表示保證甲市場的供貨量為3噸,等式(2)表示乙市場的供貨量為5噸,等式(3)表示丙市場的供貨量為4噸;等式(4)表示A、B兩個(gè)加工廠地進(jìn)的水果綜合為6噸,等式(5)表示A廠地產(chǎn)銷相等,等式(6)表示B廠地產(chǎn)銷相等;不等式(7)表示I水果園提供的水果最多為3噸,不等式(8)表示II水果園提供的水果最多為4噸;不等式(9)表示A、B兩個(gè)加工廠地從I水果園和II水果園進(jìn)的水果,以及向甲、乙、丙三個(gè)市場的輸送的罐頭都不可能小于零。
上述10個(gè)條件變量在MATLAB中的求解過程為:
求解結(jié)果為:
由此得出優(yōu)化后的模型如下:X1=0,X2=4,X3=2,X4=0,X5=3,X6=5,X7=0,X8=0,X9=0,X10=4。
如表4所示,即在優(yōu)化后模型下,A廠地從從I水果園進(jìn)水果0噸,從II水果園進(jìn)水果4噸,供貨給甲市場3噸,供貨給乙市場5噸,供貨給丙市場0噸;B廠地從I水果園進(jìn)貨2噸,從B水果園進(jìn)貨0噸,供貨給甲市場0噸,供貨給乙市場0噸,供貨給丙市場4噸。此時(shí)運(yùn)輸費(fèi)用最低為760元,相比于優(yōu)化之前,節(jié)省運(yùn)輸成本。
表4 優(yōu)化后的變量
運(yùn)輸成本通常是企業(yè)考慮的重要問題,優(yōu)化運(yùn)輸路徑是企業(yè)不可缺少的工作。本文通過對罐頭廠的問題分析研究,以運(yùn)輸成本最優(yōu)為目標(biāo)函數(shù)建立線性規(guī)劃模型,找出影響運(yùn)輸路徑優(yōu)化的約束條件,運(yùn)用MATLAB中l(wèi)inprog函數(shù)對模型進(jìn)行求解,通過計(jì)算新的模型,最終結(jié)果顯示新的路徑比優(yōu)化之前降低了運(yùn)輸費(fèi)用,大大降低了企業(yè)的成本,從而為公司贏得更高的效益。從優(yōu)化后的模型及結(jié)果可以知道,MATLAB軟件對于解決復(fù)雜的物流運(yùn)輸系統(tǒng)的問題方面有很理想的效果。
本文只通過一個(gè)案例研究了MATLAB軟件在運(yùn)輸路徑優(yōu)化的應(yīng)用,MATLAB不僅在物流領(lǐng)域有著廣泛的應(yīng)用,在其他領(lǐng)域也有很多應(yīng)用實(shí)例,除此之外很多數(shù)學(xué)工具在解決復(fù)雜實(shí)際問題中都有非常大的用途,隨著社會(huì)經(jīng)濟(jì)以及科技的發(fā)展,追求系統(tǒng)化、標(biāo)準(zhǔn)化越來越成為企業(yè)的發(fā)展趨勢,相信未來數(shù)學(xué)軟件及方法將會(huì)在解決系統(tǒng)優(yōu)化等的實(shí)際問題中發(fā)揮更大的作用。