數(shù)學(xué)建模鋼管訂購和運(yùn)輸_第1頁
數(shù)學(xué)建模鋼管訂購和運(yùn)輸_第2頁
數(shù)學(xué)建模鋼管訂購和運(yùn)輸_第3頁
數(shù)學(xué)建模鋼管訂購和運(yùn)輸_第4頁
數(shù)學(xué)建模鋼管訂購和運(yùn)輸_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、鋼管的訂購和運(yùn)輸優(yōu)化模型摘要 本文建立的多元非線性優(yōu)化模型。問題一在保證天然氣管道鋪設(shè)可以順利實(shí)施的情況下,給出了鋼管的訂購與運(yùn)輸總費(fèi)用最小的方案。在求鋼管由鋼廠運(yùn)輸?shù)秸军c(diǎn)的費(fèi)用和鋪設(shè)鋼管時(shí)產(chǎn)生的運(yùn)輸費(fèi),根據(jù)圖一,我們通過深度優(yōu)先遍歷的方法對整個(gè)圖一進(jìn)行路徑搜索,然后根據(jù)每條搜索到的路徑上的鐵路和公路上的不同權(quán)重,找到了各個(gè)鋼廠到各個(gè)天然氣管道上的站點(diǎn)的最佳路徑。對于整個(gè)優(yōu)化過程我們給出了相關(guān)的算法,并用matlab軟件編程,經(jīng)過一系列計(jì)算之后,得出了最優(yōu)的訂購與運(yùn)輸方案。對于問題 1,我們求得的最優(yōu)解為(具體方案見表五):總費(fèi)用80080010000119011810對于問題2我們經(jīng)過計(jì)算比

2、較得出:鋼管銷價(jià)的變化對購運(yùn)計(jì)劃和總費(fèi)用影響最大。的生產(chǎn)上限的變化購運(yùn)計(jì)劃和總費(fèi)用影響最大。對于問題 3,當(dāng)天然氣管道呈現(xiàn)的是一個(gè)樹狀圖的時(shí)候,我們得到的最優(yōu)解為(具體方案見表六):總費(fèi)用80080010000145018530關(guān)鍵字:非線性優(yōu)化 深度優(yōu)先遍歷 最佳路徑一、問題重述 要鋪設(shè)一條的輸送天然氣的主管道, 如圖一所示(見下頁)。經(jīng)篩選后可以生產(chǎn)這種主管道鋼管的鋼廠有。圖中粗線表示鐵路,單細(xì)線表示公路,雙細(xì)線表示要鋪設(shè)的管道(假設(shè)沿管道或者原來有公路,或者建有施工公路),圓圈表示火車站,每段鐵路、公路和管道旁的阿拉伯?dāng)?shù)字表示里程(單位km)。為方便計(jì),1km主管道鋼管稱為1單位鋼管。一

3、個(gè)鋼廠如果承擔(dān)制造這種鋼管,至少需要生產(chǎn)500個(gè)單位。鋼廠在指定期限內(nèi)能生產(chǎn)該鋼管的最大數(shù)量為個(gè)單位,鋼管出廠銷價(jià)1單位鋼管為萬元,如下表:1234567800800100020002000200030001601551551601551501601單位鋼管的鐵路運(yùn)價(jià)如下表:里程(km)300301350351400401450451500運(yùn)價(jià)(萬元)2023262932里程(km)5016006017007018008019009011000運(yùn)價(jià)(萬元)37445055601000km以上每增加1至100km運(yùn)價(jià)增加5萬元。公路運(yùn)輸費(fèi)用為1單位鋼管每公里0.1萬元(不足整公里部分按整公里計(jì)算

4、)。鋼管可由鐵路、公路運(yùn)往鋪設(shè)地點(diǎn)(不只是運(yùn)到點(diǎn),而是管道全線)。(1)請制定一個(gè)主管道鋼管的訂購和運(yùn)輸計(jì)劃,使總費(fèi)用最小(給出總費(fèi)用)。(2)請就(1)的模型分析:哪個(gè)鋼廠鋼管的銷價(jià)的變化對購運(yùn)計(jì)劃和總費(fèi)用影響最大,哪個(gè)鋼廠鋼管的產(chǎn)量的上限的變化對購運(yùn)計(jì)劃和總費(fèi)用的影響最大,并給出相應(yīng)的數(shù)字結(jié)果。(3)如果要鋪設(shè)的管道不是一條線,而是一個(gè)樹形圖,鐵路、公路和管道構(gòu)成網(wǎng)絡(luò),請就這種更一般的情形給出一種解決辦法,并對圖二按(1)的要求給出模型和結(jié)果。A1325801010312012427010881070627030202030450104301750606194205201680480300

5、2202104205006003060195202720690520170690462160320160110290115011001200A2A3A4A5A6A11A711A11A8A11A911A11A10A11A12A13A14A15S1S2S3S4S5S6S7圖一A13258010103120124270108810706270302020304501043017506061942052016804803002202104205006003060195202720690520170690462160320160110290115011001200A19130190260100A2A3A

6、4A5A6A7A8A11A9A10A11A12A13A14A15S1S2S3S4S5S6S7A16A17A18A20(A21)圖二二、模型假設(shè)1、假設(shè)沿管道或者原來有公路,或者建有施工公路;2、運(yùn)費(fèi)只按鐵路、公路里程收取,即不考慮火車、汽車由于??空镜绕渌磺型庖驇淼馁M(fèi)用; 3、鋼管在鋪設(shè)過程中以1km為單位進(jìn)行鋪設(shè);4、鋼管可由鐵路、公路運(yùn)往鋪設(shè)路線任一地點(diǎn);5、所有鋼管在指定期限內(nèi)都能按時(shí)生產(chǎn)并運(yùn)送指定地點(diǎn);6、鋼管鋪設(shè)過程中由站點(diǎn)向左右兩邊進(jìn)行鋪設(shè)。三、符號說明 :第個(gè)廠; :第個(gè)站點(diǎn); : 向運(yùn)送的鋼管量 單位(km); :在指定期限內(nèi)的最大生產(chǎn)量 單位(km); : 向右鋪設(shè)的鋼管

7、量 單位(km); : 向左鋪設(shè)的鋼管量 單位(km); : 到間的距離 單位(km); :管道全線總長 單位(km); : 鋼管出廠銷價(jià) 單位(萬元/單位); : 向運(yùn)送一單位鋼管所需的鐵路費(fèi) 單位(萬元/單位); : 向運(yùn)送一單位鋼管所需的公路費(fèi) 單位(萬元/單位); :購買鋼管所花的總費(fèi)用; :由廠到站點(diǎn)所需運(yùn)輸總費(fèi); :由站點(diǎn)到鋪設(shè)地點(diǎn)所需運(yùn)輸總費(fèi); :訂購和運(yùn)輸鋼管所需總費(fèi)用 單位(萬元)。四、問題分析問題一是在一定約束條件下的非線性優(yōu)化問題,由題意知,擬建立以總費(fèi)用為目標(biāo)函數(shù)來尋求最優(yōu)解??傎M(fèi)用由鋼管的購買費(fèi)、廠到站點(diǎn)的運(yùn)輸費(fèi)以及站點(diǎn)到鋪設(shè)地點(diǎn)的運(yùn)輸費(fèi)三部分組成。 一、鋼管的購買費(fèi)

8、可由在每個(gè)廠的購買量與每個(gè)廠的出廠銷價(jià)的線性運(yùn)算得到 。在每個(gè)廠購買的鋼管量必須大于500km ,否則則不在該廠購買??梢詷?gòu)造一個(gè)的矩陣,那么當(dāng)為0時(shí),表示不在第個(gè)鋼廠購買,否則則在第個(gè)鋼廠購買大于500km的鋼量。二、要求得每個(gè)鋼廠到站點(diǎn)的運(yùn)輸費(fèi)需先知道每個(gè)廠到各個(gè)站點(diǎn)的鋼管輸送量,以及所選擇的路線即鐵路總長和公路總長,所以需要首先計(jì)算出各個(gè)鋼廠到每個(gè)站點(diǎn)的最佳運(yùn)輸路徑,使得平均單位公里的運(yùn)輸費(fèi)用最小。但是由于鐵路每公里的運(yùn)輸費(fèi)用不是線性變化,而是變化不均勻的分段函數(shù)。在這里,我們利用深度優(yōu)先遍歷,找到某個(gè)廠到達(dá)各個(gè)站點(diǎn)的所有路徑,然后根據(jù)每條路徑的鐵路和公路里程數(shù)計(jì)算出平均每公里運(yùn)輸費(fèi)用最

9、小的一條。以此類推,計(jì)算出所有鋼廠到所有站點(diǎn)的最佳路徑。 三、在站點(diǎn)到鋪設(shè)地點(diǎn)的運(yùn)輸費(fèi)問題上,如果我們認(rèn)為車邊向前走邊進(jìn)行鋪設(shè),即邊走邊將鋼管放下,那么就需要通過積分來計(jì)算。但是,盡管用積分算下來結(jié)果會很精確,但在實(shí)際中不可能這樣實(shí)施。另外,這也與題目中不足整公里的按整公里計(jì)算相矛盾。所以,我們假設(shè)以1km為單位進(jìn)行鋪設(shè),即鋪設(shè)中車每向前開1km便將1km的鋼管放下。由于鋪設(shè)管道是線型的,除了兩個(gè)端點(diǎn)外,每個(gè)站點(diǎn)需要往兩邊進(jìn)行鋪設(shè)管道。所以,假設(shè)第個(gè)站點(diǎn)往左、右邊鋪設(shè)管道為和公里,則由站點(diǎn)到鋪設(shè)地點(diǎn)的運(yùn)輸費(fèi)就可以通過等差數(shù)列求和得到。問題二即為對問題一中模型的靈敏度分析,在討論各廠的鋼管銷價(jià)和

10、生產(chǎn)上限對購運(yùn)計(jì)劃和總費(fèi)用的影響時(shí),只讓其中一個(gè)量變化,其他一切條件皆不變,即逐個(gè)變量單獨(dú)分析。問題三即為問題一中模型的推廣,在問題一的基礎(chǔ)上將站點(diǎn)向左右兩邊鋪設(shè)變?yōu)橄蛉齻€(gè)方向鋪設(shè),按問題一處理即可。五、模型建立(問題一)總費(fèi)用由鋼管的購買費(fèi)、廠到站點(diǎn)的運(yùn)輸費(fèi)以及站點(diǎn)到鋪設(shè)地點(diǎn)的運(yùn)輸費(fèi)三部分組成,則 在第個(gè)廠的購買費(fèi)應(yīng)為15個(gè)站點(diǎn)在第個(gè)廠的購買總量與該廠銷價(jià)的乘積總和,即,則總購買費(fèi) 第個(gè)廠向第個(gè)站點(diǎn)的運(yùn)輸費(fèi)為運(yùn)送量與運(yùn)送1單位所需鐵路費(fèi)和公路費(fèi)的和的乘積,第個(gè)廠向各個(gè)站點(diǎn)運(yùn)送鋼管的總運(yùn)費(fèi)即為,則各廠到站點(diǎn)的運(yùn)輸費(fèi) 要算出鋼管由站點(diǎn)運(yùn)送到鋪設(shè)地點(diǎn)的費(fèi)用需知道鋼管按何種方式進(jìn)行鋪設(shè)的。在問題分析

11、里一討論邊走邊鋪與實(shí)際不符,且有違題目條件,所以我們假設(shè)鋼管在鋪設(shè)過程中以1km為單位進(jìn)行鋪設(shè),且由站點(diǎn)向兩邊進(jìn)行鋪設(shè),則可由等差數(shù)列求和公式得到,即 由于一個(gè)鋼廠如果承擔(dān)制造這種鋼管,至少需要生產(chǎn)500個(gè)單位,且各廠在指定期限內(nèi)有生產(chǎn)上線,則在第個(gè)廠的購買總量需滿足 或鋼管由站點(diǎn)向左右兩邊進(jìn)行鋪設(shè),則第個(gè)站點(diǎn)向右鋪設(shè)部分與第個(gè)站點(diǎn)向左鋪設(shè)部分之和應(yīng)為兩站點(diǎn)之間的管道長度,且第一個(gè)站點(diǎn)向左鋪設(shè)部分與最后一站點(diǎn)向右鋪設(shè)部分都為0,即 第站點(diǎn)向左鋪設(shè)部分與向右鋪設(shè)部分之和應(yīng)為七個(gè)廠向第站點(diǎn)輸送鋼管總量,即 綜合考慮鋼管的購買費(fèi)、廠到站點(diǎn)的運(yùn)輸費(fèi)以及站點(diǎn)到鋪設(shè)地點(diǎn)的運(yùn)輸費(fèi),鋼管的訂購和運(yùn)輸優(yōu)化模型建

12、立如下:目標(biāo)函數(shù) min +() 或 s.t 六、模型求解 由于鐵路、公路相互交錯(cuò),無法直接選出鋼廠到站點(diǎn)的費(fèi)用最小路線,所以此處我們采用深度優(yōu)先遍歷方法。首先建立一個(gè)39維數(shù)組,將圖一中39個(gè)交點(diǎn)兩兩之間有鐵路、公路連接的用具體路線長寫入數(shù)組,且鐵路用負(fù)數(shù)表示,公路用正數(shù)表示,而沒有路線連接的用無窮大代替,最后換算成到各站點(diǎn)的鐵路、公路總費(fèi)。全過程通過matlab編程完成(程序見附錄),。表一 到的最小費(fèi)用(單位:萬元/單位)170.7215.7230.7260.7255.7265.7275.7160.3205.3220.3250.3245.3255.3265.3140.2190.2200.

13、2235.2225.2235.2245.298.6171.6181.6216.6206.6216.6226.63811112115614615616620.564.6105.5139.6130.5140.5150.53.1869613112113114121.271.286.2116.2111.2121.2131.264.2114.248.284.279.284.299.29214282625762769614686513351661061569661514556121.2171.2111.276.271.226.238.2128178118837311261421921329787282因?yàn)?/p>

14、matlab無法直接對約束條件或進(jìn)行處理,所以我們先將此條件改為,則原模型變?yōu)閙in +() s.t 通過matlab編程(程序見附錄)計(jì)算結(jié)果見表二表二 各廠的生產(chǎn)量及總費(fèi)用(生產(chǎn)量可小于500)(單位:單位 、萬元)總費(fèi)用800800100001190.51135.5245由表二可知,、的生產(chǎn)量小于500單位。由于的生產(chǎn)量等于0,所以不用考慮,直接取為0;而在的生產(chǎn)量問題上,有兩種處理方式:(1)的生產(chǎn)量為0;(2)的生產(chǎn)量大于500單位。兩種處理方式計(jì)算結(jié)果見表三表三 各廠的生產(chǎn)量及總費(fèi)用(單位:單位 、萬元)總費(fèi)用=0800800100001190.51180.505008008001

15、00001185.5885.5500通過以上兩種方式的比較,購買和運(yùn)輸最小總費(fèi)用min W=(萬元)具體的訂購和運(yùn)輸方案見表四。表四 問題一訂購和運(yùn)輸方案(不足1km的按整數(shù)計(jì))(單位:單位 、萬元)訂購量800800100001190118100000000017900000013714102300014974790166001861101160203002000000002650000000300000000066400000000176176000004150000000860000003330000006210000001650訂購總量5171總費(fèi)用六靈敏度分析(問題二)由于本案例中對

16、模型結(jié)果產(chǎn)生影響的因素有很多,所以我們在此取個(gè)關(guān)鍵的參數(shù)進(jìn)行了靈敏度分析。模型對這些參數(shù)的敏感性反映了各種因素影響結(jié)果的顯著性程度。通過對模型參數(shù)的敏感性分析,又可以反映和檢驗(yàn)?zāi)P偷膶?shí)際合理性。由靈敏度的定義知,靈敏度是指系統(tǒng)中的參數(shù)或外擾的微小攝動對系統(tǒng)某特性的影響程度,其計(jì)算公式如下:靈敏度=(1) 對鋼廠鋼管銷價(jià)的靈敏度分析鋼廠鋼管的銷價(jià)是此問題的一個(gè)重要因素,鋼鐵價(jià)格的高低可以說直接影響著總費(fèi)用和夠運(yùn)計(jì)劃。現(xiàn)在對價(jià)格做靈敏度分析,其他一切條件不變,且在討論的銷價(jià)變化帶來的影響時(shí)其余各廠的銷價(jià)不變。我們分別使各鋼廠的價(jià)格單獨(dú)增加5萬元/單位和減少5萬元/單位,并分別帶入上述模型計(jì)算,得到

17、此時(shí)的總費(fèi)用,再利用靈敏度公式計(jì)算各種情況的影響程度。結(jié)果如下表:表四 各鋼廠銷價(jià)變化產(chǎn)生的影響(單位:)+5萬元/單位總費(fèi)用1.28261.28261.28361.27861.28351.28461.2786靈敏度0.100110.096980.1212200.118800.140780-5萬元/單位總費(fèi)用1.27461.27461.27361.27861.27171.27071.2786靈敏度0.10010950.096980.1212200.167290.185350由以上數(shù)據(jù)可知,鋼管銷價(jià)的變化對購運(yùn)計(jì)劃和總費(fèi)用影響最大。(2)對鋼廠鋼管產(chǎn)量上限的靈敏度分析鋼管的供給量也是一個(gè)重要的因

18、素,供給量上限的大小將間接影響著總費(fèi)用和夠運(yùn)計(jì)劃。在問題一中模型的基礎(chǔ)上,由于只有、的鋼管購運(yùn)量達(dá)到了生產(chǎn)上限,其余各廠的購運(yùn)量都離生產(chǎn)上限較遠(yuǎn),因此能夠?qū)傎M(fèi)用和購運(yùn)計(jì)劃產(chǎn)生影響的只有、三個(gè)鋼廠。我們分別單獨(dú)給、三鋼廠的上限增加50個(gè)單位和減少50個(gè)單位,同時(shí)保持其他兩個(gè)鋼廠生產(chǎn)上限和其他一切條件不變。將各種情況帶入問題一的模型中計(jì)算,再分別求出各自的靈敏度。結(jié)果見下表: 表五 鋼廠生產(chǎn)上限的變化帶來的影響(單位:)+50單位總費(fèi)用1.27351.27691.2774靈敏度0.06410.02150.0191-50單位總費(fèi)用1.28381.28041.2799靈敏度0.06480.02230

19、.0200 由上表知,的生產(chǎn)上限的變化購運(yùn)計(jì)劃和總費(fèi)用影響最大。七模型的評價(jià)與推廣(問題三)本模型經(jīng)過合理的分析,精確的數(shù)據(jù)輸入以及準(zhǔn)確的MATLAB編程,把所有影響總費(fèi)用的因素結(jié)合在一起,經(jīng)過優(yōu)化,找到的最好方案是非常具有可信性的。只是本模型還是建立在一些基本假設(shè)上的,而在實(shí)際生活中,由于轉(zhuǎn)運(yùn)費(fèi)等其他因素而帶來的影響是不可忽略的,因此,本模型還是有待改進(jìn)的。 1.如果天然氣管道鋪設(shè)的路線不是一條線,而是各種類型的樹形圖或者其他更復(fù)雜的形狀,或者有n個(gè)鋼廠,n個(gè)火車站,n個(gè)站點(diǎn),通過本模型的思想,都是可以解決問題的。如本題中的問題三,同樣通過找到鋼廠與各個(gè)站點(diǎn)之間的聯(lián)系,先確定最優(yōu)運(yùn)輸路線,結(jié)

20、合各類約束條件,利用MATLAB編程,就可以得到最小的總費(fèi)用。與問題一不同的是此時(shí)有的站點(diǎn)可以向三個(gè)方向進(jìn)行鋪設(shè)所以在問題一模型的基礎(chǔ)上稍作改變即可,在此假設(shè)各站點(diǎn)向三方向鋪設(shè),代表第j站點(diǎn)向第k方向鋪設(shè)的鋼管量(k=1,2,3)。則模型建立如下:目標(biāo)函數(shù)min +() 或 s.t 以上模型求解時(shí)在或的處理上同問題一一樣,通過matlab編程(程序見附錄)計(jì)算求得最小總費(fèi)用W=萬元,具體方案見表六。表六 問題三訂購和運(yùn)輸方案(不足1km的按整數(shù)計(jì))(單位:單位 、萬元)050000001750000001231380246001507087016100190127700228001950006

21、002650000000300000000066500000000188162000004160000000860000003330000006220000001650004000000000205000000065000000700000002500000001000訂購量80080010000145018530訂購總量5903總費(fèi)用2.本建模的思想不僅可以用于鋼管的運(yùn)輸來進(jìn)行天然氣管道的鋪設(shè),還可以用于其他領(lǐng)域諸如煤炭的運(yùn)輸來提供電力等。參考文獻(xiàn)【1】 陳寶林,最優(yōu)化理論與算法,清華大學(xué)出版社,1989 【2】 裘宗燕,數(shù)學(xué)軟件系統(tǒng)的應(yīng)用及程序設(shè)計(jì),北京大學(xué)出版社,1994 【3】 許波,

22、Matlab 工程數(shù)學(xué)應(yīng)用,清華大學(xué)出版社,2001附錄1function f=result(t)%求解問題1ticx0=zeros(8,15);vlb=zeros(8,15);m=zeros(1,7);s=800 800 1000 2000 2000 2000 3000;s(t)=s(t)-50;N=1 1 1 0 1 1 0; %每公里鋼管從Si到達(dá)Ai站點(diǎn)的最小費(fèi)用 C=330.7 320.3000 300.2000 258.6000 198.0000 180.5000 163.1000 181.2000 224.2000 252.0000 256.0000 266.0000 281.2

23、000 288.0000 302.0000; 370.7 360.3000 345.2000 326.6000 266.0000 249.6000 241.0000 226.2000 269.2000 297.0000 301.0000 311.0000 326.2000 333.0000 347.0000; 385.7 375.3000 355.2000 336.6000 276.0000 260.5000 251.0000 241.2000 203.2000 237.0000 241.0000 251.0000 266.2000 273.0000 287.0000; 420.7 410.3

24、000 395.2000 376.6000 316.0000 299.6000 291.0000 276.2000 244.2000 222.0000 211.0000 221.0000 236.2000 243.0000 257.0000; 410.7 400.3000 380.2000 361.6000 301.0000 285.5000 276.0000 266.2000 234.2000 212.0000 188.0000 206.0000 226.2000 228.0000 242.0000; 415.7 405.3000 385.2000 366.6000 306.0000 290

25、.5000 281.0000 271.2000 234.2000 212.0000 201.0000 195.0000 176.2000 161.0000 178.0000; 435.7 425.3000 405.2000 386.6000 326.0000 310.5000 301.0000 291.2000 259.2000 236.0000 226.0000 216.0000 198.2000 186.0000 162.0000; options=optimset(LargeScale,off,Algorithm ,active-set,MaxFunEvals ,50000);%,Tol

26、x,1.0000e-032); x,f=fmincon(myfun,x0,vlb,mycon,options,C,N,s);for i=1:7 for j=1:15 m(i)=m(i)+N(i)*x(i,j); end; end;x,m,fb=(f-1278600)/1278600*(s(t)+50)/50tocfunction f=myfun(XX,C,N,s)%問題1的目標(biāo)函數(shù)x=XX(1:7,1:15);rl=XX(8,1:15);L=104 301 750 606 194 205 201 680 480 300 220 210 420 500;f=0;for i=1:7 for j=1

27、:15 f=f+N(i)*x(i,j)*C(i,j);%運(yùn)輸費(fèi)和成本費(fèi) end;end; for i=1:14 f=f+(rl(i)*(rl(i)+1)/2+(L(i)-rl(i)*(L(i)-rl(i)+1)/2)*0.1;%鋪設(shè)時(shí)的運(yùn)輸費(fèi)end;ffunction c,ceq=mycon(XX,C,N,s)%問題1的約束條件 x=XX(1:7,1:15);rl=XX(8,1:15); L=104 301 750 606 194 205 201 680 480 300 220 210 420 500;m=zeros(1,7); a=zeros(1,15);cc=0;for i=1:7 for

28、 j=1:15 m(i)=m(i)+N(i)*x(i,j); end; c(i)=m(i)-s(i); cc=cc+m(i);end;for i=1:14 c(i+7)=rl(i)-L(i);end;for i=2:14 for j=1:7 a(i)=a(i)+N(j)*x(j,i); end; ceq(i-1)=a(i)-rl(i)+rl(i-1)-L(i-1);end;t1=0;t2=0;for i=1:7 t1=t1+N(i)*x(i,1); t2=t2+N(i)*x(i,15);end;ceq(14)=t1-rl(1);ceq(15)=rl(15);ceq(16)=cc-5171;附錄

29、2function f=result2%求解問題3x0=zeros(10,21);vlb=zeros(10,21);m=zeros(1,7);N=1 1 1 0 1 1 0;tic %每公里鋼管從Si到達(dá)Ai站點(diǎn)的最小費(fèi)用 C=330.7 320.3000 300.2000 258.6000 198.0000 180.5000 163.1000 181.2000 224.2000 252.0000 256.0000 266.0000 281.2000 288.0000 302.0000 220 255 260 265 275 290; 370.7 360.3000 345.2000 326.6

30、000 266.0000 249.6000 241.0000 226.2000 269.2000 297.0000 301.0000 311.0000 326.2000 333.0000 347.0000 265 300 305 310 320 335; 385.7 375.3000 355.2000 336.6000 276.0000 260.5000 251.0000 241.2000 203.2000 237.0000 241.0000 251.0000 266.2000 273.0000 287.0000 199 240 245 250 260 270; 420.7 410.3000

31、395.2000 376.6000 316.0000 299.6000 291.0000 276.2000 244.2000 222.0000 211.0000 221.0000 236.2000 243.0000 257.0000 240 210 215 220 230 240; 410.7 400.3000 380.2000 361.6000 301.0000 285.5000 276.0000 266.2000 234.2000 212.0000 188.0000 206.0000 226.2000 228.0000 242.0000 230 187 205 205 220 230; 4

32、15.7 405.3000 385.2000 366.6000 306.0000 290.5000 281.0000 271.2000 234.2000 212.0000 201.0000 195.0000 176.2000 161.0000 178.0000 230 200 187 194 170 150; 435.7 425.3000 405.2000 386.6000 326.0000 310.5000 301.0000 291.2000 259.2000 236.0000 226.0000 216.0000 198.2000 186.0000 162.0000 255 225 210

33、215 192 186; options=optimset(LargeScale,off,Algorithm ,active-set,MaxFunEvals ,50000);%,Tolx,1.0000e-032); x,f=fmincon(myfun2,x0,vlb,mycon2,options,C,N); for i=1:7 for j=1:21 m(i)=m(i)+N(i)*x(i,j); end; end;x, m,fff=ceil(x)tocfunction f=myfun2(XX,C,N)%問題3的目標(biāo)函數(shù)x=XX(1:7,1:21);rl=XX(8:10,1:21);f=0; fo

34、r i=1:7 for j=1:21 f=f+N(i)*x(i,j)*C(i,j);%鋼管費(fèi)和運(yùn)輸費(fèi) end;end; %鋪設(shè)時(shí)的運(yùn)輸費(fèi)for i=2:14 f=f+(rl(1,i)*(rl(1,i)+1)/2+rl(2,i)*(rl(2,i)+1)/2)*0.1;end; f=f+(rl(1,19)*(rl(1,19)+1)/2+rl(2,19)*(rl(2,19)+1)/2)*0.1;f=f+(rl(1,20)*(rl(1,20)+1)/2+rl(2,20)*(rl(2,20)+1)/2)*0.1;%19,20 f=f+(rl(1,1)*(rl(1,1)+1)/2+rl(2,15)*(rl

35、(2,15)+1)/2)*0.1;%1,15 f=f+(rl(1,16)*(rl(1,16)+1)/2+rl(1,18)*(rl(1,18)+1)/2+rl(1,21)*(rl(1,21)+1)/2)*0.1;%16,18,21 f=f+(rl(3,9)*(rl(3,9)+1)/2+rl(3,11)*(rl(3,11)+1)/2)*0.1;%9,11 f=f+(rl(1,17)*(rl(1,17)+1)/2+rl(2,17)*(rl(2,17)+1)/2+rl(3,17)*(rl(3,17)+1)/2)*0.1;%17function c,ceq=mycon2(XX,C,N)%問題3的約束條件

36、x=XX(1:7,1:21);rl=XX(8:10,1:21); s=800 800 1000 2000 2000 2000 3000;L=104 301 750 606 194 205 201 680 480 300 220 210 420 500 42 10 130 190 260 100; m=zeros(1,7);a=zeros(1,21);cc=0;for i=1:7 for j=1:21 m(i)=m(i)+N(i)*x(i,j); end; c(i)=m(i)-s(i); cc=cc+m(i);end; for i=1:21 for j=1:7 a(i)=a(i)+N(j)*x(

37、j,i); end; ceq(i)=a(i)-rl(1,i)-rl(2,i)-rl(3,i);end; for i=1:14 ceq(i+21)=rl(1,i)+rl(2,i+1)-L(i);end;ceq(36)=rl(3,9)+rl(1,16)-L(15);ceq(37)=rl(3,11)+rl(1,17)-L(16);ceq(38)=rl(2,17)+rl(1,18)-L(17);ceq(39)=rl(3,17)+rl(1,19)-L(18);ceq(40)=rl(2,19)+rl(1,20)-L(19);ceq(41)=rl(2,20)+rl(1,21)-L(20); ceq(42)=

38、rl(1,15);ceq(43)=rl(2,1);for i=1:8 ceq(43+i)=rl(3,i);end;ceq(52)=rl(3,10);for i=12:16 ceq(52+i-11)=rl(3,i);end;ceq(58)=rl(2,16);ceq(59)=rl(2,18);ceq(60)=rl(3,18);ceq(61)=rl(3,19);ceq(62)=rl(3,20);ceq(63)=rl(2,21);ceq(64)=rl(3,21);ceq(65)=cc-5903;%求解最省路徑for i=1:39 for j=1:39 if i=j a(i,j)=0; else a(i

39、,j)=inf; end; end;end;a(1,2)=104;a(2,3)=301;a(3,4)=750;a(4,5)=606;a(5,6)=194;a(6,7)=205;a(7,8)=201;a(8,9)=680;a(9,10)=480;a(10,11)=300;a(11,12)=220;a(12,13)=210;a(13,14)=420;a(14,15)=500; a(2,27)=3;a(3,28)=2;a(4,25)=600;a(5,29)=10;a(6,30)=5;a(7,31)=10;a(7,32)=31;a(8,24)=12;a(9,23)=42;a(10,22)=70;a(1

40、1,33)=10;a(12,35)=10;a(13,19)=62;a(14,36)=110;a(14,18)=30;a(15,16)=20;a(15,17)=20;a(16,17)=-30; a(17,18)=-290;a(18,19)=-160;a(18,36)=-70;a(19,20)=-320; a(19,35)=260;a(19,36)=100;a(33,35)=190;a(20,33)=130; a(20,21)=-160;a(20,35)=-70;a(21,22)=-170;a(21,33)=-88;a(21,37)=-690;a(22,23)=-520;a(23,24)=-720

41、;a(23,38)=-690;a(24,25)=-1100;a(24,32)=-202;a(24,39)=-1200;a(25,26)=-1150;a(26,27)=-450;a(26,28)=-80;a(29,30)=-306;a(30,31)=-195;a(31,32)=-20;a(33,34)=-462; for i=1:39 for j=1:i a(i,j)=a(j,i); end;end; sw=32 39 38 37 34 36 16;aw=23 33 20 35 19 36;T,G=getminArr(a,sw,aw);%a=0 -9 inf 3 inf ;-9 0 2 inf

42、7;inf 2 0 2 4;3 inf 2 0 inf;inf 7 4 inf 0;findPath(a,1,4,0)%T,G=getminpath(a,16,10);%Gunction T,G=getminArr(a,sw,aw) i,m=size(sw)j,n=size(aw);for i=1:m for j=1:n T(i,j),G(i,j)=getminpath(a,sw(i),aw(j); end;end;TGfunction T,G=getminpath(a,beg,over)mn=size(a,1);allPaths=findPath(a,beg,over,0);n=size(a

43、llPaths,1); Idmin=1;Smin=inf;t=zeros(1,n);g=zeros(1,n);m=zeros(1,n);for i=1:n for j=2:mn+1 if allPaths(i,j)=0 break; end; w=a(allPaths(i,j-1),allPaths(i,j); if w0 g(i)=g(i)+w; end; if allPaths(i,j)=over break; end; end;end; for i=1:n m(i)=getTC(t(i),1)+getGC(g(i),1); if m(i)Smin Idmin=i; Smin=m(i); end;end;T=t(Idmin);G=g(Idmin);function possiablePaths = find

溫馨提示

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

評論

0/150

提交評論