劉明燕
(山東中醫藥大學,山東 濟南 250355)
隨著人們生活水平的提高,運輸業在經濟生活中的地位顯得越來越重要。據統計,運輸成本占物流總成本的35%~50%,占商品價格的4%~10%[1]。因此,如何降低運輸成本對降低物流總成本具有十分重要的意義。從20世紀開始,前人就對物流配送做了大量研究,經過長期發展,美國、日本等發達國家已經建立起了一套適合本國國情的現代物流配送業,對物流配送方案的研究也較為成熟。FAKHRZAD等[2]建立了一個模糊多目標規劃模型(FMOPM),研究并使用LP度量方法,使運輸和勞動力的總成本、運輸過程中的二氧化碳排放量以及產品從農場到工廠、從工廠到零售商的配送時間最小化,并使總食品腐爛最小化。LU等[3]針對帶時間窗的時變車輛路徑問題(TDVRPTW),考慮車輛總質量和行駛速度對能耗因子的影響,提出了一個油耗最小化優化函數,采用蟻群算法求解TDVRPTW,優化配送方案。LIU等[4]利用Dijkstra算法對其進行改進,建立了以客戶物流成本最小為目標的路徑選擇模型,使客戶物流總成本最小,路徑選擇模型能夠準確地描述物流配送問題。
與國外相比,國內的物流配送方案研究就慢了很多。羅平娟等[5]基于K-means算法的基本思想,使用Python語言結合當地物流配送的實際需求設計了一個合理、實用、有效的配送方案。于江霞等[6]根據客戶的消費行為將客戶分為多個層級,并構建出基于客戶分類的即時配送路徑優化模型,根據問題特點設計遺傳算法求解。孫麗君等[7]以配送成本最小化為目標,針對多種橫向轉運配送方式下的成品油配送方案優化問題,構建了可同時表達多種配送方式的優化模型,設計了能夠同時求解多種配送方式下的啟發式算法以及配送方案。柳清源[8]綜合各種證券的因素,確定投資組合方案,明確問題的決策變量、目標函數和約束條件,從而得出問題的基本模型。然后根據實際條件,在基本模型上做更改,運用Lingo進行投資組合線性規劃策略分析。錢業洪[9]利用Lingo研究線性規劃問題中各參數、變量之間的內在聯系。
由此可見,國內外專家學者已經對運輸方案進行了較為深入的研究,得出了較為合理的結論,在此基礎上,文章對前人經驗進行總結,提出以最小化運費為目標建立數學模型,采用表上作業法和Lingo對實例分別進行計算的形式,來驗證所建數學模型的有效性。
Lingo是由美國Lindo系統公司開發的專門用于求解最優化問題的軟件包,其執行速度較快、輸入方便、可用于求解及分析數學規劃問題等,所以在數學、科研和工業界均得到較為廣泛的應用。Lingo是用來求解線性與非線性優化問題的便捷工具,其內置了求解最優化模型的語言,可以方便快捷地對數學模型進行求解并分析結果。
需求點的貨物配送問題是一種最常見的物流運輸問題,配送運輸一般是指距離較短、批量較小以及配送次數較多的一種運輸方式,它可由生產廠家直接給貨物需求點供貨,也可由中間配送站或者其他途徑配送到貨物需求點。目前常用的解決配送問題的常見方法主要有線性規劃法、表上作業法、最短路徑法、最小費用最大流法、節約里程法等。
表上作業法是指采用列表的方式來求解線性規劃問題中運輸模型的計算方法,是線性規劃問題的常用求解方法,其實質就是采用單純形法對線性規劃問題進行求解,其基本步驟可分為:①采用西北角法、最小元素法或者最大差額法計算出初始基本可行解;②求出各非基變量的檢驗數,判斷是否達到最優解,如果達到最優解則停止計算,否則進行下一步,用位勢法計算;③改進當前的基本可行解,采用閉合回路法調整;④重復步驟②和③,直到找到最優解為止。
配送方案的設計是運輸規劃中的一個重要環節,它關系到整個運輸過程的時間長短和費用的高低,配送方案的設計應滿足以下原則:力求滿足所有需求點的貨物需求、運距最短、費用最省。現實生活中,常常會遇到多個貨物倉庫、多家貨物需求點的貨物配送問題,根據實際工作經驗對貨物進行調配往往會出現場面混亂、配送時間延長、運輸成本提高等問題,因此,在進行配送之前做好配送方案規劃就顯得尤為重要。本文討論的是在以總運費最小為目標對貨物配送方案進行設計。
為更好地滿足每個貨物需求點的需求,在貨物配送點與需求點之間構建一系列配送區域,需要擬定一系列假設條件,使貨物配送點與各個需求點所形成的配送系統的物流總成本最低。為了方便建立數學模型,作出如下假設:已知配送點到需求點之間運輸的單位價格;配送點把貨物運往各個貨物需求點是同時并列進行的;配送點只輸出貨物,需求點只接收貨物;除了運價以外,不考慮其他一些影響費用的因素。
假設從配送點Ai到需求點Bj運費的單價為Cij,從配送點Ai到需求點Bj的運輸量記為Xij,由此可得總運費為;按常理,第i個配送點的運出量應小于或等于該地的生產量,即第j個銷地的運入量應等于該地的需求量,即
由此可得運輸問題的數學表達式為:

某醫藥公司有3個倉庫A1、A2、A3,該公司4月份藥品在這3個倉庫中的庫存分別為100 t、95t、110t,另外知道有4家大型醫院(S1、S2、S3、S4)需要該公司的藥品,他們的需求量分別是50 t、80 t、55 t、75 t。如何利用現有庫存資源滿足這4家醫院的藥品需求,并使總運輸成本最低。從3個倉庫向4家醫院送貨的運輸成本價(元/t)如表1所示。

表1 單位運價表(單位:元/t)
本文談論的是以運費最小化為目標選擇貨物配送方案,在運費最小化的前提下,還需要考慮以下3個問題:滿足各醫院的最低藥品需求;在滿足最低藥品需求的前提下,將盡可能多地藥品運輸到各個醫院;總運費最小。
表上作業法常用的確定可行解的方法主要有3種:西北角法、最小元素法和最大差額法,其中最接近最優解的方法是最大差額法,最小元素法次之,效果最不好的是西北角法。本文主要采用最大差額法來確定可行解。
根據最大差額法,首先計算表1中每行與每列中2個最小元素之差,每行的差額從上往下依次是3、7、1,每列的差額從左往右依次是1、9、0、5。從每行和每列的數據中可以看出S2列的差額最大,為9,從該列中找出最小元素為11,即A2庫存的藥品首先滿足S2的需求,因此A2倉庫需要往S2運輸80 t藥品,由于S2的需求已經得到滿足,因此將S2這列從單位運價表中劃去,重復以上步驟,直到各個醫院的藥品需求得到滿足為止。通過計算,得出的最優運輸方案表如表2所示。

表2 運輸方案表(單位:t)
根據表2最優運輸方案是倉庫1向醫院3供貨40 t,倉庫1向醫院4供貨60 t,倉庫2向醫院2供貨80 t,倉庫2向醫院3供貨15 t,倉庫3向醫院1供貨50 t,倉庫3向醫院4供貨15 t。最低運費為4 020元。
根據上文中所建立的數學模型,令X ij表示從公司倉庫Ai到醫院Sj運送的藥品噸數,從而有以下運輸問題的數學模型。
目標函數:MinZ=22*X11+20*X12…+25*X33+20*X34。
庫存約束:∑X1j<=100;∑X2j<=95;∑X3j<=110;j=1,2,3,4。
需求約束:∑Xi1=50;∑Xi2=80;∑Xi3=55;∑Xi4=75;i=1,2,3。
非負約束:Xij>=0。
將建立的數學模型和已知的數據編寫成Lingo語言,運用軟件進行求解,用Lingo求解的過程如下所示:

單擊Lingo軟件工具條上的求解按鈕,求解后得出的結果如圖1所示。

圖1 Lingo求解結果
根據圖1的結果顯示最低運費為4 020元,最優運輸方案是從倉庫1向醫院3供貨40 t,從倉庫1向醫院4供貨60 t,從倉庫2向醫院2供貨80 t,從倉庫2向醫院3供貨15 t,從倉庫3向醫院1供貨50 t,從倉庫3向醫院4供貨15 t。與3.1中表上作業法求解結果一致,由此可以得出文中所建立的數學模型具有一定的可行性,同時也體現了Lingo軟件求解數學模型的快速與便捷,具有較高的可操作性。
運輸問題是一類特殊的數學規劃問題,有著很實際的應用。隨著物流的快速發展,會遇到越來越復雜的運輸問題,通過Lingo軟件,使得這些復雜問題的求解成為可能。本文在分析國內外運輸方案發展情況的基礎上提出以運費最小化為目標建立數學模型,通過編寫Lingo程序語言求解,在實例中采用表上作業法和Lingo軟件分別求解的方法,得出的計算結果一致,從而驗證了所建立的數學模型的實用性與可行性,展示了Lingo軟件在求解過程中的快速與便捷。當然,本文考慮是較為典型的運輸問題,在日常生活中還會遇到其他特殊的情況,但不管怎樣,通過軟件求解是實踐性較高的一種方法。