山地城市交叉口左轉(zhuǎn)待行區(qū)建模論文.docx 免費(fèi)下載
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
山地城市平面交叉口左轉(zhuǎn)待行區(qū)建模及應(yīng)用主要方案隨著城市交通擁堵加劇,平面交叉口是城市路網(wǎng)的重要節(jié)點(diǎn),需著重強(qiáng)化,左轉(zhuǎn)交通流是影響交叉口運(yùn)行效率的重要因素,持續(xù)優(yōu)化左轉(zhuǎn)待行區(qū)設(shè)置是提升效率的主要手段之一。山地城市平面交叉口條件有限,左轉(zhuǎn)待行區(qū)設(shè)置更需精細(xì)化考慮。為了準(zhǔn)確、科學(xué)地構(gòu)建山地城市左轉(zhuǎn)待行區(qū)樣本,
本文利用無(wú)人機(jī)高空視頻采集優(yōu)勢(shì),選取了多個(gè)典型山地城市平面交叉口開(kāi)展左轉(zhuǎn)車(chē)輛軌跡行為研究,主要從基于交叉口幾何特性的待行區(qū)模型構(gòu)建、基于無(wú)人機(jī)高空視頻的左轉(zhuǎn)微觀軌跡資料的待行區(qū)模型構(gòu)建、基于遺傳算法的左轉(zhuǎn)待行區(qū)交叉口信號(hào)配時(shí)優(yōu)化等幾方面進(jìn)行探討,具體如下:(1)歸納總結(jié)了左轉(zhuǎn)待行區(qū)設(shè)置的方法與條件,并考量了左轉(zhuǎn)車(chē)流的運(yùn)行特性。(2)基于交叉口幾何特性的理論待行區(qū)樣本構(gòu)建。
本文針對(duì)目前左轉(zhuǎn)待行區(qū)相關(guān)探討未考慮山地城市車(chē)道窄、坡度大、部分交叉口畸形等幾何特點(diǎn)的局限,為了明晰在實(shí)際應(yīng)用中待行區(qū)“是否設(shè)置”、“如何設(shè)置”的問(wèn)題,
本文利用左轉(zhuǎn)排隊(duì)長(zhǎng)度分析探討了待行區(qū)是否設(shè)置的邊界條件及待行區(qū)需要設(shè)置時(shí)的最短設(shè)置長(zhǎng)度;基于沖突分析法明確了待行區(qū)設(shè)置安全間距,構(gòu)建了左轉(zhuǎn)待行區(qū)長(zhǎng)度設(shè)置區(qū)間模型;結(jié)合仿真提煉出不同坡度下左轉(zhuǎn)車(chē)輛利用沖突點(diǎn)時(shí)間變化特征,提出了當(dāng)?shù)缆房v坡坡度超過(guò)-5%時(shí)對(duì)樣本的修正方法;探討了畸形交叉口、中央隔離帶及車(chē)道屬性對(duì)待行區(qū)設(shè)置影響。進(jìn)一步地,(3)基于車(chē)輛實(shí)際運(yùn)行軌跡的待行區(qū)模型構(gòu)建。
本文首先通過(guò)無(wú)人機(jī)高空視頻拍攝及數(shù)據(jù)處理工作,獲取了一批具有山地城市特色的交叉口左轉(zhuǎn)車(chē)流軌跡數(shù)據(jù),利用軌跡特性分析與相關(guān)函數(shù)擬合考量,確定了單相指數(shù)衰減函數(shù)為車(chē)輛左轉(zhuǎn)軌跡基本函數(shù)原型;然后通過(guò)交叉口幾何特性,確定了起點(diǎn)、訖點(diǎn)、沖突限制點(diǎn)三個(gè)約束條件,對(duì)左轉(zhuǎn)軌跡函數(shù)原型進(jìn)行了標(biāo)定,構(gòu)建了以交叉口幾何參數(shù)為自變量的車(chē)輛左轉(zhuǎn)軌跡的函數(shù)樣本;基于曲線(xiàn)線(xiàn)形識(shí)別法,確定了交叉口車(chē)輛左轉(zhuǎn)軌跡由兩段緩和曲線(xiàn)組成,根據(jù)緩和曲線(xiàn)公式,構(gòu)建了關(guān)于左轉(zhuǎn)待行區(qū)長(zhǎng)度與半徑的分段函數(shù)模型。(4)基于遺傳算法的左轉(zhuǎn)待行區(qū)交叉口信號(hào)配時(shí)途徑研究。
本文針對(duì)前面章節(jié)構(gòu)建的左轉(zhuǎn)待行區(qū)樣本,修正了HCM手冊(cè)中的通行能力計(jì)算公式,并構(gòu)建了以通行能力最大、平均延誤最小、平均停車(chē)次數(shù)最少為目標(biāo),相位綠燈時(shí)間、信號(hào)周期為尋優(yōu)參數(shù)的多目標(biāo)求最優(yōu)解模型,利用遺傳算法求得最優(yōu)解,并結(jié)合實(shí)際案例開(kāi)展了驗(yàn)證。為實(shí)現(xiàn)城市精細(xì)化管控、大幅提高城市交叉口運(yùn)行效率和安全水平提供支撐?;诖耍詈?結(jié)合實(shí)例計(jì)算出了理論待行區(qū)樣本和實(shí)際待行區(qū)樣本的待行區(qū)長(zhǎng)度,建立了VISSIM仿真模型,仿真運(yùn)行結(jié)果顯示理論待行區(qū)樣本計(jì)算的待行區(qū)長(zhǎng)度相較于現(xiàn)狀待行區(qū)長(zhǎng)度,平均每車(chē)延誤下降了29.5%;實(shí)際待行區(qū)模型計(jì)算的待行區(qū)長(zhǎng)度相較于理論待行區(qū)模型計(jì)算的待行區(qū)長(zhǎng)度,平均每車(chē)延誤下降了11.2%。?簡(jiǎn)介:擅長(zhǎng)數(shù)據(jù)搜集與處理、建模仿真、程序設(shè)計(jì)、仿真代碼、論文寫(xiě)作與指導(dǎo),畢業(yè)論文、期刊論文經(jīng)驗(yàn)交流。
?具體問(wèn)題可以聯(lián)系QQ或者微信:30040983。仿真代碼importnumpyasnp
importheapq
fromcollectionsimportdefaultdict
classRoadNetwork:
def__init__(self):
self.nodes={}
self.edges=defaultdict(list)
self.traffic_conditions={}
defadd_node(self,node_id,x,y):
self.nodes[node_id]={'x':x,'y':y}
defadd_edge(self,from_node,to_node,distance,capacity,free_flow_time):
self.edges[from_node].append({
'to':to_node,
'distance':distance,
'capacity':capacity,
'free_flow_time':free_flow_time
})
defupdate_travel_time(self,from_node,to_node,current_volume):
foredgeinself.edges[from_node]:
ifedge['to']==to_node:
t0=edge['free_flow_time']
capacity=edge['capacity']
alpha=0.15
beta=4
ifcurrent_volume<capacity:
travel_time=t0*(1+alpha*(current_volume/capacity)**beta)
else:
travel_time=t0*10
self.traffic_conditions[(from_node,to_node)]=travel_time
returntravel_time
returnfloat('inf')
defdijkstra(self,start,end):
distances={node:float('inf')fornodeinself.nodes}
distances[start]=0
previous={}
pq=[(0,start)]
visited=set()
whilepq:
current_dist,current=heapq.heappop(pq)
ifcurrentinvisited:
continue
visited.add(current)
ifcurrent==end:
break
foredgeinself.edges[current]:
neighbor=edge['to']
weight=self.traffic_conditions.get((current,neighbor),edge['free_flow_time'])
distance=current_dist+weight
ifdistance<distances[neighbor]:
distances[neighbor]=distance
previous[neighbor]=current
heapq.heappush(pq,(distance,neighbor))
path=[]
current=end
whilecurrentinprevious:
path.append(current)
current=previous[current]
path.append(start)
path.reverse()
returnpath,distances[end]
defastar(self,start,end):
defheuristic(node1,node2):
x1,y1=self.nodes[node1]['x'],self.nodes[node1]['y']
x2,y2=self.nodes[node2]['x'],self.nodes[node2]['y']
returnnp.sqrt((x2-x1)**2+(y2-y1)**2)
open_set=[(0,start)]
came_from={}
g_score={node:float('inf')fornodeinself.nodes}
g_score[start]=0
f_score={node:float('inf')fornodeinself.nodes}
f_score[start]=heuristic(start,end)
whileopen_set:
current_f,current=heapq.heappop(open_set)
ifcurrent==end:
path=[]
whilecurrentincame_from:
path.append(current)
current=came_from[current]
path.append(start)
path.reverse()
returnpath,g_score[end]
foredgeinself.edges[current]:
neighbor=edge['to']
tentative_g=g_score[current]+self.traffic_conditions.get(
(current,neighbor),edge['free_flow_time'])
iftentative_g<g_score[neighbor]:
came_from[neighbor]=current
g_score[neighbor]=tentative_g
f_score[neighbor]=g_score[neighbor]+heuristic(neighbor,end)
heapq.heappush(open_set,(f_score[neighbor],neighbor))
return[],float('inf')
defk_shortest_paths(network,start,end,k=3):
paths=[]
path,cost=network.dijkstra(start,end)
ifpath:
paths.append((path,cost))
foriinrange(k-1):
ifnotpaths:
break
last_path,_=paths[-1]
temp_network=RoadNetwork()
temp_network.nodes=network.nodes.copy()
temp_network.edges=defaultdict(list)
fornode,edgesinnetwork.edges.items():
ifnodenotinlast_path[:-1]:
temp_network.edges[node]=edges.copy()
path,cost=temp_network.dijkstra(start,end)
ifpathandpathnotin[pforp,cinpaths]:
paths.append((path,cost))
returnpaths
defdynamic_routing(network,start,end,departure_time,time_steps=60):
current_time=departure_time
current_position=start
path=[start]
total_time=0
forstepinrange(time_steps):
ifcurrent_position==end:
break
foredgeinnetwork.edges[current_position]:
volume=np.random.randint(200,800)
network.update_travel_time(current_position,edge['to'],volume)
remaining_path,cost=network.dijkstra(current_position,end)
iflen(remaining_path)>1:
next_node=remaining_path[1]
travel_time=network.traffic_conditions.get(
(current_position,next_node),
[e['free_flow_time']foreinnetwork.edges[current_position]
ife['to']==next_node][0]
)
path.append(next_node)
total_time+=travel_time
current_position=next_node
current_time+=travel_time
returnpath,total_time
defmultimodal_routing(origin,destination,modes=['car','bus','metro']):
routes={}
formodeinmodes:
ifmode=='car':
time=np.random.uniform(20,40)
cost=np.random.uniform(10,20)
comfort=8
elifmode=='bus':
time=np.random.uniform(30,60)
cost=np.random.uniform(2,5)
comfort=6
else:
time=np.random.uniform(15,30)
cost=np.random.uniform(3,8)
comfort=7
routes[mode]={
'time':time,
'cost':cost,
'comfort':comfort,
'score':0.4*(60-time)+0.3*(20-cost)+0.3*comfort
}
best_mode=max(routes,key=lambdam:routes[m]['score'])
returnbest_mode,routes
defreal_time_rerouting(current_path,incident_location,network):
ifincident_locationnotincurrent_path:
returncurrent_path,False
incident_index=current_path.index(incident_location)
ifincident_index==0:
returncurrent_path,False
reroute_start=current_path[incident_index-1]
destination=current_path[-1]
foredgeinnetwork.edges[reroute_start]:
ifedge['to']==incident_location:
network.traffic_conditions[(reroute_start,incident_location)]=float('inf')
new_segment,cost=network.dijkstra(reroute_start,destination)
ifnew_segment:
new_path=current_path[:incident_index]+new_segment[1:]
returnnew_path,True
returncurrent_path,False
defmain():
network=RoadNetwork()
foriinrange(10):
x=np.random.randint(0,100)
y=np.random.randint(0,100)
network.add_node(i,x,y)
foriinrange(9):
network.add_edge(i,i+1,10,2000,5)
ifi<8:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 灌區(qū)供水工創(chuàng)新方法競(jìng)賽考核試卷含答案
- 水路危險(xiǎn)貨物運(yùn)輸員達(dá)標(biāo)測(cè)試考核試卷含答案
- C語(yǔ)言程序設(shè)計(jì) 通訊錄程序
- 承包資料合同范本
- 抗旱送水協(xié)議合同
- 路基平整合同范本
- 阿里代銷(xiāo)合同范本
- 動(dòng)物購(gòu)買(mǎi)合同范本
- 車(chē)輛租憑協(xié)議合同
- 意向招標(biāo)合同范本
- 《羅密歐與茱麗葉》穿越版(10人以上)年會(huì)晚會(huì)搞笑小品劇本臺(tái)詞
- 馬克思主義民族理論和民族政策講義
- 初中英語(yǔ)寫(xiě)作教學(xué)專(zhuān)題講座課件
- 有心圓錐曲線(xiàn)的焦點(diǎn)四邊形的十大結(jié)論(解析版)
- 路肩質(zhì)量檢驗(yàn)評(píng)定表格
- MAM860螺桿式空壓機(jī)控制器
- 高質(zhì)量SCI論文入門(mén)必備從選題到發(fā)表全套課件
- 常見(jiàn)異常心電圖的識(shí)別課件
- 中國(guó)醫(yī)院質(zhì)量安全管理 第4-2部分:醫(yī)療管理 護(hù)理質(zhì)量管理 T∕CHAS 10-4-2-2019
- 手動(dòng)星三角降壓?jiǎn)?dòng)
- 5000t液壓控制柜說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論