第09章 基本交通分配模型
- 格式:pptx
- 大小:9.61 MB
- 文档页数:72
tt =[0 0 0 ];xx= [0 0 0]t1 = 10 * (1 + 0.15 *(xx(1,1)/2)^4);t2 = 20 * (1+ 0.15 * (xx(1,2)/4)^4) ;t3 = 25 * (1 + 0.15 * (xx(1,3)/3)^4);%一个OD对,起点到终点的三条路段的走行时间函数Q = 10;N=8 ; % 迭代次数,本例只设置最大迭代次数。
也可另外设置收敛条件tt(1,1)= t1 ;tt(1,2) = t2;tt(1,3) = t3 ;y = [0 0 0]; %置初值Min = 50000;for j = 1 : 3if tt(1 ,j) <Min %计算最小走行时间的路段,用全有全无法分配流量Min = tt(1,j);index = j;endendxx(1,index) =Q;for i =1 :Ny = [0 0 0];t1 = 10 * (1 + 0.15 *(xx(1,1)/2)^4);t2 = 20 * (1+ 0.15 * (xx(1,2)/4)^4) ;t3 = 25 * (1 + 0.15 * (xx(1,3)/3)^4);tt(1,1)= t1 ;tt(1,2) = t2;tt(1,3 ) = t3 ;fprintf('第%d 次迭代的路径时间值:' , i);ttMin = 50000;for j = 1 : 3if tt(1 ,j) <Min %计算最小走行时间的路段,用全有全无法分配流量Min = tt(1,j);index = j;endendy(1,index) = Q; % 分配流量给辅助流fprintf('第%d 次迭代的辅助流量值是:' , i);yzz = xx + lambda * (y-xx); % 按方向(y-xx)进行一维搜索,步长为lamda t1 = 10 * (1 + 0.15 *(zz(1,1)/2)^4);t2 = 20 * (1+ 0.15 * (zz(1,2)/4)^4) ;t3 = 25 * (1 + 0.15 * (zz(1,3)/3)^4);f =( y(1,1) -xx(1,1)) * t1 + (y(1,2) -xx(1,2))* t2 +(y(1,3) -xx(1,3))* t3 ;lambda1 =double( solve(f)) ; %求解方程,确定步长。
交通量分配模型一、交通量分配模型:简单一点就是怎么让车走得更顺畅大家都知道,城市里车多得像蚂蚁一样,尤其是高峰期,堵得让人抓狂,连个午餐时间都要比平常多上好几十分钟。
大街小巷,车水马龙,人人都急着赶路,自己觉得是最急的那一个,仿佛前面的人就该赶紧让道,自己走得快了才能舒服。
那问题来了,怎么能让大家都走得更顺畅呢?这就是交通量分配模型要解决的核心问题。
听起来复杂,但说白了就是给不同的路段分配适当的车流量,避免一块地方堵得像死水,一块地方却是冷冷清清,没人理睬。
就像做一道菜,怎么调配各种调料的比例,才让味道更加和谐。
每条路的交通量要平衡,才能让每个人都不至于感到烦躁和不爽。
我想象一下,如果没有这种模型,每个人都各走各的路,哪条路都觉得自己是最重要的,交通肯定乱得一塌糊涂。
交通量分配模型就是在做这件事,它像一个聪明的大厨,把所有的车流量合理地分配到各个路段,确保每条路都不至于因人多而堵死,也不会因为没人走而浪费空间。
比方说,你从A点要去B点,如果走的那条路车太多了,那就得想办法通过其他的路段分散掉部分车流量,大家都能顺畅走。
就像一个拼图游戏,只有每块拼图都放在对的位置,整体效果才能完美。
二、不同的交通状况,需要不同的处理办法这种交通量分配模型的背后,是根据实际的交通状况来判断和调整的。
你不能用一个固定的模式,套在所有情况里。
就像你去餐馆点菜,今天肚子饿,吃得更多;但如果你已经吃撑了,菜再好也不想要。
交通也一样,不同的时间段和不同的天气状况,车流量会大不一样。
模型就像一个“天气预报员”,实时判断哪些地方车多,哪些地方车少,适时做出调整,避免某一条路上的车流过于集中。
这样做就像是一个好的导演,总能安排出每个人最适合的位置,确保整体表演流畅。
你会发现某条路上的车流量特别大,堵得像是堵心了似的,动弹不得。
这个时候,就需要调整交通量分配,把部分车流引导到旁边的次要路段,避免主路成为“死路一条”。
而一旦车流量突然减少了,那就可以适当加大主路的承载量,让车流更为集中,避免次要路段被浪费掉。