崔 巍,木 仁
(內(nèi)蒙古工業(yè)大學(xué),內(nèi)蒙古 呼和浩特 010051)
隨著人類經(jīng)濟(jì)社會的快速發(fā)展,人們之間物質(zhì)交互變的更加頻繁,這就需要我們進(jìn)行大量的運(yùn)輸與調(diào)度.研究工作者們提出了運(yùn)輸問題的表上作業(yè)法[1-2],其中包括了西北角法、最小元素法、行差列差法.雖然這些方法均求解了運(yùn)輸問題,但其效率過低,過程過于復(fù)雜,通用性也并不強(qiáng).針對這些缺點研究工作者們引進(jìn)了不同的運(yùn)輸問題的求解方法,如運(yùn)輸問題的Excel求解方法[3],運(yùn)輸問題的Lingo求解方法[4],運(yùn)輸問題的Matlab求解方法[5],運(yùn)輸問題的管理運(yùn)籌學(xué)軟件[2]求解方法.但無論是哪一種方法都存在這某種缺陷,如Excel及管理運(yùn)籌學(xué)軟件求解方法對于變量個數(shù)較多的情形難以求解或錄入數(shù)據(jù)過于復(fù)雜,如Lingo求解方法錄入模型時較為復(fù)雜,如Matlab求解算法的通用性較低,且部分未學(xué)過Matlab的人難以應(yīng)用等等缺陷.針對這些缺陷[6-9]我們引進(jìn)了運(yùn)輸問題通用模型,該模型包含的產(chǎn)銷平衡及產(chǎn)銷不平衡時的模型.由于所引進(jìn)模型為線性規(guī)劃模型,故利用Matlab算法可計算獲得最終的最優(yōu)解.考慮到部分研究工作者并未學(xué)習(xí)Matlab軟件,提供了基于Excel讀寫的運(yùn)輸問題求解算法.該算法只需在Excel表中錄入產(chǎn)銷及運(yùn)輸費(fèi)用數(shù)據(jù)后在Matlab命令窗口中輸入函數(shù)名即可獲取Excel版的運(yùn)輸數(shù)據(jù)表.因此不僅克服了變量較多時計算速度過慢的缺點,同時也為非專業(yè)人士提供了簡化運(yùn)輸問題求解方法.
在實際運(yùn)輸問題中所涉及的運(yùn)輸模型較多,不同書本上有不同的運(yùn)輸問題相關(guān)模型,其中較為常見的運(yùn)輸模型敘述如下:
某物資有m個產(chǎn)地Ai,產(chǎn)量為ai,i=1,2,…,m;有n個銷地 Bj,銷量分別為 bj,j=1,2,…,n,從 Ai到 Bj之間的單位物資運(yùn)價為dij,則產(chǎn)銷平衡時我們有

產(chǎn)銷平衡運(yùn)輸問題的最優(yōu)化模型如公式(2.1)所示.

當(dāng)產(chǎn)量大于銷量時,即

時,只需將所需產(chǎn)品運(yùn)到所有銷地即可,而不需要將所有產(chǎn)品全部運(yùn)輸完畢.此時,原運(yùn)輸問題的最優(yōu)化模型如公式(2.2)所示.


通過引進(jìn)新的變量可將模型(2.1)、(2.2)及(2.3)統(tǒng)一寫成如公式(2.4)所示的最優(yōu)化模型.

當(dāng)δ1=0,δ2=0時模型(2.4)為產(chǎn)銷平衡的運(yùn)輸問題最優(yōu)化模型(2.1),當(dāng) δ1=1,δ2=0時模型(2.4)為產(chǎn)量大于銷量時的運(yùn)輸問題的最優(yōu)化模型(2.2),δ1=0,δ2=1時模型(2.4)為銷量大于產(chǎn)量的運(yùn)輸問題的最優(yōu)化模型(2.3).
第一步:錄入運(yùn)輸費(fèi)用、產(chǎn)量及銷量Excel表,并按指定命名方式命名;
第二步:將Excel數(shù)據(jù)讀入Matlab中,并判斷錄入數(shù)據(jù)格式是否正確;
第三步:產(chǎn)生運(yùn)輸問題最優(yōu)化模型相關(guān)數(shù)據(jù);
第四步:判斷所求解運(yùn)輸問題是否產(chǎn)銷平衡;
第五步:根據(jù)所求解運(yùn)輸問題產(chǎn)銷平衡實際情況產(chǎn)生相關(guān)模型數(shù)據(jù);
第六步:利用線性規(guī)劃Matlab函數(shù)求解模型;
第七步:將所求得運(yùn)輸問題最優(yōu)解輸出為Excel表格形式.
具體算法如下:


運(yùn)輸問題的簡化Matlab求解算法為廣大運(yùn)輸問題應(yīng)用者提供了非常簡單的求解方法.在該方法中應(yīng)用者無需理解算法的整個求解過程,只需按照指定的模式輸入運(yùn)輸費(fèi)用及產(chǎn)銷量相關(guān)數(shù)據(jù)并在命令窗口中輸入算法名字即可獲取最終運(yùn)輸結(jié)果,從而這一方法為運(yùn)輸問題提供了最新的簡易求解算法,同時也為今后的運(yùn)輸問題求解方法教學(xué)提供了新的建議.今后的運(yùn)輸問題的教學(xué)可以轉(zhuǎn)向如何進(jìn)行高效的運(yùn)輸、運(yùn)輸費(fèi)用可變情形下如何選擇運(yùn)輸方案、運(yùn)輸工具及運(yùn)算方案的選擇等問題中.
〔1〕何堅勇.運(yùn)籌學(xué)基礎(chǔ)[M].北京:清華大學(xué)出版社,2008.
〔2〕韓伯棠.管理運(yùn)籌學(xué)[M].北京:高等教育出版社,2005.
〔3〕文練金.Excel規(guī)劃求解在運(yùn)輸中的應(yīng)用 [J].學(xué)術(shù)探討,2008(12):265-266.
〔4〕張家善.LINGO軟件求解運(yùn)輸問題與表上作業(yè)法的比較[J].湛江師范學(xué)院學(xué)報,2010,31(3):137-140.
〔5〕戴建平.基于MATLAB的運(yùn)輸問題求解方法[J].寧波職業(yè)技術(shù)學(xué)院學(xué)報,2009,13(2):93-95.
〔6〕鄭愛萍,金福江.多產(chǎn)品運(yùn)輸問題的建模及優(yōu)化算法設(shè)計[J].華僑大學(xué)學(xué)報(自然科學(xué)版),2013(3):007.
〔7〕徐芹.運(yùn)輸問題的數(shù)學(xué)模型及其LINGO求解[J].甘肅高師學(xué)報,2013,18(5):51-52.
〔8〕張劍宗.基于產(chǎn)銷平衡的運(yùn)輸問題及求解方法[J].商,2013(26).
〔9〕張永前,蔡延光,湯雅連.求解固定費(fèi)用運(yùn)輸問題的混沌人工蜂群算法[J].電子世界,2013(4):82-83.