一種既有鐵路平面曲線擬合的計(jì)算方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及鐵路設(shè)計(jì)技術(shù)領(lǐng)域,特別涉及一種既有鐵路平面曲線擬合的計(jì)算方法。
【背景技術(shù)】
[0002]既有鐵路(已經(jīng)建成通車的鐵路)經(jīng)過長期運(yùn)營后會(huì)發(fā)生不規(guī)則變形,從而影響行車速度和行車安全。為了對(duì)既有鐵路進(jìn)行曲線整正,需要根據(jù)以各測(cè)點(diǎn)的撥距值的平方和最小或絕對(duì)值之和最小作為設(shè)計(jì)條件,擬合出最佳的平面曲線,并計(jì)算出各個(gè)點(diǎn)的撥距
Mo
[0003]在現(xiàn)有技術(shù)中,通常采用偏角法和坐標(biāo)法來進(jìn)行平面曲線的擬合,其中,偏角法源于漸伸線法計(jì)算原理。在該方法中,由于是以弦長代替弧長,因此具有一定的近似性誤差且沒有理論嚴(yán)密的計(jì)算公式,所以使得誤差具有隱蔽性。而相對(duì)于傳統(tǒng)的漸伸線法,坐標(biāo)法則具有理論嚴(yán)密、測(cè)量計(jì)算成果精度高等優(yōu)點(diǎn)。但是,該方法對(duì)于數(shù)據(jù)點(diǎn)的間距以及數(shù)據(jù)采集格式有較高的要求,并且在對(duì)緩和曲線以及半徑進(jìn)行自動(dòng)最佳匹配時(shí),存在對(duì)半徑和緩和曲線長的初始值依賴性較高、收斂速度慢、適用范圍窄的等問題。
[0004]由此可知,現(xiàn)有技術(shù)中的既有鐵路的平面曲線的擬合方法具有如上所述的缺點(diǎn)或問題,因此亟待提出一種更好的既有鐵路的平面曲線的擬合方法。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種既有鐵路平面曲線擬合的計(jì)算方法,從而可以自動(dòng)、快速地?cái)M合出最符合實(shí)際線形的平面曲線,而且收斂速度快、計(jì)算效率和計(jì)算精度高、適應(yīng)性強(qiáng)。
[0006]本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的:
[0007]一種既有鐵路平面曲線擬合的計(jì)算方法,該方法包括:
[0008]步驟101,初始化既有線路的半徑并確定最大迭代次數(shù);
[0009]步驟102,根據(jù)所述初始化半徑Rto和緩長L,在所述既有線路的預(yù)設(shè)第一范圍內(nèi)構(gòu)造遺傳算法的初始化種群;
[0010]步驟103,從當(dāng)前種群中選取一條未計(jì)算過的曲線作為當(dāng)前曲線,逐個(gè)計(jì)算所述當(dāng)前曲線中的各個(gè)測(cè)點(diǎn)的撥距量;
[0011]步驟104,判斷當(dāng)前測(cè)點(diǎn)的撥距量Ai是否滿足預(yù)設(shè)的迭代條件;如果是,執(zhí)行步驟105 ;否則,執(zhí)行步驟106 ;
[0012]步驟105,判斷當(dāng)前測(cè)點(diǎn)是否為當(dāng)前曲線中最后一個(gè)未計(jì)算的測(cè)點(diǎn),如果是,執(zhí)行步驟106 ;否則,將下一個(gè)測(cè)點(diǎn)作為當(dāng)前測(cè)點(diǎn),計(jì)算當(dāng)前測(cè)點(diǎn)的撥距量;返回執(zhí)行步驟104 ;
[0013]步驟106,判斷當(dāng)前曲線是否為種群中最后一個(gè)未計(jì)算的曲線,如果是,執(zhí)行步驟107;否則,返回執(zhí)行步驟103;
[0014]步驟107,對(duì)于種群內(nèi)剩余的每一條曲線,計(jì)算各個(gè)測(cè)點(diǎn)的撥距量的絕對(duì)值之和Σ ;以最小Σ為目標(biāo)函數(shù),選取新一代種群的最優(yōu)曲線;
[0015]步驟108,判斷當(dāng)前迭代次數(shù)是否為最大迭代次數(shù),如果是,輸出所選取的最優(yōu)曲線;否則,將所選取的最優(yōu)曲線與上一代種群合并作為當(dāng)前種群,并返回執(zhí)行步驟103。
[0016]較佳的,所述初始化既有線路的半徑包括:
[0017]根據(jù)既有線路中部預(yù)設(shè)的第二范圍內(nèi)的測(cè)點(diǎn)數(shù)據(jù),采用最小二乘法初始化既有線路的半徑,得到初始化半徑Rto。
[0018]較佳的,所述預(yù)設(shè)的第二范圍是(int(0.3*S) — int (0.7*S));
[0019]其中,int表示取整操作,S表示所述既有線路的總長度。
[0020]較佳的,所述確定最大迭代次數(shù)包括:
[0021]以預(yù)設(shè)的第三范圍作為半徑搜索范圍Sf,并設(shè)置搜索步長Sb;
[0022]根據(jù)所述半徑搜索范圍和搜索步長確定最大迭代次數(shù)N。
[0023]較佳的,根據(jù)如下所述的公式確定最大迭代次數(shù)N:N = int (SF/SB)
[0024]其中,int表示取整操作;
[0025]較佳的,所述預(yù)設(shè)的第三范圍為:(? - 200m,R初+200m)。
[0026]較佳的,所述搜索步長為:小于或等于1000的任意整數(shù)。
[0027]較佳的,所述預(yù)設(shè)第一范圍為O?500米。
[0028]較佳的,所述逐個(gè)計(jì)算所述當(dāng)前曲線中的各個(gè)測(cè)點(diǎn)的撥距量包括:
[0029]根據(jù)所述當(dāng)前曲線的各個(gè)測(cè)點(diǎn)坐標(biāo),從起始點(diǎn)開始,根據(jù)各個(gè)測(cè)點(diǎn)所在的初始里程,分多段分別計(jì)算各個(gè)測(cè)點(diǎn)到設(shè)計(jì)曲線的距離,得到測(cè)點(diǎn)的撥距量。
[0030]較佳的,所述多段為5段:第一直線段、第一緩和曲線、圓曲線、第二緩和曲線和第二直線段。
[0031]較佳的,該方法還進(jìn)一步包括:
[0032]在計(jì)算第一緩和曲線和第二緩和曲線區(qū)域內(nèi)各個(gè)測(cè)點(diǎn)的撥距量時(shí),根據(jù)各個(gè)測(cè)點(diǎn)之間的間距累積之和計(jì)算得到各個(gè)測(cè)點(diǎn)的初始里程L。;
[0033]在各個(gè)測(cè)點(diǎn)的初始里程L。的前后2m范圍內(nèi),使用二分法進(jìn)行快速迭代計(jì)算,得到各個(gè)測(cè)點(diǎn)的撥距量。
[0034]較佳的,所述迭代條件包括:
[0035]當(dāng)前測(cè)點(diǎn)的撥距量Ai大于預(yù)設(shè)的獨(dú)立撥距控制量Λ d;并且,
[0036]當(dāng)前曲線中已計(jì)算的測(cè)點(diǎn)中的第一類測(cè)點(diǎn)的數(shù)目與該當(dāng)前曲線中測(cè)點(diǎn)總數(shù)的比值小于預(yù)設(shè)比例值;
[0037]其中,所述第一類測(cè)點(diǎn)為滿足如下所述條件的測(cè)點(diǎn):計(jì)算得到的測(cè)點(diǎn)的撥距量Λ i與預(yù)設(shè)的撥距限差A(yù)r的差值ε大于O。
[0038]較佳的,所述獨(dú)立撥距控制量AJ3 50mm ;所述撥距限差Δ _為10mm ;所述預(yù)設(shè)比例值為10%。
[0039]如上可見,在本發(fā)明中的既有鐵路平面曲線擬合的計(jì)算方法中,以各測(cè)點(diǎn)的撥距值絕對(duì)值之和最小(即最小Σ)作為目標(biāo)函數(shù),采用改進(jìn)的遺傳算法(GA算法),對(duì)半徑和緩長進(jìn)行優(yōu)化設(shè)計(jì),其中,在計(jì)算緩和曲線區(qū)域內(nèi)點(diǎn)的撥距量時(shí),使用固定范圍內(nèi)的二分法(時(shí)間復(fù)雜度為log2n)進(jìn)行快速迭代計(jì)算,因此可以從初始化后的群體中,自動(dòng)、快速地?cái)M合出最符合實(shí)際線形的平面曲線(即具有最優(yōu)半徑和緩長的平面曲線),還可以在初始參數(shù)的設(shè)置中,進(jìn)行半徑和緩長的單獨(dú)設(shè)置,從而可以有效地降低對(duì)圓曲線半徑R初始值的依賴,不需要預(yù)先初始化緩長L,能夠滿足單個(gè)點(diǎn)的撥距限值要求,同時(shí)收斂速度快、計(jì)算效率和計(jì)算精度高、適應(yīng)性強(qiáng)。
【附圖說明】
[0040]圖1為本發(fā)明實(shí)施例中的既有鐵路平面曲線擬合的計(jì)算方法的流程示意圖。
【具體實(shí)施方式】
[0041]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
[0042]本實(shí)施例提供了一種既有鐵路平面曲線擬合的計(jì)算方法。
[0043]圖1為本發(fā)明實(shí)施例中的既有鐵路平面曲線擬合的計(jì)算方法的流程示意圖。如圖1所示,本發(fā)明實(shí)施例中的既有鐵路平面曲線擬合的計(jì)算方法主要包括如下所述的步驟:
[0044]步驟101,初始化既有線路的半徑并確定最大迭代次數(shù)。
[0045]在本步驟中,將初始化既有線路的半徑并確定最大迭代次數(shù)。
[0046]其中,在本發(fā)明的技術(shù)方案中,所述既有線路的半徑的初始化有多種實(shí)現(xiàn)方式。
[0047]例如,較佳的,在本發(fā)明的具體實(shí)施例中,所述初始化既有線路的半徑包括:
[0048]根據(jù)既有線路中部預(yù)設(shè)的第二范圍內(nèi)的測(cè)點(diǎn)數(shù)據(jù),采用最小二乘法初始化既有線路的半徑,得到初始化半徑Rto。
[0049]較佳的,在本發(fā)明的具體實(shí)施例中,所述預(yù)設(shè)的第二范圍可以是(int(0.3*S) — int(0.7*S));其中,int表示取整操作,S表示所述既有線路的總長度。
[0050]當(dāng)然,在本發(fā)明的其它具體實(shí)施例中,所述預(yù)設(shè)的第二范圍也可以根據(jù)實(shí)際應(yīng)用情況預(yù)先設(shè)置為其它的數(shù)值范圍,在此不再贅述。
[0051]另外,在本發(fā)明的技術(shù)方案中,所述最大迭代次數(shù)的確定方法也可有多種實(shí)現(xiàn)方式。
[0052]例如,較佳的,在本發(fā)明的具體實(shí)施例中,所述確定最大迭代次數(shù)包括:
[0053]以預(yù)設(shè)的第三范圍作為半徑搜索范圍SF,并設(shè)置搜索步長Sb;
[0054]根據(jù)所述半徑搜索范圍和搜索步長確定最大迭代次數(shù)N。
[0055]較佳的,在本發(fā)明的具體實(shí)施例中,可以根據(jù)如下所述的公式確定最大迭代次數(shù)N:
[0056]N= int (SF/Sb)
[0057]其中,int表示取整操作。
[0058]在本發(fā)明的技術(shù)方案中,所述預(yù)設(shè)的第三范圍和搜索步長都可以根據(jù)實(shí)際應(yīng)用情況而預(yù)先設(shè)置。
[0059]例如,較佳的,在本發(fā)明的具體實(shí)施例中,所述預(yù)設(shè)的第三范圍為:
[0060](Rft - 200m,R初 +200m)。
[0061]例如,較佳的,在本發(fā)明的具體實(shí)施例中,所述搜索步長為:小于或等于1000的任意整數(shù)。
[0062]另外,在本發(fā)明的技術(shù)方案中,可以不對(duì)緩和曲線進(jìn)行初始化,從而避免對(duì)緩和曲線長度(簡稱緩長,下同)的優(yōu)化陷入局部最優(yōu)。
[0063]步驟102,根據(jù)所述初始化半徑Rto和緩長L,在所述既有線路的預(yù)設(shè)第一范圍內(nèi)構(gòu)造遺傳算法的初始化種群。
[0064]例如,較佳的,在本發(fā)明的具體實(shí)施例中,所述預(yù)設(shè)第一范圍為O?500米(m)。
[0065]此時(shí),所述緩長L可以以預(yù)設(shè)長度(例如,1m)為倍數(shù)(譬如,10m,20m,30m、……),在上述既有線路的O?500m范圍內(nèi)和每一個(gè)初始化半徑Rto進(jìn)行匹配,從而可以構(gòu)成50個(gè)遺傳算法的初始化種群。
[0066]步驟103,從當(dāng)前種群中選取一條未計(jì)算過的曲線(R-L)作為當(dāng)前曲線,逐個(gè)計(jì)算該當(dāng)前曲線中的各個(gè)測(cè)點(diǎn)的撥距量。
[0067]在本發(fā)明的技術(shù)方案中,將對(duì)種群中的每一條曲線,逐個(gè)計(jì)算各條曲線中的各個(gè)測(cè)點(diǎn)的撥距量。
[0068]例如,較佳的,在本發(fā)明的具體實(shí)施例中,所述逐個(gè)計(jì)算該當(dāng)前曲線中的各個(gè)測(cè)點(diǎn)的撥距量包括:
[0069]根據(jù)該當(dāng)前曲線的各個(gè)測(cè)點(diǎn)坐標(biāo),從起始點(diǎn)開始,根據(jù)各個(gè)測(cè)點(diǎn)所在的初始里程,分多段分別計(jì)算各個(gè)測(cè)點(diǎn)到設(shè)計(jì)曲線的距離,得到測(cè)點(diǎn)的撥距量。