两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

考慮交叉口轉向的最短路徑拍賣算法的制作方法

文檔序號:6697697閱讀:260來源:國知局
專利名稱:考慮交叉口轉向的最短路徑拍賣算法的制作方法
技術領域
本發(fā)明涉及對道路最短路徑網絡表示方法改進中的一種考慮交叉口轉向的最短路徑拍賣算法。

背景技術
最短路徑拍賣算法是通過反復的迭代最終得到給定兩點之間的最短路徑,迭代過程并不使用到網絡中的所有點,避免了傳統(tǒng)算法須先求解最短路徑樹的繁瑣,并且更加適合于多線程的并行計算,可快速求出單一起、終點問題。
但是目前,不論是在交通規(guī)劃中利用最短路進行交通量分配,還是在導航系統(tǒng)中求解最短行車路線,普遍采用的最短路徑算法是以無約束網絡條件為前提的。在無約束道路網絡中,車輛通過交叉口時所產生的延誤或在交叉口的禁止轉向限制是被忽略的。然而,實際道路網絡是有限制條件的網絡,主要表現在 (1)由交通管理措施產生的交叉口轉向限制,如在某些交叉口禁止車輛左轉彎,路段單行限制等。
(2)由于不同流向車流之間的干擾和信號控制手段產生的交叉口轉向延誤,例如,由于各行駛方向信號燈配時的不同時,相同進口道直行、左轉車輛的延誤也不相同。
在計算這類最短路徑時的主要困難就是難以用一個經濟、緊湊且易于管理的方法表示道路網絡。傳統(tǒng)的方法是將每一個交叉口擴展為一個子網,以路段表示轉向行為,擴展后的網絡不再涉及交叉口約束,并可以用任何標準的算法求解最短路徑。但是,這種方法存在著占用空間多、修改復雜、冗余度高等主要缺點,例如僅對于普通的四路交叉口,將被擴展為一個包含8個結點和16條路徑的子網絡。


發(fā)明內容
本發(fā)明要解決的技術問題是針對背景技術中存在的缺陷而提出一種基于擴展前向星型結構的考慮交叉口轉向的最短路徑拍賣算法。
本發(fā)明的考慮交叉口轉向的最短路徑拍賣算法,包括如下步驟 對于有向網絡G(V,E,A,D) (1)給定路徑起點r和終點s,在價格矢量p中為路徑起點r增設虛擬上游結點0; (2)初始化路徑P和價格矢量p P=(r),pl,k=0,k∈Γ-1(l) pr,0=0 (3)取路徑P的末結點表示為結點i,選擇結點i的下游結點j,當時,如果滿足條件進入步驟A,否則進入步驟B A.收縮路徑令收縮路徑P,轉到下一個迭代過程,其中收縮路徑P是指當路徑P不僅包含路徑起點r時,移除此時路徑P中的末結點,當路徑P僅包含路徑起點r時,路徑P保持不變; B.延伸路徑通過第二結點ji來延伸路徑P,如果第二結點ji是終點s,則迭代終止,P就是要求的最短路徑,否則轉入下一個迭代過程; (4)重復步驟(3),直到算法推出,此時,路徑P即為路徑起點r和終點s之間的最短路徑,最短路徑長度等于pi,h-pr,0; 其中V-所有結點集合;E-路段的集合;A-路段費用集合;D-交叉口轉向費用集合;i-路徑P的末結點,j-結點i的下游結點,k、l-網絡中任意結點,h-結點i的上游結點,h∈Γ-1(i),i、j、h均為自然數;Γ-1(l)-結點l的上游結點集合;Γ-1(i)-結點i的上游結點結合;aij-路段(i,j)的行駛費用,aij∈A;(i,j)-從結點i指向其下游結點j的有向路段,(i,j)∈E;(h,i,j)-由結點i與其上游結點h和下游結點j三者唯一確定的在結點i處的轉向動作;dh,i,j-轉向動作(h,i,j)對應的轉向費用,dh,i,j∈D;ji-{aij+pj,i+dh,i,j}中最小和值對應的下游結點j;pl,k-結點l處以k為上游結點價值量;pr,0-起點r處以0為虛擬上游結點價值量;pi,h-結點i處以h為上游結點價值量;pj,i-結點j處以i為上游結點價值量。
與現有技術相比,本發(fā)明具有如下有益效果1、本發(fā)明提供的擴展星型網絡結構是一種數據存儲空間更優(yōu)的拓撲數據結構,能夠大大減少內存占用空間,且便于網絡信息的更新;2、本發(fā)明能夠準確求解附加交叉口轉向延誤和轉向限制的網絡最短路徑,并且能以最高效的方式從上述星型結構中檢索網絡信息;3、本發(fā)明能夠求解任何因禁行限制而產生的復雜最短路徑,如最短路徑中包含交叉口“P型”轉向和車輛掉頭的情況;4、本發(fā)明采用二維價格矢量,允許算法在迭代過程中對同一結點的不同轉向行為加以區(qū)別,符合求解限制網絡最短路徑問題的基本條件;5、本發(fā)明繼承了原拍賣算法的迭代原理,對價格矢量做合理的擴展,同樣適用于多處理器的并行計算,保留了拍賣算法的基本特性。



圖1是本發(fā)明中擴展前向星型結構示意圖。
圖2是一幅簡單的有向網絡示例示意圖。
圖3是本發(fā)明有向網絡中結點的上游結點列表。
圖4是本發(fā)明中對價格矢量擴展示意圖。
圖5是本發(fā)明中各變量與價格矢量的關系。
圖6是含有“P型”轉向的有向網絡示意圖。

具體實施例方式 在求解網絡最短路徑問題時,網絡的表示方式直接影響到算法的運算效率。如圖1所示擴展的前向星型結構(Extend Forward Star Structure,簡稱EFSS結構)是一種較為經典的限制網絡表示方法。該結構是一種鏈表結構,在原有的星型結構基礎之上,加以擴展,加入了對交叉口轉向延誤的存儲,并方便檢索。為了提高算法對網絡信息的查找速度,本文將給出如表1所示的數據結構。這是一種擴展的前向關聯星型結構,統(tǒng)一以費用綜合表示車輛通過路段或在交叉口轉向時消耗的時間和受到的阻抗。其中,“Penalties”列為擴展列,存儲對應路段(i,j)在結點j可能產生的轉向費用。這些轉向費用的排列順序與結點j的“PointedNodes”列排列一致,并可以通過建立路網中所有結點的前向結點列表進行關聯。作為EFSS結構中的擴展部分,它由n+1個子列組成。n表示“Pointed Nodes”列中同行結點j的出度(即以結點j為起點的路段數),“Penalties”中前n子列分別表示從結點i出發(fā),經過結點j,并做轉向k所產生的費用。而可執(zhí)行轉向動作k的數量就等于結點j的下游結點數n,這就建立了兩者之間的一一對應關系。通過對應關系可以確定“Penalties”中子列的數量和順序。對于“Penalties”中的第n+1列,賦予0值,用來表示路徑以結點j為終點時產生的轉向費用(在終點處無轉向)。例如,如圖2所示的有向網絡,建立表2所示的網絡數據結構。以轉向動作(1,2,4)為例,其在數據表中的位置為a1,2所在行,根據結點1位于結點2前向列表的第1位,在“轉向費用”列中可以讀取d1,2,4=3。對于“Penalties”列的最后一位,存儲費用0,表示以結點j為終點時,在結點j處的轉向費用,即沒有轉向行為,這是為了便于計算的程序化。
表1有向網絡加入轉向費用的數據結構表示
表2擴展的前向星型結構表示方法
根據原始拍賣算法定義在給定一個有向網絡G(V,E)中,V、E分別表示G中的結點集合和路段集合,路段(i,j)的長度為aij。用1表示起點,t表示終點,(i1,i2,...,ik)表示一條路徑,其中(im,im+1)表示從結點im到結點im+1,如果i1,i2,…,ik各不相同,則(i1,i2,...,ik)稱為初等路,結點ik為該初等路的終點,所有路段的長度之和就是路徑的長度。在迭代中,算法始終保持一條初等路P=(i1,i2,...,ik),并不斷延伸和收縮。如果ik+1不是路徑P=(i1,i2,...,ik)中的結點,并且存在路段(ik,ik+1),則用結點ik+1來延伸P,是指用路徑(i1,i2,...,ik,ik+1)來代替路徑P;如果路P不只包含起點1,收縮P是指用路徑(i1,i2,...,ik-1)來代替路徑P。同時,算法對網絡中的每一個結點i,分配一個價值量pi,并以價格矢量p表示所有結點價值的集合。在迭代過程中,價格矢量p要滿足如下條件 pi≤aij+pj, pi=aij+pj,對于路徑P上的連續(xù)結點對 這一條件稱為松弛互補性條件(Complementary Slackness,簡稱CS條件)??梢宰C明,如果(P,p)滿足CS條件,i是P中的點,則從起點1沿P到結點i的路是從1到i的最短路,并且p1-pi就是相應的最短路長度。
原始拍賣算法的關鍵步驟在于每一步迭代中對條件的判斷,以決定路徑P是否延伸或收縮。在限制網絡中,任何車輛在交叉口的轉向行為可以由該交叉口所在結點i、行駛路線的上游結點h和通過交叉口后的下游結點j三者唯一確定的,表示為(h,i,j)。以dh,i,j表示該轉向行為的轉向費用。這樣在每一步迭代中,都可以用已知的h,i,j三點檢索車輛通過當前交叉口所產生的轉向費用。由此,可以建立起轉向費用與轉向行為的唯一對應關系。因此,考慮轉向費用后的判斷條件可寫作 其中h為路徑P中結點i的上游結點; 同理,對于拍賣算法的CS條件,可以擴展為 pi≤aij+pj+dh,i,j, pi=aij+pj+dh,i,j,對于P上的連續(xù)結點對 經過如上修改后,在原有拍賣算法中加入了對交叉口轉向費用的考慮。對于交叉口的轉向限制,則可以用無窮大或足夠大的轉向費用來表示該轉向行為被禁止的。
進一步,為了能夠正確處理最短路徑中的結點與價格矢量之間的對應關系,并能夠完成復雜路徑,例如圖6所示的含有P型轉向的有向網絡的迭代,算法將對價格矢量p的結構和路徑P的延伸作如下修改 將一維的價格矢量p擴展為二維矢量,對于每一結點的子列,用于存儲對應不同上游結點的價值量,其列數等于上游結點個數。pj,k表示在結點j處以k為上游結點價值量,k∈Γ-1(j)。如圖4所示是對圖2有向網絡的價格矢量的擴展方法示意圖,各結點價值量的擴展數量和排列順序,應當按照圖3所示的網絡上游結點列表設置。對于起點(結點1),在最短路徑中是沒有上游結點的,為了在計算過程中便于對起點處的轉向費用dh,i,j取值,對起點增設上游結點0(結點0實際并不存在),令dh,0,1=0,并且新增加價值量p1,0存放起點的價格矢量。本例中的結點1不存在上游結點,因此在增設結點0后,結點1對應的價值量為1列;而對于有n個上游結點起點1,在增加上游結點0后,對應的價值量應當被增加至n+1列。
此外,任意兩點間的最短路徑中,都不可能出現重復的子路線。算法迭代過程中,在路徑P在延伸時,應當排除重復出現的路段。為此,在算法每一步的判斷過程中,須排除對于(i,j)∈P的下游結點j的計算。
價格矢量與各變量之間的關系如圖5所示。
綜上,本發(fā)明的考慮交叉口轉向的最短路徑拍賣算法,包括如下步驟 對于有向網絡G(V,E,A,D) (1)給定路徑起點r和終點s,在價格矢量p中為路徑起點r增設虛擬上游結點0; (2)初始化路徑P和價格矢量p P=(r),pl,k=0,k∈Γ-1(l) pr,0=0 (3)取路徑P的末結點表示為結點i,選擇結點i的下游結點j,當時,如果滿足條件進入步驟A,否則進入步驟B A.收縮路徑令收縮路徑P,轉到下一個迭代過程,其中收縮路徑P是指當路徑P不僅包含路徑起點r時,移除此時路徑P中的末結點,當路徑P僅包含路徑起點r時,路徑P保持不變; B.延伸路徑通過第二結點ji來延伸路徑P,如果第二結點ji是終點s,則迭代終止,P就是要求的最短路徑,否則轉入下一個迭代過程; 其中收縮路徑和延伸路徑依據以下松弛互補條件 pi,h≤aij+pj,i+dh,i,j, pi,h=aij+pj,i+dh,i,j,對于路徑P上的連續(xù)結點對 (4)重復步驟(3),直到算法推出,此時,路徑P即為路徑起點r和終點s之間的最短路徑,最短路徑長度等于pi,h-pr,0; 其中V-所有結點集合;E-路段的集合;A-路段費用集合;D-交叉口轉向費用集合;i-路徑P的末結點,j-結點i的下游結點,k、l-網絡中任意結點,h-結點i的上游結點,h∈Γ-1(i),i、j、h均為自然數;Γ-1(l)-結點l的上游結點集合;Γ-1(i)-結點i的上游結點結合;aij-路段(i,j)的行駛費用,aij∈A;(i,j)-從結點i指向其下游結點j的有向路段,(i,j)∈E;(h,i,j)-由結點i與其上游結點h和下游結點j三者唯一確定的在結點i處的轉向動作;dh,i,j-轉向動作(h,i,j)對應的轉向費用,dh,i,j∈D;ji-{aij+pj,i+dh,i,j}中最小和值對應的下游結點j;pl,k-結點l處以k為上游結點價值量;pr,0-起點r處以0為虛擬上游結點價值量;pi,h-結點i處以h為上游結點價值量;pj,i-結點j處以i為上游結點價值量。
改進后的拍賣算法在原有算法的基礎上增加了轉向費用的考慮,并采用了一種能夠節(jié)約存儲空間且準確描述交叉口轉向動作的網絡表示法。改進后的算法繼承了原拍賣算法的性質,同時也更加符合實際道路網絡。
權利要求
1、一種考慮交叉口轉向的最短路徑拍賣算法,其特征在于包括如下步驟
對于有向網絡G(V,E,A,D)
(1)給定路徑起點r和終點s,在價格矢量p中為路徑起點r增設虛擬上游結點0;
(2)初始化路徑P和價格矢量p
P=(r),pl,k=0,k∈Γ-1(l)
pr,0=0
(3)取路徑P的末結點表示為結點i,選擇結點i的下游結點j,當時,如果滿足條件進入步驟A,否則進入步驟B
A.收縮路徑令收縮路徑P,轉到下一個迭代過程,其中收縮路徑P是指當路徑P不僅包含路徑起點r時,移除此時路徑P中的末結點,當路徑P僅包含路徑起點r時,路徑P保持不變;
B.延伸路徑通過第二結點ji來延伸路徑P,如果第二結點ji是終點s,則迭代終止,P就是要求的最短路徑,否則轉入下一個迭代過程;
(4)重復步驟(3),直到算法推出,此時,路徑P即為路徑起點r和終點s之間的最短路徑,最短路徑長度等于pi,h-pr,0;
其中V-所有結點集合;E-路段的集合;A-路段費用集合;D-交叉口轉向費用集合;i-路徑P的末結點,j-結點i的下游結點,k、l-網絡中任意結點,h-結點i的上游結點,h∈Γ-1(i),i、j、h均為自然數;Γ-1(l)-結點l的上游結點集合;Γ-1(i)-結點i的上游結點結合;aij-路段(i,j)的行駛費用,aij∈A;(i,j)-從結點i指向其下游結點j的有向路段,(i,j)∈E;(h,i,j)-由結點i與其上游結點h和下游結點j三者唯一確定的在結點i處的轉向動作;dh,i,j-轉向動作(h,i,j)對應的轉向費用,dh,i,j∈D;ji-{aij+pj,i+dh,i,j}中最小和值對應的下游結點j;pl,k-結點l處以k為上游結點價值量;pr,0-起點r處以0為虛擬上游結點價值量;pi,h-結點i處以h為上游結點價值量;pj,i-結點j處以i為上游結點價值量。
2、根據權利要求1所述的考慮交叉口轉向的最短路徑拍賣算法,其特征在于所述步驟(3)中的收縮路徑和延伸路徑依據以下松弛互補條件
pi,h≤aij+pj,i+dh,i,j,
pi,h=aij+pj,i+dh,i,j,對于路徑P上的連續(xù)結點對
其中h、i、j分別表示在最短路徑中連續(xù)的三個結點;aij表示通過路段(i,j)的行駛費用;dh,i,j表示(h,i,j)轉向動作的轉向費用;pi,h-結點i處以h為上游結點價值量;pj,i-結點j處以i為上游結點價值量。
3、根據權利要求1所述的考慮交叉口轉向的最短路徑拍賣算法,其特征在于所述價格矢量p為二維矢量
價格矢量層次關系為結點→價值量,價值量層存儲結點對應不同上游結點的價值量,其位數等于上游結點個數;
其中
-結點1處以k1(1)為上游結點價值量;k1(1),k1(2),...,k1(m)-結點1的上游結點,其上標表示上游結點序號,m等于上游結點個數,m為自然數。
全文摘要
本發(fā)明公開了一種考慮交叉口轉向的最短路徑拍賣算法,涉及對道路最短路徑網絡表示方法的改進。該方法先根據路段信息和結點信息構建星型數據結構,然后指定路徑起點和終點,從起點產生初始路徑,計算路徑末結點對所有下游結點的估計量,并與路徑末結點的價值量作比較當某一估計量與路徑末結點價值量相等時,延伸路徑至該估計量對應的下游結點,當估計量都大于路徑末結點價值量時,取路徑末結點價值量為最小的估計量,并將路徑收縮一個結點。如此重復迭代過程直至路徑延伸至終點,此時的路徑即為起止點之間的最短路徑。本方法能夠準確地求解限制網絡中的最短路徑,具有更快的運算速度,繼承了原始算法易用于并行計算的基本性質。
文檔編號G08G1/00GK101571404SQ20091003309
公開日2009年11月4日 申請日期2009年6月11日 優(yōu)先權日2009年6月11日
發(fā)明者琳 程, 杜牧青 申請人:東南大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
荥阳市| 准格尔旗| 通州市| 阳城县| 寻乌县| 盐津县| 尖扎县| 闵行区| 汾阳市| 海晏县| 耒阳市| 建昌县| 花垣县| 怀远县| 凤冈县| 连州市| 讷河市| 乐都县| 北辰区| 邵东县| 韩城市| 阿拉善右旗| 宝山区| 乌拉特前旗| 外汇| 谷城县| 华阴市| 洛川县| 屏东县| 亚东县| 长海县| 海淀区| 辽阳县| 巴马| 奉化市| 沁水县| 金阳县| 北流市| 贵州省| 双峰县| 凤台县|