基于Matlab的運輸問題求解方法探究_第1頁
基于Matlab的運輸問題求解方法探究_第2頁
基于Matlab的運輸問題求解方法探究_第3頁
基于Matlab的運輸問題求解方法探究_第4頁
基于Matlab的運輸問題求解方法探究_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上課程名稱: 系統工程導論 論文題目: 基于Matlab的運輸問題求解方法探究 院 (系): 專 業: 姓 名: 學 號: 實 驗 室: 實驗組別: 同組人員: 無 實驗時間: 2012 年 6 月 評定成績: 審閱教師: 基于Matlab的運輸問題求解方法探究摘要:運輸行業的重要性隨著中國經濟的不斷發展而快速提高,為了降低物流成本,我們有必要研究物流運輸中如何組織物資調運才能使總運輸成本最少這一重要問題。而傳統的手工解決方式存在著效率低、計算繁瑣、數據易丟失等缺點,因此利用MATLAB軟件來計算出最佳結果是很有必要的。本論文以運輸問題中一個典型的案例為例闡述了基于MA

2、TLAB 的定量分析方法, 解決了運輸最優方案編制中求解這一大難題,可以廣泛應用于物流配送領域,對實踐工作具有較強的指導意義。一、 我國物流運輸問題的一個現狀了解:運輸行業的重要性隨著中國經濟的不斷發展而快速提高,不管是旅客運輸還是貨物運輸的發展與變化都成為國民經濟發展的重要部分,而在其中公路運輸又成為運輸行業的重中之重。2007年1-11月份,全國公路運輸完成貨運量和貨物周轉量分別為1,452,378萬噸和101,215,988萬噸公里,分別比2006年同期增長12.3%和17.3%。2008年1-11月份,全國公路運輸完成貨運量和貨物周轉量分別為1,637,412萬噸和116,792,17

3、2萬噸公里,分別比2007年同期增長12.7%和15.4%。由于目前中國運輸業瓶頸效應尚未消除,而陸上運輸方式中鐵路運力增長有限,因此公路運輸將是全社會物流量大幅增長的主要受益者。2008年11月5日,國家決定實行積極的財政政策和適度寬松的貨幣政策,出臺更加有力的擴大國內需求措施,加快民生工程、基礎設施、生態環境建設和災后重建,提高城鄉居民特別是低收入群體的收入水平,促進經濟平穩較快增長。在這“四萬億”計劃里,公路投資占到10%,將加快公路重大基礎設施的建設。中國公路在客運量、貨運量、客運周轉量等方面均遙遙領先于其他運輸方式的總和。根據交通部規劃,到2010年,公路總里程要達到210萬至230

4、萬公里,全面建成“五縱七橫”國道主干線1。 隨著生產、經濟、技術的發展,人們在生活和工作中對于同一個問題往往會提出多個解決方案,并通過各方面的論證從中提取最佳方案。最優化方法就是專門研究從多個方案中科學合理地提取最佳方案的方法。由于最優化問題無處不在,目前最優化方法的應用和研究已經深入到了生產和科研的各個領域,土木工程、機械工程、化學工程、運輸調度、生產控制、經濟規劃管理等等,并取得了顯著成效。 在所有的物流功能中, 運輸是一個最基本的功能,是物流的核心問題。為了降低物流成本,我們有必要研究物流運輸中如何組織物資調運才能使總運輸成本最少這一重要問題。研究物資運輸過程中最優的運輸方案,需要在滿足

5、各種資源限制的條件下,找到使運輸總成本最少的調運方案。實踐中通常是通過建立數學模型,用定量分析的方法來解決這一問題。但由于此類問題所涉及的條件變量較多,一般的數學方法運算難度較大,結果不容易求出。而線性規劃法則是最優化問題領域中最簡單、最基本和使用最廣泛的方法。 利用MATLAB的優化工具箱,可以求解線性規劃、非線性規劃和多目標規劃等多種問題。此外,它還提供了線性、非線性最小化,方程求解,曲線擬合,二次規劃等大中型問題的求解方法,為優化方法在工程中的實際應用提供了更方便、快捷的途徑。二、 對matlab軟件的介紹:MATLAB是由美國mathworks公司發布的主要面對科學計算、可視化以及交互

6、式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優點,使MATLAB成為一個強大的數學軟件。矩陣運

7、算在運籌學線性規劃中一直有著較廣的應用, 物流運輸規劃中通常采用線性規劃法來構建物流運輸模型,通過矩陣運算求得最優調運方案。三、 線性規劃與運輸問題:線性規劃是運籌學的一個分支,它是最優化問題領域中最簡單、最基本和使用最廣泛的方法。在交通運輸領域中,運輸是一個最基本的功能,也是物流的核心問題。將同一種物資從幾個不同的發貨點運到另外幾個不同的收貨點,因為運費是單位運價和運輸量的乘積,所以如何選擇一個合理的運輸方案,使總運費最省,這是一個很有應用價值的問題,這類問題就稱為運輸問題。研究物資運輸過程中最優的運輸方案,需要在滿足各種資源限制的條件下,找到使運輸總成本最少的調運方案。實踐中如果建立數學模

8、型,用線性規劃的方法來解決這一問題,則可以節省大量的工作,但由于此類問題所涉及的條件變量較多, 一般的數學方法運算難度較大,結果不容易求出,而如果能有效的借助MATLAB 軟件中強大的運算功能則可以得到事半功倍的效果。四、 Matlab求解運輸問題的原理:在Matlab 中構建函數l(x)用來解決線性規劃問題。眾所周知,運輸問題的最優解本質屬于極值問題,極值有最大和最小兩種,而極大值問題的求解可以轉化為極小值問題, 因此在Matlab 中以求極小值為標準形式,構建的函數l(x)的具體格式如下:X,v,e,o,ll(F,A,b,m,n,M,N,P,Z) 式中:X 為問題的解向量;F 為由目標函數

9、的系數構成的向量;A 為一個矩陣;b 為一個向量,表示線性規劃中不等式約束條件,A,b 是系數矩陣和右端向量;m 和n 為線性規劃中等式約束條件中的系數矩陣和右端向量;M 和N 為約束變量的下界和上界向量;P 為給定的變量的初始值;Z 為控制規劃過程的參數系列;v 為優化結束后得到的目標函數值。e0 表示優化結果已經超過了函數的估計值或者已聲明的最大迭代次數,e0 表示優化過程中變量收斂于解X,e0 表示計算不收斂。五、 具體問題分析:我選擇的是產銷不平衡問題的求解,這里做的是產量大于銷量的問題求解。案例:某食品公司下屬的A1,A2,A3,3個廠生產方便食品,要運輸到B1,B2,B3,3 個銷

10、售點;公司的初始運輸方案如表1所示;3 個廠到各銷售點每噸方便食品的運價如表2所示。問該食品公司在滿足各銷售點銷售量的情況下如何安排運輸使得總運費最小。B1B2B3產量aiA183315A256518A353817銷量bj181216總產量為:15 + 18 +17 = 50總銷量為:18 + 12 + 16 = 46屬于 產 銷問題。表1:初始運輸方案 (單位:t) B1B2B3A1509020A2301070A3602080由表1和表2的數據可知,在初始運送方案下,總的運費為:S = 8*50 + 3*90 + 3*20 + 5*30 + 6*10 + 5*10+ 5*60 + 3*20+

11、 8*80= 1990元表2:單位運價 (單位:元/t)針對產銷不平衡問題,核心方法是:將產銷不平衡轉換為產銷平衡的情形,然后由表上作業法進行求解。(1)對于“產 銷”情形:可虛擬一個銷售地(庫存),讓多余的產量均運抵此銷售地,則其銷售量 = “產 -銷”,同時令該虛擬的銷售地的單位運價為0;(虛擬的銷地)(2)對于“銷 產”,可虛擬一個產地,讓其產量 = “銷 - 產”,同時令該虛擬的產地的單位運價為0.對于這個實際問題,虛設一銷地,令其銷量為產銷量之差。 B4=ai-b j=(15+18+17) ( 18+12+16 ) = 4 該列單位運價為0,即可化為產銷平衡問題。如下表所示:B1B2

12、B3 B4產量aiA1509020 015A2301070018A3602080017銷量bj181216 4 方案優化: 針對上述案例, 首先構建數學模型, 建立線性方程組。假設產地A1,A2,A3向銷地B1,B2,B3,B4配送的運輸量分別是X1,X2, X12,各變量如下表所示:B1B2B3 B4產量aiA1X1X2X3 X415A2X5X6X7X818A3X9X10X11X1217銷量bj181216 4 根據假設的運輸條件及案例給出的限定條件,設最小運費為Smin,構建如下線性方程組:Smin 50*X1 90*X2 20*X3 0*X430*X5 10*X6 70*X7 0*X86

13、0*X9 20*X10 80*X11 0*X12 約束條件如下:X1X2X3X415; X5X6X7X818;X9X10X11X1217; X1X5X918;X2X6X1012; X3X7X1116;X4X8X124; Xi0(i1,2,12)上述方程和約束條件對應的Matlab代碼如下:F = 50 90 20 0 30 10 70 0 60 20 80 0;m = 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0

14、1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1;n = 15 18 17 18 12 16 4; M = 0 0 0 0 0 0 0 0 0 0 0 0;v, e = linprog(F, , , m, n, M)x = reshape(v, 4, 3);x = x運行后的結果為:由上圖matlab的運行結果可知,優化后的運輸方案如下表所示:B1B2B3 B4產量aiA10015 015A21800018A30121417銷量bj181216 4 優化后的總運費為:1160元。優化后為該工廠節省運費:1990 - 1160 = 830

15、(元)Linprog函數介紹:該函數用于求解線性規劃問題:其中,f, x, b, beq, lb, ub為向量, A, Aeq為矩陣。x = linprog(f,A,b)功能:求解最小化問題 min f*x 條件 A*x b。x = linprog(f,A,b,Aeq,beq)功能:求解最小化問題 min f*x 條件 A*x b Aeq*x = beq,如果沒有等式就設置A = 和b = x = linprog(f,A,b,Aeq,beq,lb,ub)功能:求解最小化問題 min f*x 條件 A*x b Aeq*x = beq lb x ub,如果沒有等式就設置A = 和b = x = l

16、inprog(f,A,b,Aeq,beq,lb,ub,x0)功能:求解最小化問題 min f*x 條件 A*x b Aeq*x = beq lb x ub,如果沒有等式就設置A = 和b = 。設置初始點x0,這個選擇項只是對medium-scale算法有效。默認的large-scale算法和簡單的算法忽略任何初始點。 x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)功能:最小化帶有參數項的線性規劃問題。其中options可以使用optimset來設置。x = linprog(problem)功能:對problem求最小值,其中problem是一個結構體。

17、通過優化工具箱來創建,導入到MATLAB工作空間。x,fval = linprog(.)功能:返回目標函數最優解x,和在x處的值:fval = f*x.x,fval,exitflag = linprog(.)功能:返回目標函數最優解x,和在x處的值:fval = f*x,是否存在exitflag標志x,fval,exitflag,output = linprog(.) Matlab中文論壇功能:返回目標函數最優解x,和在x處的值:fval = f*x,是否存在exitflag標志,優化解結構體outputx,fval,exitflag,output,lambda = linprog(.)功能:返回目標函數最優解x,和在x處的值:fval = f*x,是否存在exitflag標志,優化解結構體output,拉格朗日乘子結構體lambda結束語:上述案例運算結果中 v為目標函數取得最小值的一組變量的值, 和 一起構成線性規劃的等式約束條件, 為變量的下界,由于是實際問題, 因此變量的下界均為 。e是優化結束后得到的目標函數值, 該案例最后的函數值為 229( 元) , 通過優化, 最后運輸方案的總費用比該公司初始方案減少運費 116元,有效地優化了配送路線

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論