數(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頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)學(xué)建模-鋼管訂購和運(yùn)輸數(shù)學(xué)建模-鋼管訂購和運(yùn)輸數(shù)學(xué)建模-鋼管訂購和運(yùn)輸數(shù)學(xué)建模-鋼管訂購和運(yùn)輸編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:鋼管的訂購和運(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ì)算比較得出:鋼管銷價(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單位鋼管。一個(gè)鋼廠如果承擔(dān)制造這種鋼管,至少需要生產(chǎn)500個(gè)單位。鋼廠在指定期限內(nèi)能生產(chǎn)該鋼管的最大數(shù)量為個(gè)單位,鋼管出廠銷價(jià)1單位鋼管為萬元,如下表:1234567800800100020002000200030001601551551601551501601單位鋼管的鐵路運(yùn)價(jià)如下表:里程(km)≤300301~350351~400401~450451~500運(yùn)價(jià)(萬元)2023262932里程(km)501~600601~700701~800801~900901~1000運(yùn)價(jià)(萬元)37445055601000km以上每增加1至100km運(yùn)價(jià)增加5萬元。公路運(yùn)輸費(fèi)用為1單位鋼管每公里萬元(不足整公里部分按整公里計(jì)算)。鋼管可由鐵路、公路運(yùn)往鋪設(shè)地點(diǎn)(不只是運(yùn)到點(diǎn),而是管道全線)。(1)請制定一個(gè)主管道鋼管的訂購和運(yùn)輸計(jì)劃,使總費(fèi)用最?。ńo出總費(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é)果。AA13258010103120124270108810706270302020304501043017506061942052016804803002202104205006003060195202720690520170690462160320160110290115011001200A2A3A4A5A6AA711AA8AA911AA10A11A12A13A14A15S1S2S3S4S5S6S7圖一AA13258010103120124270108810706270302020304501043017506061942052016804803002202104205006003060195202720690520170690462160320160110290115011001200A19130190260100A2A3A4A5A6A7A8AA9A10A11A12A13A14A15S1S2S3S4S5S6S7A16A17A18A20(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è)的鋼管量單位(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)可由在每個(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)用最小的一條。以此類推,計(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à)和生產(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è)的。在問題分析里一討論邊走邊鋪與實(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)化模型建立如下:目標(biāo)函數(shù)min++()或 六、模型求解由于鐵路、公路相互交錯(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)用(單位:萬元/單位)3811112115614615616686961311211311419214282625762769614686513351661061569661514556128178118837311261421921329787282因?yàn)閙atlab無法直接對約束條件或進(jìn)行處理,所以我們先將此條件改為,則原模型變?yōu)閙in++() 通過matlab編程(程序見附錄)計(jì)算結(jié)果見表二表二各廠的生產(chǎn)量及總費(fèi)用(生產(chǎn)量可小于500)(單位:單位、萬元)總費(fèi)用80080010000245由表二可知,、的生產(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)用=0800800100000>50080080010000500通過以上兩種方式的比較,購買和運(yùn)輸最小總費(fèi)用minW=(萬元)具體的訂購和運(yùn)輸方案見表四。表四問題一訂購和運(yùn)輸方案(不足1km的按整數(shù)計(jì))(單位:單位、萬元)訂購量800800100001190118100000000017900000013714102300014974790166001861101160203002000000002650000000300000000066400000000176176000004150000000860000003330000006210000001650訂購總量5171總費(fèi)用六.靈敏度分析(問題二)由于本案例中對模型結(jié)果產(chǎn)生影響的因素有很多,所以我們在此取個(gè)關(guān)鍵的參數(shù)進(jìn)行了靈敏度分析。模型對這些參數(shù)的敏感性反映了各種因素影響結(jié)果的顯著性程度。通過對模型參數(shù)的敏感性分析,又可以反映和檢驗(yàn)?zāi)P偷膶?shí)際合理性。由靈敏度的定義知,靈敏度是指系統(tǒng)中的參數(shù)或外擾的微小攝動對系統(tǒng)某特性的影響程度,其計(jì)算公式如下:靈敏度=對鋼廠鋼管銷價(jià)的靈敏度分析鋼廠鋼管的銷價(jià)是此問題的一個(gè)重要因素,鋼鐵價(jià)格的高低可以說直接影響著總費(fèi)用和夠運(yùn)計(jì)劃。現(xiàn)在對價(jià)格做靈敏度分析,其他一切條件不變,且在討論的銷價(jià)變化帶來的影響時(shí)其余各廠的銷價(jià)不變。我們分別使各鋼廠的價(jià)格單獨(dú)增加5萬元/單位和減少5萬元/單位,并分別帶入上述模型計(jì)算,得到此時(shí)的總費(fèi)用,再利用靈敏度公式計(jì)算各種情況的影響程度。結(jié)果如下表:表四各鋼廠銷價(jià)變化產(chǎn)生的影響(單位:)+5萬元/單位總費(fèi)用靈敏度00-5萬元/單位總費(fèi)用靈敏度00由以上數(shù)據(jù)可知,鋼管銷價(jià)的變化對購運(yùn)計(jì)劃和總費(fèi)用影響最大。(2)對鋼廠鋼管產(chǎn)量上限的靈敏度分析鋼管的供給量也是一個(gè)重要的因素,供給量上限的大小將間接影響著總費(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)用靈敏度-50單位總費(fèi)用靈敏度由上表知,的生產(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é)合各類約束條件,利用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++()或 以上模型求解時(shí)在或的處理上同問題一一樣,通過matlab編程(程序見附錄Ⅱ)計(jì)算求得最小總費(fèi)用W=萬元,具體方案見表六。表六問題三訂購和運(yùn)輸方案(不足1km的按整數(shù)計(jì))(單位:單位、萬元)050000001750000001231380246001507087016100190127700228001950006002650000000300000000066500000000188162000004160000000860000003330000006220000001650004000000000205000000065000000700000002500000001000訂購量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】許波,《Matlab工程數(shù)學(xué)應(yīng)用》,清華大學(xué)出版社,2001附錄1functionf=result(t)%求解問題1ticx0=zeros(8,15);vlb=zeros(8,15);m=zeros(1,7);s=[80080010002000200020003000];s(t)=s(t)-50;N=[1110110];%每公里鋼管從Si到達(dá)Ai站點(diǎn)的最小費(fèi)用C=[;;;;;;];options=optimset('LargeScale','off','Algorithm','active-set','MaxFunEvals',50000);%,'Tolx',;[x,f]=fmincon('myfun',x0,[],[],[],[],vlb,[],'mycon',options,C,N,s);fori=1:7forj=1:15m(i)=m(i)+N(i)*x(i,j);end;end;x,,m,fb=(f-1278600)/1278600*(s(t)+50)/50tocfunctionf=myfun(XX,C,N,s)%問題1的目標(biāo)函數(shù)x=XX(1:7,1:15);rl=XX(8,1:15);L=[104301750606194205201680480300220210420500];f=0;fori=1:7forj=1:15f=f+N(i)*x(i,j)*C(i,j);%運(yùn)輸費(fèi)和成本費(fèi)end;end;fori=1:14f=f+(rl(i)*(rl(i)+1)/2+(L(i)-rl(i))*(L(i)-rl(i)+1)/2)*;%鋪設(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=[104301750606194205201680480300220210420500];m=zeros(1,7);a=zeros(1,15);cc=0;fori=1:7forj=1:15m(i)=m(i)+N(i)*x(i,j);end;c(i)=m(i)-s(i);cc=cc+m(i);end;fori=1:14c(i+7)=rl(i)-L(i);end;fori=2:14forj=1:7a(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;fori=1:7t1=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;附錄2functionf=result2%求解問題3x0=zeros(10,21);vlb=zeros(10,21);m=zeros(1,7);N=[1110110];tic%每公里鋼管從Si到達(dá)Ai站點(diǎn)的最小費(fèi)用C=[220255260265275290;265300305310320335;199240245250260270;240210215220230240230200187194170150;255225210215192186];options=optimset('LargeScale','off','Algorithm','active-set','MaxFunEvals',50000);%,'Tolx',;[x,f]=fmincon('myfun2',x0,[],[],[],[],vlb,[],'mycon2',options,C,N);fori=1:7forj=1:21m(i)=m(i)+N(i)*x(i,j);end;end;x,m,fff=ceil(x)tocfunctionf=myfun2(XX,C,N)%問題3的目標(biāo)函數(shù)x=XX(1:7,1:21);rl=XX(8:10,1:21);f=0;fori=1:7forj=1:21f=f+N(i)*x(i,j)*C(i,j);%鋼管費(fèi)和運(yùn)輸費(fèi)end;end;%鋪設(shè)時(shí)的運(yùn)輸費(fèi)fori=2:14f=f+(rl(1,i)*(rl(1,i)+1)/2+rl(2,i)*(rl(2,i)+1)/2)*;end;f=f+(rl(1,19)*(rl(1,19)+1)/2+rl(2,19)*(rl(2,19)+1)/2)*;f=f+(rl(1,20)*(rl(1,20)+1)/2+rl(2,20)*(rl(2,20)+1)/2)*;%19,20f=f+(rl(1,1)*(rl(1,1)+1)/2+rl(2,15)*(rl(2,15)+1)/2)*;%1,15f=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)*;%16,18,21f=f+(rl(3,9)*(rl(3,9)+1)/2+rl(3,11)*(rl(3,11)+1)/2)*;%9,11f=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)*;%17function[c,ceq]=mycon2(XX,C,N)%問題3的約束條件x=XX(1:7,1:21);rl=XX(8:10,1:21);s=[80080010002000200020003000];L=[1043017506061942052016804803002202104205004210130190260100];m=zeros(1,7);a=zeros(1,21);cc=0;fori=1:7forj=1:21m(i)=m(i)+N(i)*x(i,j);end;c(i)=m(i)-s(i);cc=cc+m(i);end;fori=1:21forj=1:7a(i)=a(i)+N(j)*x(j,i);end;ceq(i)=a(i)-rl(1,i)-rl(2,i)-rl(3,i);end;fori=1:14ceq(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)=rl(1,15);ceq(43)=rl(2,1);fori=1:8ceq(43+i)=rl(3,i);end;ceq(52)=rl(3,10);fori=12:16ceq(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;%求解最省路徑fori=1:39forj=1:39ifi==ja(i,j)=0;elsea(i,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(11,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;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;fori=1:39forj=1:ia(i,j)=a(j,i);end;end;sw=[32393837343616];aw=[233320351936];[T,G]=getminArr(a,sw,aw);%a=[0-9inf3inf;-902inf7;inf2024;3inf20inf;inf74inf0];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);fori=1:mforj=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(allPaths,1);Idmin=1;Smin=inf;t=zeros(1,n);g=zeros(1,n);m=zeros(1,n);fori=1:nforj=2:mn+1ifallPaths(i,j)==0break;end;w=a(allPaths(i,j-1),allPaths(i,j));ifw<0t(i)=t(i)+abs(w);end;ifw>0g(i)=g(i)+w;end;ifallPaths(i,j)==overbreak;end;end;end;fori=1:nm(i)=getTC(t(i),1)+getGC(g(i),1);ifm(i)<SminIdmin=i;Smin=m(i);end;end;T=t(Idmin);G=g(Idmin);functionpossiablePaths=findPath(Graph,partialPath,destination,partialWeight)%findPath按深度優(yōu)先搜索所有可能的從partialPath出發(fā)到destinatio

溫馨提示

  • 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

提交評論