版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、公交轉(zhuǎn)車問題南京郵電大學(xué)理學(xué)院楊振華制作南京郵電大學(xué)理學(xué)院楊振華制作南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 公交轉(zhuǎn)車問題針對(duì)市場(chǎng)需求,某公司準(zhǔn)備研制開發(fā)一個(gè)解針對(duì)市場(chǎng)需求,某公司準(zhǔn)備研制開發(fā)一個(gè)解決北京市公交線路選擇問題的自主查詢計(jì)算決北京市公交線路選擇問題的自主查詢計(jì)算機(jī)系統(tǒng)。機(jī)系統(tǒng)。為了設(shè)計(jì)這樣一個(gè)系統(tǒng),其核心是線路選擇為了設(shè)計(jì)這樣一個(gè)系統(tǒng),其核心是線路選擇的模型與算法,應(yīng)該從實(shí)際情況出發(fā)考慮,的模型與算法,應(yīng)該從實(shí)際情況出發(fā)考慮,滿足查詢者的滿足查詢者的各種不同需求各種不同需求。公交:指公共交通工具公交:指公共交通工具 ,包括公共汽車與地,包括公共汽車與地鐵。鐵。南京郵電大學(xué)數(shù)理學(xué)院楊振華制作
2、公交轉(zhuǎn)車問題1、僅考慮公汽線路,給出任意兩公汽站點(diǎn)之、僅考慮公汽線路,給出任意兩公汽站點(diǎn)之間線路選擇問題的一般數(shù)學(xué)模型與算法。并間線路選擇問題的一般數(shù)學(xué)模型與算法。并根據(jù)附錄數(shù)據(jù),利用你們的模型與算法,求根據(jù)附錄數(shù)據(jù),利用你們的模型與算法,求出以下出以下6對(duì)起始站對(duì)起始站終到站之間的最佳路線終到站之間的最佳路線 (1)S3359S1828 (2)S1557S0481 (3)S0971S0485 (4)S0008S0073 (5)S0148S0485 (6)S0087S3676 2、同時(shí)考慮公汽與地鐵線路,解決以上問題。、同時(shí)考慮公汽與地鐵線路,解決以上問題。南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 基本
3、參數(shù)設(shè)定 相鄰公汽站平均行駛時(shí)間相鄰公汽站平均行駛時(shí)間(包括停站時(shí)間包括停站時(shí)間): 3分鐘分鐘相鄰地鐵站平均行駛時(shí)間相鄰地鐵站平均行駛時(shí)間(包括停站時(shí)間包括停站時(shí)間): 2.5分鐘分鐘公汽換乘公汽平均耗時(shí):公汽換乘公汽平均耗時(shí): 5分鐘分鐘(其中步行時(shí)間其中步行時(shí)間2分鐘分鐘)地鐵換乘地鐵平均耗時(shí):地鐵換乘地鐵平均耗時(shí): 4分鐘分鐘(其中步行時(shí)間其中步行時(shí)間2分鐘分鐘)地鐵換乘公汽平均耗時(shí):地鐵換乘公汽平均耗時(shí): 7分鐘分鐘(其中步行時(shí)間其中步行時(shí)間4分鐘分鐘)公汽換乘地鐵平均耗時(shí):公汽換乘地鐵平均耗時(shí): 6分鐘分鐘(其中步行時(shí)間其中步行時(shí)間4分鐘分鐘)公汽票價(jià):分為單一票價(jià)與分段計(jì)價(jià)兩種,
4、標(biāo)記于線路后;公汽票價(jià):分為單一票價(jià)與分段計(jì)價(jià)兩種,標(biāo)記于線路后;其中分段計(jì)價(jià)的票價(jià)為:其中分段計(jì)價(jià)的票價(jià)為:020站:站:1元;元;2140站:站:2元;元;40站以上:站以上:3元元地鐵票價(jià):地鐵票價(jià):3元(無論地鐵線路間是否換乘)元(無論地鐵線路間是否換乘)注:以上參數(shù)均為簡(jiǎn)化問題而作的假設(shè),未必與實(shí)際數(shù)據(jù)完注:以上參數(shù)均為簡(jiǎn)化問題而作的假設(shè),未必與實(shí)際數(shù)據(jù)完全吻合。全吻合。南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 公汽線路信息 公汽運(yùn)行方式公汽運(yùn)行方式(1)環(huán)形)環(huán)形(2)上下行(有可能上下行路線一致)上下行(有可能上下行路線一致)公汽收費(fèi)方式公汽收費(fèi)方式(1)分段計(jì)價(jià))分段計(jì)價(jià)(2)單一票制)
5、單一票制1元元南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 公汽線路信息文件列出了文件列出了520條公汽線路,下面是其中的一條:條公汽線路,下面是其中的一條:L001分段計(jì)價(jià)。分段計(jì)價(jià)。S0619-S1914-S0388-S0348-S0392-S0429-S0436-S3885-S3612-S0819-S3524-S0820-S3914-S0128-S0710該線路是分段計(jì)價(jià),且上下行路線一致的。該線路是分段計(jì)價(jià),且上下行路線一致的。南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 地鐵線路信息T1票價(jià)票價(jià)3元,本線路使用,并可換乘元,本線路使用,并可換乘T2。D01-D02-D03-D04-D05-D06-D07-D08
6、-D09-D10-D11-D12-D13-D14-D15-D16-D17-D18-D19-D20-D21-D22-D23T2票價(jià)票價(jià)3元,本線路使用,并可換乘元,本線路使用,并可換乘T1。環(huán)行:環(huán)行:D24-D25-D26-D12-D27-D28-D29-D30-D31-D32-D18-D33-D34-D35-D36-D37-D38-D39-D24南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 地鐵T1線換乘公汽信息D01:S0567,S0042,S0025D02:S1487D03:S0303,S0302D04:S0566D05:S0436,S0438,S0437,S0435D06:S0392,S0394,S
7、0393,S0391D07:S0386,S0388,S0387,S0385D08:S3068,S0617,S0619,S0618,S0616D09:S1279D10:S2057,S0721,S0722,S0720D11:S0070,S2361,S3721D12:S0609,S0608D13:S2633,S0399,S0401,S0400D14:S3321,S2535,S2464D15:S3329,S2534D16:S3506,S0167,S0168D17:S0237,S0239,S0238,S0236,S0540D18:S0668D19:S0180,S0181D20:S2079,S2933,S
8、1919,S1921,S1920D21:S0465,S0467,S0466,S0464D22:S3457D23:S2512南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 地鐵T2線換乘公汽信息D24:S0537,S3580D25:S0526,S0528,S0527,S0525D26:S3045,S0605,S0607D12:S0609,S0608D27:S0087,S0088,S0086D28:S0855,S0856,S0854,S0857D29:S0631,S0632,S0630D30:S3874,S1426,S1427D31:S0211,S0539,S0541,S0540D32:S0978,S0497,S
9、0498D18:S0668D33:S1894,S1896,S1895D34:S1104,S0576,S0578,S0577D35:S3010,S0583,S0582D36:S3676,S0427,S0061,S0060D37:S1961,S2817,S0455,S0456D38:S3262,S0622D39:S1956,S0289,S0291南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 問題分析從實(shí)際情況考慮,不同的查詢者有不同的要從實(shí)際情況考慮,不同的查詢者有不同的要求。在數(shù)學(xué)上體現(xiàn)出目標(biāo)的不同。求。在數(shù)學(xué)上體現(xiàn)出目標(biāo)的不同。一般可以考慮轉(zhuǎn)車次數(shù)、乘車費(fèi)用、乘車時(shí)一般可以考慮轉(zhuǎn)車次數(shù)、乘車費(fèi)用、乘車時(shí)間這
10、間這3個(gè)目標(biāo)。個(gè)目標(biāo)。問題可以歸結(jié)為多目標(biāo)優(yōu)化問題。問題可以歸結(jié)為多目標(biāo)優(yōu)化問題。南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 問題分析如何處理上面的多個(gè)目標(biāo)?如何處理上面的多個(gè)目標(biāo)?多目標(biāo)的處理最常用的方法是單目標(biāo)化,即多目標(biāo)的處理最常用的方法是單目標(biāo)化,即采用加權(quán)平均等方法將多個(gè)目標(biāo)結(jié)合形成一采用加權(quán)平均等方法將多個(gè)目標(biāo)結(jié)合形成一個(gè)單一的目標(biāo)。個(gè)單一的目標(biāo)。本問題中,單目標(biāo)化并不合適,比較適當(dāng)?shù)谋締栴}中,單目標(biāo)化并不合適,比較適當(dāng)?shù)姆椒ㄊ菍?duì)每個(gè)目標(biāo)尋求最佳線路,然后讓乘方法是對(duì)每個(gè)目標(biāo)尋求最佳線路,然后讓乘客按照自己的需求進(jìn)行選擇??桶凑兆约旱男枨筮M(jìn)行選擇。 南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 模型建立我們
11、先我們先僅考慮公汽線路的情況僅考慮公汽線路的情況。設(shè)設(shè)N表示問題中的公汽站點(diǎn)數(shù)表示問題中的公汽站點(diǎn)數(shù),即即N=3957,A0(a(i,j,0)NN是直達(dá)最小站數(shù)矩陣,當(dāng)存在公共汽車從站是直達(dá)最小站數(shù)矩陣,當(dāng)存在公共汽車從站點(diǎn)直達(dá)站點(diǎn)時(shí),表示從直達(dá)的最小站數(shù)。否點(diǎn)直達(dá)站點(diǎn)時(shí),表示從直達(dá)的最小站數(shù)。否則該元素取為則該元素取為+。 南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 模型建立令令A(yù)m(a(i,j,m)NN是是m次轉(zhuǎn)乘最小站數(shù)矩次轉(zhuǎn)乘最小站數(shù)矩陣,其元素陣,其元素a(i,j,m)表示表示m次轉(zhuǎn)車情形下,從次轉(zhuǎn)車情形下,從Si到到Sj的最小站數(shù)。的最小站數(shù)。顯然顯然 ,1 | ) 1,()0 ,(min),
12、(jkikNkmjkakiamjia南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小轉(zhuǎn)車次數(shù)模型對(duì)于給定的公汽站點(diǎn)對(duì)于給定的公汽站點(diǎn)Si與與Sj ,最小轉(zhuǎn)車次數(shù)模,最小轉(zhuǎn)車次數(shù)模型可以寫為型可以寫為),(|minmjiam南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型轉(zhuǎn)車次數(shù)為轉(zhuǎn)車次數(shù)為m時(shí),從時(shí),從Si到到Sj的總時(shí)間為的總時(shí)間為5m+3a(i,j,m),(轉(zhuǎn)一次車(轉(zhuǎn)一次車5分鐘,每乘一站,用時(shí)分鐘,每乘一站,用時(shí)3分鐘)分鐘)下面是最小乘車時(shí)間模型:下面是最小乘車時(shí)間模型:),(35),(min0mjiammjitSm南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車費(fèi)用模型最小乘車費(fèi)用模型可以寫為如下的形
13、式:最小乘車費(fèi)用模型可以寫為如下的形式:,|),(),(),(min21211互不相等nnmmnnnnkkkjikkfjkfkif該模型是形式上的,對(duì)于求解沒有實(shí)質(zhì)性的該模型是形式上的,對(duì)于求解沒有實(shí)質(zhì)性的作用。作用。南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小轉(zhuǎn)車次數(shù)模型求解對(duì)于給定的公汽站點(diǎn)對(duì)于給定的公汽站點(diǎn)Si與與Sj ,只要逐次求出,只要逐次求出(a(i,j,m),直到其為有限值即可。,直到其為有限值即可。),(|minmjiam,1 | ) 1,()0 ,(min),(jkikNkmjkakiamjia在實(shí)際求解時(shí),先根據(jù)公汽線路的數(shù)據(jù)將在實(shí)際求解時(shí),先根據(jù)公汽線路的數(shù)據(jù)將a(i,j,0)的
14、數(shù)據(jù)存儲(chǔ)在矩陣的數(shù)據(jù)存儲(chǔ)在矩陣A0中。中。南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小轉(zhuǎn)車次數(shù)模型求解算法一(逐次查找)算法一(逐次查找)對(duì)于給定的對(duì)于給定的i,j,(1)若若a(i,j,0)+,表明轉(zhuǎn)車次數(shù)為表明轉(zhuǎn)車次數(shù)為0,否則轉(zhuǎn)否則轉(zhuǎn)(2);(2)k從從1到到N進(jìn)行搜索進(jìn)行搜索,若若a(i,k,0)+,a(k,j,0) +,則轉(zhuǎn)車次數(shù)為則轉(zhuǎn)車次數(shù)為1,否則轉(zhuǎn)否則轉(zhuǎn)(3);(3) k1, k2從從1到到N進(jìn)行搜索進(jìn)行搜索,若若a(i,k1,0)+, a(k1,k2,0)+, a(k2,j,0) +,則轉(zhuǎn)車次數(shù)為則轉(zhuǎn)車次數(shù)為2.,1 | ) 1,()0 ,(min),(jkikNkmjkakiamj
15、ia),(|minmjiam南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小轉(zhuǎn)車次數(shù)模型求解逐次查找算法的復(fù)雜度逐次查找算法的復(fù)雜度若只要轉(zhuǎn)一次車若只要轉(zhuǎn)一次車,則循環(huán)的步數(shù)為則循環(huán)的步數(shù)為N;若要轉(zhuǎn)若要轉(zhuǎn)2次車次車,循環(huán)的步數(shù)為循環(huán)的步數(shù)為N2;若要轉(zhuǎn)若要轉(zhuǎn)3次車次車,循環(huán)的步數(shù)為循環(huán)的步數(shù)為N3由于由于N=3957, N3 6.21010,普通計(jì)算機(jī)運(yùn)行普通計(jì)算機(jī)運(yùn)行時(shí)間較長(zhǎng),時(shí)間較長(zhǎng),若要轉(zhuǎn)若要轉(zhuǎn)4次車,很難承受計(jì)算量次車,很難承受計(jì)算量!南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小轉(zhuǎn)車次數(shù)模型求解算法二(存儲(chǔ)逐次查找)算法二(存儲(chǔ)逐次查找)(1)若若a(i,j,0)+,表明轉(zhuǎn)車次數(shù)為表明轉(zhuǎn)車次數(shù)為0,否則
16、轉(zhuǎn)否則轉(zhuǎn)(2);(2) 求出矩陣求出矩陣A1(a(i,j,1)NN ,其每個(gè)元素通其每個(gè)元素通過上面的表達(dá)式過上面的表達(dá)式,用用k從從1到到N循環(huán)求得循環(huán)求得.若對(duì)給若對(duì)給定的定的i,j,有有a(i,j,1)1)的計(jì)算工作量與的計(jì)算工作量與A1一致一致!有可能計(jì)算轉(zhuǎn)多次車有可能計(jì)算轉(zhuǎn)多次車.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小轉(zhuǎn)車次數(shù)模型求解在前面的兩個(gè)算法中在前面的兩個(gè)算法中,每次循環(huán)都要進(jìn)行每次循環(huán)都要進(jìn)行N次次.事實(shí)上事實(shí)上,對(duì)給定的對(duì)給定的i,滿足滿足a(i,k,0)+的的k是很少是很少的的,我們只要對(duì)這些我們只要對(duì)這些k進(jìn)行循環(huán)進(jìn)行循環(huán).在實(shí)際問題中在實(shí)際問題中,任何一個(gè)城市中任何一
17、個(gè)城市中,任何一個(gè)公汽任何一個(gè)公汽站點(diǎn)所能到達(dá)的公汽站點(diǎn)只是城市中的一些站點(diǎn)所能到達(dá)的公汽站點(diǎn)只是城市中的一些“線線”,相對(duì)于整個(gè)城市而言相對(duì)于整個(gè)城市而言,數(shù)目是比較少的數(shù)目是比較少的.,1 | ) 1,()0 ,(min),(jkikNkmjkakiamjia南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小轉(zhuǎn)車次數(shù)模型求解算法三(有限搜索逐次查找)算法三(有限搜索逐次查找)給出矩陣給出矩陣B,其第其第i行記錄的是滿足行記錄的是滿足a(i,k,0)tS(i,j,1).因此因此,我們可以將我們可以將m的范圍放在的范圍放在0到到12內(nèi)求最優(yōu)內(nèi)求最優(yōu).),(35),(min0mjiammjitSm南京郵電大學(xué)
18、數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解若若m的范圍過大的范圍過大,求解會(huì)有一定困難求解會(huì)有一定困難.能否縮小能否縮小m的范圍的范圍?在上頁的討論中在上頁的討論中,不等式不等式a(i,j,m) m+1的含義的含義是總站數(shù)比轉(zhuǎn)車次數(shù)至少大一是總站數(shù)比轉(zhuǎn)車次數(shù)至少大一.我們可以給出我們可以給出a(i,j,m) 更好的下界更好的下界,從而縮小從而縮小m的范圍的范圍.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 兩站點(diǎn)之間的最小站數(shù)a(i,j,m)表示表示m次轉(zhuǎn)車下次轉(zhuǎn)車下,從從Si到到Sj的最小站數(shù)的最小站數(shù).設(shè)設(shè)nS(i,j)表示站點(diǎn)表示站點(diǎn)Si到到Sj的最小站數(shù)的最小站數(shù)(可以轉(zhuǎn)車可以轉(zhuǎn)車任意次任意次).顯然
19、顯然a(i,j,m) nS(i,j)我們有我們有tS(i,j,m) = 5m+3a(i,j,m) 5m+3nS(i,j)南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 兩站點(diǎn)之間的最小站數(shù)將公汽站點(diǎn)設(shè)為有向圖中的結(jié)點(diǎn)將公汽站點(diǎn)設(shè)為有向圖中的結(jié)點(diǎn).若若Si乘公汽乘公汽1站可以到達(dá)站可以到達(dá)Sj ,我們就設(shè)一條有向邊從結(jié)點(diǎn)我們就設(shè)一條有向邊從結(jié)點(diǎn)i指指向結(jié)點(diǎn)向結(jié)點(diǎn)j.對(duì)于每一條有向邊對(duì)于每一條有向邊,指定其權(quán)為指定其權(quán)為1,顯然顯然求求nS(i,j)就轉(zhuǎn)化為有向圖中結(jié)點(diǎn)到結(jié)點(diǎn)的最短就轉(zhuǎn)化為有向圖中結(jié)點(diǎn)到結(jié)點(diǎn)的最短路徑問題路徑問題 .對(duì)任意給定的對(duì)任意給定的i,j,我們可以采用我們可以采用Dijkstra算法求算法
20、求得得 nS(i,j).南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解對(duì)于第一對(duì)公汽站點(diǎn)對(duì)于第一對(duì)公汽站點(diǎn)i=3359,j=1828, nS(i,j)=13,我們給出求解過程我們給出求解過程.a(i,j,0) = , tS(i,j,0)=;a(i,j,1) = 32, tS(i,j,1)=101; m 2時(shí)時(shí),tS(i,j,m) 52+313=49.因此因此,最小乘車時(shí)間在區(qū)間最小乘車時(shí)間在區(qū)間49,101上上.為求精確的最優(yōu)解為求精確的最優(yōu)解,必須接著求解必須接著求解.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解a(i,j,2) = 18, tS(i,j,2)=64; m 3時(shí)
21、時(shí),tS(i,j,m) 53+313=54.最優(yōu)解位于區(qū)間最優(yōu)解位于區(qū)間54,64;a(i,j,3) = 18, tS(i,j,3)=69; m 4時(shí)時(shí),tS(i,j,m) 54+313=59.最優(yōu)解位于區(qū)間最優(yōu)解位于區(qū)間59,64;南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解a(i,j,4) = 17, tS(i,j,4)=71; m 5時(shí)時(shí),tS(i,j,m) 55+313=64.重復(fù)上述過程重復(fù)上述過程:tS(i,j,0)=, tS(i,j,1)=101, tS(i,j,2)=64,tS(i,j,3)=69, tS(i,j,4)=71,m 5時(shí)時(shí),tS(i,j,m) 64.可以看
22、出可以看出,最小乘車時(shí)間為最小乘車時(shí)間為64,在轉(zhuǎn)在轉(zhuǎn)2次車時(shí)可次車時(shí)可以在此時(shí)間到達(dá)以在此時(shí)間到達(dá).南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解算法由上面的例子由上面的例子, 我們只要找到一個(gè)轉(zhuǎn)車次數(shù)我們只要找到一個(gè)轉(zhuǎn)車次數(shù)m,轉(zhuǎn)車次數(shù)不大于轉(zhuǎn)車次數(shù)不大于m時(shí)時(shí),最小乘車時(shí)間為最小乘車時(shí)間為TS(i,j,m)=mintS(i,j,k) | km轉(zhuǎn)車次數(shù)大于轉(zhuǎn)車次數(shù)大于m時(shí)時(shí), 乘車時(shí)間的下界為乘車時(shí)間的下界為5(m+1)+3 nS(i,j)若若TS(i,j,m) 5(m+1)+3 nS(i,j),則則TS(i,j,m) 為最優(yōu)解為最優(yōu)解.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模
23、型求解算法Step1 用用Dijkstra算法求出算法求出nS(i,j) ,令令m=0;Step2 求出求出a(i,j,m),令令tS(i,j,m) = 5m+3a(i,j,m);Step3 若若TS(i,j,m)=mintS(i,j,k) | km 5(m+1)+3 nS(i,j), 則則TS(i,j,m)即為最短乘車時(shí)間即為最短乘車時(shí)間;否則令否則令m:=m+1,轉(zhuǎn),轉(zhuǎn)Step2.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解第四對(duì)公汽站點(diǎn)第四對(duì)公汽站點(diǎn)S0008S0073的求解過程可的求解過程可以用下面的表格表示以用下面的表格表示(nS(i,j)=13) : m01234ts(i,
24、j,m)83676359Ts(i,j,m)836763595(m+1)+3ns(i,j) 4449545964最小乘車時(shí)間為最小乘車時(shí)間為59,需轉(zhuǎn)需轉(zhuǎn)4次車次車.其它答案參見評(píng)閱要點(diǎn)其它答案參見評(píng)閱要點(diǎn)(該要點(diǎn)給出的答案中該要點(diǎn)給出的答案中包含了起始的包含了起始的3分鐘分鐘)南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 綜合考慮公汽與地鐵(1)最小轉(zhuǎn)車次數(shù)最小轉(zhuǎn)車次數(shù)將地鐵線路看成公汽線路將地鐵線路看成公汽線路.最小轉(zhuǎn)車次數(shù)這一目標(biāo)的討論難度沒有增加最小轉(zhuǎn)車次數(shù)這一目標(biāo)的討論難度沒有增加,只只是增加了幾條公汽線路是增加了幾條公汽線路.對(duì)于題中給的六組站點(diǎn)對(duì)于題中給的六組站點(diǎn),其前其前5組站點(diǎn)都不在地組站點(diǎn)
25、都不在地鐵邊鐵邊,因此增加地鐵后因此增加地鐵后,最小乘車次數(shù)沒有變化最小乘車次數(shù)沒有變化,仍然是原來的仍然是原來的1或或2.第第6組組2個(gè)站點(diǎn)都在地鐵線上個(gè)站點(diǎn)都在地鐵線上,最小轉(zhuǎn)乘次數(shù)為最小轉(zhuǎn)乘次數(shù)為0.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 綜合考慮公汽與地鐵(2)最小乘車費(fèi)用最小乘車費(fèi)用對(duì)于一般的兩個(gè)站點(diǎn)之間的最小乘車費(fèi)用對(duì)于一般的兩個(gè)站點(diǎn)之間的最小乘車費(fèi)用,僅僅考慮公汽時(shí)討論就很復(fù)雜考慮公汽時(shí)討論就很復(fù)雜,增加了地鐵之后討增加了地鐵之后討論還是差不多復(fù)雜論還是差不多復(fù)雜,要用枚舉法來求解要用枚舉法來求解.也可以說也可以說,難度沒有增加難度沒有增加.對(duì)于題中給的六組站點(diǎn)對(duì)于題中給的六組站點(diǎn),僅考
26、慮公汽時(shí)僅考慮公汽時(shí),最小費(fèi)最小費(fèi)用為用為2元或元或3元元,因此在綜合考慮公汽與地鐵時(shí)因此在綜合考慮公汽與地鐵時(shí)依然是最優(yōu)解依然是最優(yōu)解(乘一次地鐵乘一次地鐵3元元)南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 綜合考慮公汽與地鐵(3)最小乘車時(shí)間最小乘車時(shí)間增加了地鐵后乘車時(shí)間的討論變得相當(dāng)復(fù)雜增加了地鐵后乘車時(shí)間的討論變得相當(dāng)復(fù)雜.注注:如果假設(shè)換成次數(shù)最多為如果假設(shè)換成次數(shù)最多為2或或3,會(huì)將問題大會(huì)將問題大大簡(jiǎn)化大簡(jiǎn)化.在此在此,為了將問題合理的簡(jiǎn)化為了將問題合理的簡(jiǎn)化,我們首先研究這我們首先研究這樣一個(gè)問題:在考慮時(shí)間最少時(shí),線路中是樣一個(gè)問題:在考慮時(shí)間最少時(shí),線路中是否存在先乘地鐵,再轉(zhuǎn)公汽,
27、再乘地鐵這樣否存在先乘地鐵,再轉(zhuǎn)公汽,再乘地鐵這樣的乘車方案?的乘車方案? 南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 地鐵-公汽-地鐵?考察下面兩種方案考察下面兩種方案(A)從地鐵站)從地鐵站Dk乘地鐵到地鐵站乘地鐵到地鐵站Dk1然后由然后由公汽站公汽站Ss1乘到公汽站乘到公汽站Ss2 ,再轉(zhuǎn)地鐵站,再轉(zhuǎn)地鐵站Dl1,乘地鐵到地鐵站乘地鐵到地鐵站Dl; (B)直接乘地鐵由地鐵站)直接乘地鐵由地鐵站Dk到到Dl 。直觀認(rèn)識(shí)直觀認(rèn)識(shí):(A)的時(shí)間的時(shí)間(B)的時(shí)間的時(shí)間南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 地鐵-公汽-地鐵?設(shè)設(shè)tDB(i,j)表示乘地鐵由地鐵站表示乘地鐵由地鐵站Di到地鐵站到地鐵站Dj的的最短時(shí)
28、間,最短時(shí)間,nSA(i,j)表示可以由地鐵站表示可以由地鐵站Di轉(zhuǎn)乘的轉(zhuǎn)乘的公汽站乘公汽到可以由地鐵站公汽站乘公汽到可以由地鐵站Dj轉(zhuǎn)乘的公汽轉(zhuǎn)乘的公汽站的最小公汽站數(shù)。站的最小公汽站數(shù)。于是于是, TB = tDB(k,l)如果如果(A)方案中沒有公汽轉(zhuǎn)車方案中沒有公汽轉(zhuǎn)車TA = tDB(k,k1)+3 nSA(k1,l1)+ tDB(l1,l)+1313表示換車時(shí)間表示換車時(shí)間如果有公汽轉(zhuǎn)車如果有公汽轉(zhuǎn)車,等號(hào)要換成大于等于號(hào)等號(hào)要換成大于等于號(hào)南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 地鐵-公汽-地鐵?TA - TB tDB(k,k1)+3 nSA(k1,l1)+ tDB(l1,l)+13-
29、tDB(k,l)= 3 nSA(k1,l1) +13- tDB(k1,l1)+ tDB(k,k1) + tDB(k1,l1)+ tDB(l1,l)- tDB(k,l)最后一個(gè)中括號(hào)中的式子是非負(fù)的最后一個(gè)中括號(hào)中的式子是非負(fù)的.因此因此TA - TB 3 nSA(k1,l1) +13- tDB(k1,l1)如果右式非負(fù)如果右式非負(fù),則有則有TA - TB 0.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 地鐵-公汽-地鐵?3 nSA(k1,l1) +13- tDB(k1,l1) 0?一共有一共有39個(gè)地鐵站個(gè)地鐵站,我們通過計(jì)算機(jī)程序(我們通過計(jì)算機(jī)程序(k1,l1對(duì)從對(duì)從1到到39進(jìn)行遍歷搜索)來判斷上式
30、左邊的值進(jìn)行遍歷搜索)來判斷上式左邊的值,發(fā)現(xiàn)有發(fā)現(xiàn)有四組地鐵站對(duì)應(yīng)的值為負(fù)四組地鐵站對(duì)應(yīng)的值為負(fù),分別是分別是(13,30),(16,30),(30,15),(30,16),這四組站點(diǎn)對(duì)應(yīng)的這四組站點(diǎn)對(duì)應(yīng)的nSA(k1,l1) 值均為值均為1.對(duì)這四組點(diǎn)對(duì)這四組點(diǎn),再觀察再觀察TA - TB tDB(k,k1)+3 nSA(k1,l1)+ tDB(l1,l)+13- tDB(k,l)右端的值右端的值南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 地鐵-公汽-地鐵?tDB(k,k1)+3 nSA(k1,l1)+ tDB(l1,l)+13- tDB(k,l)=tDB(k,k1)+ tDB(l1,l)+16- t
31、DB(k,l)對(duì)于前面四組對(duì)于前面四組k1,l1,對(duì)對(duì)k,l進(jìn)行循環(huán)搜索進(jìn)行循環(huán)搜索,可以得可以得到到tDB(k,k1)+ tDB(l1,l)+16- tDB(k,l)的最小值都是的最小值都是2.最終得到最終得到TA - TB 0.結(jié)論結(jié)論:對(duì)于題中給的數(shù)據(jù)對(duì)于題中給的數(shù)據(jù),為了時(shí)間最省為了時(shí)間最省,不存不存在在“地鐵地鐵-公汽公汽-地鐵地鐵”這種換乘方案這種換乘方案.換言之換言之:地鐵一次乘完地鐵一次乘完!南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型對(duì)于任意兩個(gè)公汽站點(diǎn)對(duì)于任意兩個(gè)公汽站點(diǎn),不乘地鐵的時(shí)間最小不乘地鐵的時(shí)間最小方案在問題一中已經(jīng)求得方案在問題一中已經(jīng)求得.下面考慮必須乘地
32、下面考慮必須乘地鐵的方案鐵的方案:乘乘p次(轉(zhuǎn)次(轉(zhuǎn)p-1次)公汽,再乘地鐵,最后乘次)公汽,再乘地鐵,最后乘次次q(轉(zhuǎn)(轉(zhuǎn)q-1次次)公汽到達(dá)終點(diǎn)的方案,下面將公汽到達(dá)終點(diǎn)的方案,下面將這樣的方案記為這樣的方案記為pDq。注注:該方案包含了僅乘地鐵的情況該方案包含了僅乘地鐵的情況(p=q=0).南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型下面主要針對(duì)題中前下面主要針對(duì)題中前5組站點(diǎn)進(jìn)行研究組站點(diǎn)進(jìn)行研究.這五這五組站點(diǎn)均不能由地鐵站直接轉(zhuǎn)乘組站點(diǎn)均不能由地鐵站直接轉(zhuǎn)乘,因此因此p,q1.求任意公汽站點(diǎn)求任意公汽站點(diǎn)Si到公汽站點(diǎn)到公汽站點(diǎn)Sj在方案下的最在方案下的最短時(shí)間短時(shí)間,即對(duì)任意
33、的即對(duì)任意的p,q,以及任意的地鐵站以及任意的地鐵站Dk,Dl,求出起點(diǎn)乘求出起點(diǎn)乘p次公汽到可以直接轉(zhuǎn)乘地次公汽到可以直接轉(zhuǎn)乘地鐵站鐵站Dk的公汽站的最短時(shí)間的公汽站的最短時(shí)間,加上加上Dk到到Dl的最的最短時(shí)間短時(shí)間,再加上可以由地鐵站再加上可以由地鐵站Dl直接轉(zhuǎn)乘的公直接轉(zhuǎn)乘的公汽站乘汽站乘q公汽次到達(dá)終點(diǎn)公汽站的最短時(shí)間公汽次到達(dá)終點(diǎn)公汽站的最短時(shí)間.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型(1)站數(shù)站數(shù):N1(i,k,p-1),乘車時(shí)間乘車時(shí)間: 3N1(i,k,p-1),轉(zhuǎn)車時(shí)間轉(zhuǎn)車時(shí)間5(p-1)SiDkSjDl(1)p次(3)q次(3)站數(shù)站數(shù):N2(l,j,q-1),
34、乘車時(shí)間乘車時(shí)間: 3N2(l,j,q-1),轉(zhuǎn)車時(shí)間轉(zhuǎn)車時(shí)間5(q-1)(2)(2)乘車時(shí)間乘車時(shí)間: tD(k,l)(4)公汽轉(zhuǎn)地鐵公汽轉(zhuǎn)地鐵,地鐵轉(zhuǎn)公汽時(shí)間地鐵轉(zhuǎn)公汽時(shí)間:13總時(shí)間總時(shí)間:tSDS(i,j,p,q,k,l)= 3N1(i,k,p-1)+ 5(p-1)+ tD(k,l)+3N2(l,j,q-1)+ 5(q-1)+13南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型數(shù)學(xué)模型數(shù)學(xué)模型mintSDS(i,j,p,q,k,l)|1p,q,1 k,l 39,kl在在tSDS(i,j,p,q,k,l)表達(dá)式中表達(dá)式中,地鐵乘坐時(shí)間地鐵乘坐時(shí)間tD(k,l)是很容易計(jì)算的是很容易計(jì)算的
35、.若沒有轉(zhuǎn)車若沒有轉(zhuǎn)車, tD(k,l)=2.5nD(k,l)(每站每站2.5分鐘分鐘)若轉(zhuǎn)若轉(zhuǎn)1次車次車, tD(k,l)=2.5nD(k,l)+4.不存在轉(zhuǎn)不存在轉(zhuǎn)2次以上的情況次以上的情況.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解tSDS(i,j,p,q,k,l)= 3N1(i,k,p-1)+ 5(p-1)+ tD(k,l)+3N2(l,j,q-1)+ 5(q-1)+13對(duì)于固定的對(duì)于固定的i,j,我們要遍歷我們要遍歷p,q,k,l來求上式的最來求上式的最小值小值.對(duì)于對(duì)于k,l進(jìn)行遍歷是比較簡(jiǎn)單的進(jìn)行遍歷是比較簡(jiǎn)單的.為了縮小為了縮小p,q的取值范圍的取值范圍,可以類似于問
36、題一來可以類似于問題一來給出站數(shù)給出站數(shù)(公汽與地鐵公汽與地鐵)的下界的下界.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 下界設(shè)設(shè)nSDS(i,j)表示從表示從Si乘車乘車(公汽或地鐵公汽或地鐵,可以轉(zhuǎn)車可以轉(zhuǎn)車任意次任意次)到到Sj的最小乘車站數(shù)的最小乘車站數(shù).我們可以用我們可以用Dijkstra求最短路徑來求出這個(gè)數(shù)求最短路徑來求出這個(gè)數(shù).記記M=N1(i,k,p-1)+N2(l,j,q-1)為乘車方案中公汽的站為乘車方案中公汽的站數(shù)數(shù).根據(jù)公汽的站數(shù)加地鐵站數(shù)不小于最小乘車站數(shù)根據(jù)公汽的站數(shù)加地鐵站數(shù)不小于最小乘車站數(shù),有有M+nD(k,l) nSDS(i,j).南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 下界
37、將將M=N1(i,k,p-1)+N2(l,j,q-1) 代入代入tSDS(i,j,p,q,k,l)= 3N1(i,k,p-1)+ 5(p-1)+ tD(k,l)+3N2(l,j,q-1)+ 5(q-1)+13得得tSDS(i,j,p,q,k,l)=3M+tD(k,l)+5(p+q)+3由于由于tD(k,l)=2.5nD(k,l)或或2.5nD(k,l)+4,有有tSDS(i,j,p,q,k,l) 3M+ 2.5nD(k,l) +5(p+q)+3=0.5M+2.5M+ 2.5nD(k,l) +5(p+q)+3M+nD(k,l) nSDS(i,j)南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 下界tSDS(i,
38、j,p,q,k,l) 0.5M+2.5M+ 2.5nD(k,l) +5(p+q)+3再由再由M+nD(k,l) nSDS(i,j)得得tSDS(i,j,p,q,k,l) 0.5M+2.5nSDS(i,j)+ 5(p+q)+3另外另外,M表示乘公汽的站數(shù)表示乘公汽的站數(shù),顯然顯然Mp+q,(一共乘一共乘了了p+q次公汽次公汽,每次至少一站每次至少一站).我們最終得到我們最終得到tSDS(i,j,p,q,k,l) 2.5nSDS(i,j)+ 5.5(p+q)+3根據(jù)這一下界根據(jù)這一下界, 搜索不多的搜索不多的p,q就得到最小時(shí)間就得到最小時(shí)間.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解對(duì)
39、第一個(gè)點(diǎn)對(duì)對(duì)第一個(gè)點(diǎn)對(duì), i=3359, j=1828, nSDS(i,j)=12(由由于增加了地鐵于增加了地鐵,最小站數(shù)小了最小站數(shù)小了).(1)p+q=2,p=1,q=1t=84.5,p+q 3時(shí)時(shí),下界下界2.5nSDS(i,j)+ 5.5(p+q)+3=49.5(2) p+q=3,p=1,q=2,t=71; p=2,q=1,t=75.5p+q 4時(shí)時(shí),下界下界2.5nSDS(i,j)+ 5.5(p+q)+3=55南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解(3) p+q=4,p=1,q=3,t=76;p=2,q=2,t=62;p=3,q=1,t=80.5p+q 5時(shí)時(shí),下界下界
40、2.5nSDS(i,j)+ 5.5(p+q)+3=60.5南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解(3) p+q=5,p=1,q=4,t=77;p=2,q=3,t=67;p=3,q=2,t=67p=4,q=1,t=85.5p+q 6時(shí)時(shí),下界下界2.5nSDS(i,j)+ 5.5(p+q)+3=66p+q 5時(shí)時(shí),t*=62, p+q 6時(shí)時(shí),t 66因此因此,最優(yōu)解在最優(yōu)解在p=q=2時(shí)取得時(shí)取得.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 最小乘車時(shí)間模型求解Step1 用用Dijkstra算法求出算法求出nSDS(i,j) ,令令h=2;Step2 計(jì)算下界計(jì)算下界A(h+1,i,j)=
41、2.5nSDS(i,j)+ 5.5(h+1)+3;Step3 p從從1到到h-1循環(huán)循環(huán),q=h-p,計(jì)算計(jì)算tSDS(i,j,p,q,k,l),對(duì)對(duì)k,l遍歷求出遍歷求出f(p,h)= min tSDS(i,j,p,q,k,l) | 1k,l39,kl TSDS(i,j,h)=min f(p,r) |2 r h ;Step4 若若TSDS(i,j,h) A(h+1,i,j)停止停止;否則令否則令h:=h+1,轉(zhuǎn)轉(zhuǎn)Step3.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 求解結(jié)果用上述算法用上述算法,針對(duì)題中的數(shù)據(jù)進(jìn)行求解針對(duì)題中的數(shù)據(jù)進(jìn)行求解,除去第除去第二對(duì)站點(diǎn)二對(duì)站點(diǎn),計(jì)算到計(jì)算到p+q=5時(shí)可以求出
42、最優(yōu)解時(shí)可以求出最優(yōu)解.對(duì)第二對(duì)站點(diǎn)對(duì)第二對(duì)站點(diǎn),可以加大搜索量求得最優(yōu)解可以加大搜索量求得最優(yōu)解.另另外還可以求得更好的下界來壓縮搜索范圍外還可以求得更好的下界來壓縮搜索范圍,比比如考慮起點(diǎn)到整個(gè)地鐵線的最小站數(shù)如考慮起點(diǎn)到整個(gè)地鐵線的最小站數(shù),這樣這樣M的取值相應(yīng)的增加的取值相應(yīng)的增加,從而下界增大從而下界增大.再結(jié)合不乘再結(jié)合不乘地鐵的情況地鐵的情況,對(duì)第二對(duì)站點(diǎn)對(duì)第二對(duì)站點(diǎn),也只要搜索到也只要搜索到p+q=5就可以了就可以了.南京郵電大學(xué)數(shù)理學(xué)院楊振華制作 求解結(jié)果僅考慮公汽時(shí)的求解過程和結(jié)果僅考慮公汽時(shí)的求解過程和結(jié)果點(diǎn)對(duì)ts(i,j,m)m*ns(i,j)5(m*+1)+3ns(i,j)T*1234563359182810164697141364641
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年文化娛樂產(chǎn)業(yè)內(nèi)容版權(quán)許可合同
- 2024年度食品包裝ODM設(shè)計(jì)及生產(chǎn)合同
- 2024年文化創(chuàng)意產(chǎn)業(yè)孵化器運(yùn)營(yíng)合作協(xié)議
- 2024年圖書購(gòu)銷協(xié)議樣本
- 初中的校園作文參考7篇
- 做一名幸福的老師心得(13篇)
- 2024年技術(shù)研發(fā)與咨詢服務(wù)合同
- DB4113T 058-2024 黃金梨生產(chǎn)技術(shù)規(guī)程
- 時(shí)政熱點(diǎn)十第六屆中國(guó)國(guó)際進(jìn)口博覽會(huì)-2024年中考道德與法治真題題源解密(原卷版)
- 2024年技術(shù)聯(lián)營(yíng)權(quán)責(zé)說明書
- 五年級(jí)上冊(cè)數(shù)學(xué)課件-一二單元 北師大版 (共 33 張ppt)
- 初二數(shù)學(xué)秋季講義 第8講.分式恒等變形 教師版
- 三年級(jí)數(shù)學(xué)上冊(cè)課件-5. 倍的認(rèn)識(shí) -人教版(共15張PPT)
- DBJ04-T 402-2020城鄉(xiāng)養(yǎng)老設(shè)施建設(shè)標(biāo)準(zhǔn)
- 生命科學(xué)概論0603課件
- Q∕GDW 12184-2021 輸變電設(shè)備物聯(lián)網(wǎng)傳感器數(shù)據(jù)規(guī)范
- 大班社會(huì)《偉大的起點(diǎn) 》 高清有聲PPT課件
- “楓橋經(jīng)驗(yàn)”PPT課件
- 九年級(jí)化學(xué)問卷調(diào)查
- 皮帶輸送機(jī)技術(shù)要求
- 合伙人模式案例分享(課堂PPT)
評(píng)論
0/150
提交評(píng)論