乘公交看奧運方案設(shè)計_第1頁
乘公交看奧運方案設(shè)計_第2頁
乘公交看奧運方案設(shè)計_第3頁
乘公交看奧運方案設(shè)計_第4頁
乘公交看奧運方案設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、承 諾 書我們仔細閱讀了中國大學生數(shù)學建模競賽的競賽規(guī)則.我們完全明白,在競賽開始后參賽隊員不能以任何方式(包括電話、電子郵件、網(wǎng)上咨詢等)與隊外的任何人(包括指導教師)研究、討論與賽題有關(guān)的問題。我們知道,抄襲別人的成果是違反競賽規(guī)則的, 如果引用別人的成果或其他公開的資料(包括網(wǎng)上查到的資料),必須按照規(guī)定的參考文獻的表述方式在正文引用處和參考文獻中明確列出。我們鄭重承諾,嚴格遵守競賽規(guī)則,以保證競賽的公正、公平性。如有違反競賽規(guī)則的行為,我們將受到嚴肅處理。我們參賽選擇的題號是(從A/B/C/D中選擇一項填寫): B 我們的參賽報名號為(如果賽區(qū)設(shè)置報名號的話): 所屬學校(請?zhí)顚懲暾?/p>

2、全名) 黔南民族師范學院 參賽隊員 (打印并簽名) :1. 曹龍 2. 彭開連 3. 陳勇 指導教師或指導教師組負責人 (打印并簽名): 薛先貴 日期: 2011年 8 月 15 日乘公交,看奧運摘要:本文將公交線路(3957個公汽站點和520條公汽線路、39個地鐵站點和2條地鐵線路、地鐵與公汽間轉(zhuǎn)換關(guān)系)關(guān)系抽象為有向賦權(quán)圖,并建立時間直達矩陣、費用直達矩陣、換乘直達線路數(shù)矩陣,利用最短路模型、搜索法及0-1整數(shù)規(guī)劃模型進行解答。對于問題一,在只考慮公汽的情況下,我們用修改floyd算法求出最小轉(zhuǎn)乘次數(shù)、最少費用、最少時間,并由搜索法得出最優(yōu)線路;對于問題二,在考慮公汽和地鐵的情況下,同樣,

3、我們也用修改floyd算法求出最小轉(zhuǎn)乘次數(shù)、最少費用、最少時間,并由搜索法得出最優(yōu)線路;對于第三問題,我們則需要考慮步行時間進去,在問題二的基礎(chǔ)上并利用0-1整數(shù)規(guī)劃模型進行優(yōu)化組合取得最優(yōu)線路。關(guān)鍵字:線路選擇 有向賦權(quán)圖 修改floyd算法 搜索法 優(yōu)化模型一、問題重述:奧運會是世界上舉行的一項重大的賽事活動.第29屆奧運會明年8月將在我國北京舉行,屆時有大量觀眾到現(xiàn)場觀看奧運比賽,其中大部分人將會乘坐公共交通工具(簡稱公交,包括公汽、地鐵等)出行。近年來,城市的公交系統(tǒng)有了很大發(fā)展,北京市的公交線路已達800條以上,使得公眾的出行更加通暢、便利,但同時也面臨多條線路的選擇問題。針對市場需

4、求,我們準備研制開發(fā)一個解決公交線路選擇問題的自主查詢計算機系統(tǒng),關(guān)鍵在于線路選擇的模型與算法,應(yīng)該從實際情況出發(fā)考慮,滿足查詢者的各種不同需求。具體問題如下:1、僅考慮公汽線路,給出任意兩公汽站點之間線路選擇問題的一般數(shù)學模型與算法。并根據(jù)附錄數(shù)據(jù),利用你們的模型與算法,求出以下6對起始站終到站之間的最佳路線(要有清晰的評價說明)。 (1)、S3359S1828 (2)、S1557S0481 (3)、S0971S0485(4)、S0008S0073 (5)、S0148S0485 (6)、S0087S36762、同時考慮公汽與地鐵線路,解決以上問題。3、假設(shè)又知道所有站點之間的步行時間,請你給

5、出任意兩站點之間線路選擇問題的數(shù)學模型?;緯r間參數(shù)設(shè)定:相鄰公汽站平均行駛時間(包括停站時間)相鄰地鐵站平均行駛時間(包括停站時間)公汽換公汽平均耗時/(步行時間)地鐵換地鐵平均耗時/(步行時間)公汽換地鐵平均耗時/(步行時間)地鐵換公汽平均耗時/(步行時間)時間(分鐘)32.55/(2)4/(2)6/(4)7/(4)即:換乘公汽等待分鐘,換乘地鐵等待分鐘.公汽站地鐵站(通道)公汽站.換乘耗時11分鐘:步行4+4=8分鐘, 等車3分鐘.公交票價方式基本票價參數(shù)設(shè)定:單一計價分段計價公汽1元020站:1元;2140站:2元;40站以上:3元地鐵3元(無論地鐵線路間是否換乘)公交線路及相關(guān)信息

6、(見數(shù)據(jù)文件B2007data.rar)二、問題分析: 本論文主要研究公交線路選擇的問題,即要求:a 如何換車.b 車與車之間的關(guān)系.c 滿足乘車人關(guān)心的問題: 1)換乘次數(shù)最少; 2)費用最低; 3)時間最短(初始等車時間2(3)min也不包括在內(nèi),最后結(jié)果可加 上。); . 在眾多的條件中,為了切合人們的實際需要,優(yōu)先考慮是否有直達,若無直達公汽,則我們主要從最方便、最經(jīng)濟、最快捷等出發(fā),建立以換乘次數(shù)、費用、時間為最優(yōu)的數(shù)學模型。三、模型假設(shè):1、所有公交線路的每天的工作始末時間相同;2、公汽、地鐵均到站停車;3、各公交車都運行正常,不會發(fā)生堵車現(xiàn)象;4、環(huán)線可以看作以任意站作為起點站和

7、終點站,并且是雙向的,并且經(jīng)過終點后 要重新收費;5、假設(shè)同一地鐵站對應(yīng)的任意兩個公汽站之間可以通過地鐵站換乘,且無需支付地鐵費;6、人們對換乘車次數(shù)盡量少的偏好程度總是大于對花費時間相對短和花費金錢相對少的偏好程度;7 初始等車時間2(或3)min也不包括在內(nèi);8、 同一公交線的往返路線視為兩條單行線;9、 考慮兩地鐵之間不通過公汽乘換(即只:公汽站地鐵站(通道)公汽站)。四、模型建立: 對于公交線路選擇,我們主要考、慮乘換次數(shù)、費用、時間各因素最優(yōu)。 在線路選擇問題中,將公交路線關(guān)系抽象成一個有向賦權(quán)圖,當從i可直達j時(同為公汽或地鐵站點),定義弧(i,j);其上的權(quán)為:。表示由i直達j

8、付出的代價,可以為時間或費用 (不包括換乘代價;多條線路可達時只保留最小代價); 公交乘換方式:公汽公汽,公汽地鐵,地鐵公汽,地鐵地鐵,公汽地鐵公汽。 A) i站點是公汽站點,j站點為地鐵站點:(1)若j站點對應(yīng)的所有換乘(公汽)站點k,均不能從i直達(不在i站點所在公汽線路L上),則 =;(2) 若j站點對應(yīng)的換乘(公汽)站點k, 可從i站點直達k,則費用為 = ; 注:對于時間則需要加上k到j(luò)的步行時間. (若有多種選擇,取最小成本者即可)B) j站點是公汽站點,i站點為地鐵站點:(1)若從i站點對應(yīng)的任何換乘(公汽)站點k,均不能直達j站點,則 =. (2)若從i站點對應(yīng)的換乘(公汽)站

9、點k,能直達j站點, 則費用為 =;注:對于時間則需要加上i到k的步行時間.定義:矩陣算子“”如下:設(shè)D(k-1)、D均為n階方陣, D(k) = D(k-1) D (考慮換乘代價)當考慮費用矩陣間的運算時,=0;當考慮時間矩陣間的運算時,表示在k的換乘時間。 D(k)= D(k-1)D表示k次換乘的最低代價(費用或時間),即通過修改floyd算法求解。i,j,k表示換乘時間 :i = j 或k = i,j時,i,j,k = 0其他情形:若不可換乘(當i ,j為公汽站點而k為地鐵站點,或者i ,j為地鐵站點而k為公汽站點時),則 i,j,k = 0若可換乘,則:問題一模型 : 因為僅考慮公汽線

10、路,為了能得到兩站點之間的最好選擇線路,將題中所提供的公汽網(wǎng)絡(luò)抽象成一個有向賦權(quán)圖,建立直達矩陣D =。當D為時間直達矩陣時,按D(k)= D(k-1) D式重復地進行運算得到,當,時,表示從 i站點到 j站點最少換乘k次能夠到達,且即表示換乘k次到達所需的最短時間。 當D為費用直達矩陣時,按D(k)= D(k-1) D重復地進行運算得到,運算適當次數(shù)后若 D(k)= D(k-1),則表示已得到所有站點間的最小費用,即表示從i站點到j(luò)站點所需的最少費用。 根據(jù)最少乘換次數(shù)等約束條件,再利用圖的鄰接搜索法可得出兩站點之間的選擇線路。問題二模型 : 當還需要考慮地鐵時,為了能得到兩站點之間的最好選

11、擇線路,同樣,將題中所提供的公汽(含地鐵轉(zhuǎn)換的公汽)網(wǎng)絡(luò)抽象成一個有向賦權(quán)圖,建立直達矩陣D =。算法設(shè)計基本與模型一相當。 當D為時間直達矩陣時,按D(k)= D(k-1) D式重復地進行運算得到,當,時,表示從 i站點到 j站點最少換乘k次能夠到達,且即表示換乘k次到達所需的最短時間。 當D為費用直達矩陣時,按D(k)= D(k-1) D重復地進行運算得到,運算適當次數(shù)后若 D(k)= D(k-1),則表示已得到所有站點間的最小費用,即表示從i站點到j(luò)站點所需的最少費用。根據(jù)最少乘換次數(shù)等約束條件,再利用圖的鄰接搜索法可得出兩站點之間的選擇線路。問題三模型: 問題三是在模型二的基礎(chǔ)上添加步

12、行時間進行考慮。 優(yōu)先考慮乘換次數(shù)。對直達時間矩陣按D(k)= D(k-1) D式重復地進行運算得到,當,時,表示從 i站點到 j站點最少換乘k次能夠到達。在運算過程中可記錄下?lián)Q乘站點信息,隨之可得到相關(guān)線路信息。若有若干條最小換乘路線,則比較另外兩個目標選擇最佳線路(即建立0-1整數(shù)規(guī)劃模型)。 設(shè)共有m條單行公交線,構(gòu)造一個m+2個點構(gòu)成的完全圖。 點:a為起點(出發(fā)點),b為終點(目的地),此外每條公交線也視為一個點。 邊:邊表示兩點之間的步行關(guān)系。 邊權(quán):步行時間為邊權(quán)。針對不同的邊可分為上車前、下車后和換車時步行時間,構(gòu)成步行時間矩陣 。行:依次表示的是m條公交線與起點,列:依次表示

13、的是m條公交線與終點。 點權(quán):第個公交線點還有三個信息為點權(quán)。 1)公交線名稱及上行或下行; 2)類型及票價方式; 3)乘車站數(shù)表矩陣 ,其中 表示從c到d經(jīng)過i號公交線時需要乘車的站數(shù),c到d利用不上i時取無窮大。這個矩陣的行列表示用S。 于是原問題轉(zhuǎn)化為在這個圖上求a到b的最短路。 最短的可以理解為換乘車數(shù)最少、乘車的總站數(shù)最少、總的步行時間最少、總車費最少這樣幾個目標的各種組合方式。 可以用0-1整數(shù)規(guī)劃解決這個問題,方法是分出恰乘一次公交車,恰乘兩次公交車,恰乘三次公交車等等情況分別求出下列模型解然后比較得出最優(yōu)解。 優(yōu)化模型:恰乘一次公交車的模型如下:變量全部是0-1變量,共有3*(

14、m)個。 表示選不選擇去第i條公交線的路; 表示選不選擇乘第i線公交車; 表示選不選擇從第i條公交車下車后走到目的地的路。 (它們都是取1表示選擇而取0表示不選擇。)恰乘一次公交車的模型如下: 目標函數(shù):據(jù)用戶選擇的情況用點權(quán)和邊權(quán)構(gòu)造,共同點都是最小值。 ( 1)步行時間最少: 目標函數(shù) (2)總時間最少: 目標函數(shù) 其中,(3)車費最少: 目標函數(shù): 約束條件(共2m+1個): 只選擇一條公交線; 要乘第i條公交線就要走相應(yīng)的兩條路。恰乘兩次公交車的模型如下:步行時間:時間最少:費用最少:約束條件: 可以選擇兩條公交線路; 乘公交線要走的兩條相應(yīng)的路線。恰乘乘三次公交車模型:步行時間的目標

15、函數(shù)在的基礎(chǔ)上添加;時間最少的目標函數(shù)在的基礎(chǔ)上添加;費用最少:約束條件即在的基礎(chǔ)上添加的變量即可。五、模型求解: 問題一: 由于題目所給的公交乘路信息是.txt文本文件,為了將實際問題能用數(shù)學模型來解決,我們編寫程序?qū)⑵鋵雖atlab。(程序見附錄1)。對于問題1,我們僅僅考慮公汽線路,為此,我們將所有的公汽路線與站點(3957個)關(guān)系構(gòu)成一個圖網(wǎng),為了求得最小代價的選擇路線,我們先建立起直達矩陣(程序見附錄2),再由改進floyd算法(程序見附錄3)即可求出兩公汽站點之間線路選擇的最小代價(乘換次數(shù)、時間最短、費用最少),乘換次數(shù)為主、時間最短和費用最少為次為約束條件用搜索法(見附錄程序

16、5)搜出最優(yōu)線路,具體結(jié)果如下所示:起點站終點站乘換次數(shù)時間(分鐘)車費(元)線路S3359S18281893S1557S048121123S0971S048511193S0008S00731832S0148S048521063S0087S36762523問題二: 對于問題2,我們在考慮公汽線路的同時,還需將地鐵線路(2條地鐵線路,39個地鐵站點)考慮進去,同樣,將所提供的公汽(含地鐵轉(zhuǎn)換的公汽)網(wǎng)絡(luò)抽象成一個有向賦權(quán)圖,建立直達矩陣(程序見附錄4),再由改進floyd算法(程序見附錄3)即可求出兩公汽站點之間線路選擇的最小代價(乘換次數(shù)、時間最短、費用最少),以換乘次數(shù)為主、時間最短與費用最

17、少為次為約束條件用搜索法(見附錄程序6)搜出最優(yōu)線路,具體結(jié)果如下所示:起點站終點站乘換次數(shù)時間(分鐘)車費(元)線路S3359S18281893S1557S048121123S0971S048511193S0008S00731832S0148S048521063S0087S36760503問題三: 問題3又增設(shè)了所有站點之間的步行時間,為了給出任意兩站點之間線路選擇問題的數(shù)學模型。我們則考慮大眾化的想法(優(yōu)先考慮乘換次數(shù)):1若兩個站點之間有直達的公交車,若只有一條,我們毫無條件地選擇;若不止一條,則我們可以利用模型三的優(yōu)化模型進行時間和費用的比較,取最優(yōu)解;2同理,若要經(jīng)過轉(zhuǎn)乘一次、二次等

18、轉(zhuǎn)乘情況,若轉(zhuǎn)乘線路只有一種,則選擇之;若轉(zhuǎn)乘線路有多種,則利用模型三的優(yōu)化模型進行時間和費用的比較,取最優(yōu)解。六、模型優(yōu)缺點:將公交圖網(wǎng)能用有向賦權(quán)圖并建立直達矩陣,再利用最短路算法及搜索算法得出線路選擇的最優(yōu)線路(含時間最少、費用最少等);對于第三問題中的模型,在加入步行時間后,我們能考慮到在乘換次數(shù)最少為優(yōu)先的條件下,利用優(yōu)化模型進行比較是全面些。鑒于公交系統(tǒng)網(wǎng)絡(luò)的復雜性,我們雖然采用了修改floyd算法,編譯運行上不太好,有待改進。7、 參考文獻:1蔡志杰,丁頌康 數(shù)學工程學報-公交線路選擇模型 2007年12月 1005-3085(2007)08-0117-042朱參世 一種 War

19、shall和 Fl oyd算法的優(yōu)化方法研究 2010年第四期 1006-2475(2010)04-0043-033劉韻,何建農(nóng) 基于交通網(wǎng)絡(luò)最短路徑搜索的改進算法 2007年 1002-8331(2007)14-0220-03附錄:function A = T_SORT( A ,n , p ) %建立排序函數(shù)% T_SORT( A ,n , p )% A 根據(jù)第n行排序% p=1升序,2 降% powered_BY_*SIZE=size(A);if p=1xx,idx=sort(A(n,:);for i=1:SIZE(1)A(i,:)=A(i,idx);endelseif p=2xx,idx

20、=sort(A(n,:),'descend');for i=1:SIZE(1)A(i,:)=A(i,idx);endend1、%數(shù)據(jù)處理讀入matlab:%讀取數(shù)據(jù) clear L a fid = fopen('1.1 公汽線路信息.txt','r'); i=1; while 1 tline = fgetl(fid); if ischar(tline), break, end if strcmp(tline,'') continue end if strcmp(tline(1),'L') str=tline; co

21、ntinue elseif strcmp(tline,'END') break end if strcmp(tline,'單一票制1元。') P=1; continue elseif strcmp(tline,'分段計價。') P=2; continue end if strcmp(tline(1:2),'上行') Li,1=str; Li,2=P; Li,3='上行' Li,4=tline(4:end); i=i+1; continue elseif strcmp(tline(1:2),'下行')

22、 Li,1=str; Li,2=P; Li,3='下行' Li,4=tline(4:end); i=i+1; continue elseif strcmp(tline(1:2),'環(huán)行') Li,1=str; Li,2=P; Li,3='環(huán)行1' Li,4=strcat(tline(4:end),tline(10:end); i=i+1; %計算來回 Li,1=str; Li,2=P; Li,3='環(huán)行2' Li,4=strcat(tline(4:end),tline(10:end); i=i+1; continue elseif

23、 strcmp(tline(1),'S') Li,1=str; Li,2=P; Li,3='來回1' Li,4=tline; i=i+1; %計算來回 Li,1=str; Li,2=P; Li,3='來回2' Li,4=tline; i=i+1; continue end endfclose(fid);for i=1:size(L,1) tline=Li,4; t=findstr(tline,'S'); temp=zeros(1,length(t); if strcmp(Li,3,'來回2') | strcmp(L

24、i,3,'環(huán)行2') for j=length(t):-1:1 temp(length(t)-j+1)=str2double(tline(t(j)+1:t(j)+4); end else for j=1:length(t) temp(j)=str2double(tline(t(j)+1:t(j)+4); end end L2i,1=temp; end for i=1:3957 if floor(i/10)=0 Citi=strcat('S000',num2str(i); elseif floor(i/100)=0 Citi=strcat('S00'

25、;,num2str(i); elseif floor(i/1000)=0 Citi=strcat('S0',num2str(i); else Citi=strcat('S',num2str(i); end end Cit3958='D01:S0567,S0042,S0025' Cit3959='D02:S1487' Cit3960='D03:S0303,S0302' Cit3961='D04:S0566' Cit3962='D05:S0436,S0438,S0437,S0435' C

26、it3963='D06:S0392,S0394,S0393,S0391' Cit3964='D07:S0386,S0388,S0387,S0385' Cit3965='D08:S3068,S0617,S0619,S0618,S0616' Cit3966='D09:S1279' Cit3967='D10:S2057,S0721,S0722,S0720' Cit3968='D11:S0070,S2361,S3721' Cit3969='D12:S0609,S0608' Cit3970=&

27、#39;D13:S2633,S0399,S0401,S0400' Cit3971='D14:S3321,S2535,S2464' Cit3972='D15:S3329,S2534' Cit3973='D16:S3506,S0167,S0168' Cit3974='D17:S0237,S0239,S0238,S0236,S0540' Cit3975='D18:S0668' Cit3976='D19:S0180,S0181' Cit3977='D20:S2079,S2933,S1919,

28、S1921,S1920' Cit3978='D21:S0465,S0467,S0466,S0464' Cit3979='D22:S3457' Cit3980='D23:S2512' Cit3981='D24:S0537,S3580' Cit3982='D25:S0526,S0528,S0527,S0525' Cit3983='D26:S3045,S0605,S0607' Cit3984='D27:S0087,S0088,S0086' Cit3985='D28:S085

29、5,S0856,S0854,S0857' Cit3986='D29:S0631,S0632,S0630' Cit3987='D30:S3874,S1426,S1427' Cit3988='D31:S0211,S0539,S0541,S0540' Cit3989='D32:S0978,S0497,S0498' Cit3990='D33:S1894,S1896,S1895' Cit3991='D34:S1104,S0576,S0578,S0577' Cit3992='D35:S3010,

30、S0583,S0582' Cit3993='D36:S3676,S0427,S0061,S0060' Cit3994='D37:S1961,S2817,S0455,S0456' Cit3995='D38:S3262,S0622' Cit3996='D39:S1956,S0289,S0291'2、%建立公汽間的直達矩陣clear SS(1:3957,1:3957)=zeros(1,1,'uint16');%按UInt16格式 建立1行1 列的零巨陣for i=1:1040 t=L2i,1; for j=1:l

31、ength(t)-1 for k=j+1:length(t) temp=St(j),t(k); str=Li,1; n,m=size(temp); if n=1 && temp(1,1)=0 temp(n,1)=str2double(str(2:end); if Li,2=2 if (k-j)>40 temp(n,2)=3; elseif (k-j)>20 temp(n,2)=2; else temp(n,2)=1; end else temp(n,2)=1; end temp(n,3)=k-j; else temp(n+1,1)=str2double(str(2:

32、end); if Li,2=2 if (k-j)>40 temp(n+1,2)=3; elseif (k-j)>20 temp(n+1,2)=2; else temp(n+1,2)=1; end else temp(n+1,2)=1; end temp(n+1,3)=k-j; end St(j),t(k)=temp; end endendfor i=1:3957 for j=1:3957 if length(Si,j)=1 Si,j=T_SORT(Si,j',3,1)' end endendTime=zeros(3957,3957,'uint8');

33、for i=1:3957 for j=1:3957 if length(Si,j)=1 Time(i,j)=size(Si,j,1); end endendTT=zeros(3957,3957,'uint8');for i=1:3957 for j=1:3957 temp=Si,j; if temp(1,1)=0 TT(i,j)=temp(1,3); end endEnd%時間、費用的直達矩陣(換乘直達線路數(shù)矩陣)ee,rr=size(S); ss=zeros(ee); for i=1:ee for j=1:rr if Si,j=0 ss(i,j)=length(Si,j(:,

34、1); end end end for i=1:ee for j=1:rr if ss(i,j)=0; ss(i,j)=Inf; end end end for i=1:ee for j=1:rr if i=j; ss(i,j)=0; end end end2.2 (間直達矩陣)ee,rr=size(S); ttt=zeros(ee); for i=1:ee for j=1:rr if Si,j=0 ttt(i,j)=min(Si,j(:,3); end end end for i=1:ee for j=1:rr if ttt(i,j)=0; ttt(i,j)=Inf; end end end

35、 for i=1:ee for j=1:rr if i=j; ttt(i,j)=0; end end end2.3 (費用直達矩陣)ee,rr=size(S); ppp=zeros(ee); for i=1:ee for j=1:rr if Si,j=0 ppp(i,j)=min(Si,j(:,2); end end end for i=1:ee for j=1:rr if ppp(i,j)=0; ttt(i,j)=Inf; end end end for i=1:ee for j=1:rr if i=j; ppp(i,j)=0; end end end3、%算子算法function D,pa

36、th,k,min1,path1=floyd(a,start,terminal)D=a;n=size(D,1);path=zeros(n,n); for i=1:n for j=1:n if D(i,j)=inf path(i,j)=j; end, end, endwhile 1<=j<=nfor k=1:n DO(k,j)=D(k,j); endendfor k=1:n for i=1:n for j=1:n if D(i,k)+DO(k,j)<D(i,j) D(i,j)=D(i,k)+DO(k,j); path(i,j)=path(i,k); end if D(i,k-1)

37、+DO(k-1,j)<D(i,j) D(i,j)=inf; if D(i,k)+DO(k,j)<D(i,j) D(i,j)=inf; k end,end end endendif nargin=3 min1=D(start,terminal); m(1)=start; i=1; path1= ; while path(m(i),terminal)=terminal k=i+1; m(k)=path(m(i),terminal); i=i+1; end m(i+1)=terminal; path1=m;end4、%考慮地鐵的直達矩陣fid = fopen('B2007data

38、/2.1 地鐵T1線換乘公汽信息.txt','r'); i=1; while 1 tline = fgetl(fid); if ischar(tline), break, end if strcmp(tline,'') continue end if strcmp(tline(1),'D') Di,1=tline(5:end); i=i+1; end end fclose(fid); fid = fopen('B2007data/2.2 地鐵T2線換乘公汽信息.txt','r'); while 1 tlin

39、e = fgetl(fid); if ischar(tline), break, end if strcmp(tline,'') continue end if strcmp(tline(1),'D') Di,1=tline(5:end); i=i+1; end end fclose(fid); tx=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,. 26,12,27,28,29,30,31,32,18,33,34,35,36,37,38,39+3957; DL1,1='

40、;' DL2,1='' for j=1:23 DL1,1=strcat(DL1,1,'S',num2str(tx(j); end for j=24:41 DL2,1=strcat(DL2,1,'S',num2str(tx(j); end DL2,1=strcat(DL2,1,'S',num2str(tx(24); for i=1:1040 for j=1:41 tline=Dj,1; t=findstr(tline,'S'); for k=1:length(t) Li,4=regexprep(Li,4, s

41、trcat('S',tline(t(k)+1:t(k)+4),. strcat('S',num2str(tx(j); end end end Lt1=L; Lt11041,1='T001' Lt11041,2=3; Lt11041,3='來回1' Lt11041,4=DL1,1; Lt11042,1='T001' Lt11042,2=3; Lt11042,3='來回2' Lt11042,4=DL1,1; Lt11043,1='T002' Lt11043,2=3; Lt11043,3=

42、'環(huán)行1' Lt11043,4=strcat(DL2,1,DL2,1(6:end); Lt11044,1='T002' Lt11044,2=3; Lt11044,3='環(huán)行2' Lt11044,4=strcat(DL2,1,DL2,1(6:end); for i=1:1044 tline=Lt1i,4; t=findstr(tline,'S'); temp=zeros(1,length(t); if strcmp(Lt1i,3,'來回2') | strcmp(Lt1i,3,'環(huán)行2') for j=length(t):-1:1 temp(length(t)-j+1)=str2double(tline(t(j)+1:t(j)+4); end else for j=1:length(t) temp(j)=str2double(tline(t(j)+1:t(j)+4); end end Lt2i,1=temp; end5、N=87; M=3676; % 直達 if Time(N,M)=0 temp=SN,M; for i=1:size(temp,1) disp(strcat('直達車為:L',num2str(temp(i,1)

溫馨提示

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

評論

0/150

提交評論