按理说,学软件不太需要懂原理,鼠标点哪里就是哪里。但VISSIM不一样——你调一下驾驶行为参数,路网里的车流就像换了性格:要么保守到堵成一团,要么激进到见缝就钻。没有交通仿真基础理论兜底,你根本不知道参数该朝哪个方向调,只能一遍遍试,最后试出一个“看起来对”的数字,答辩或者评审被问一句“为什么取这个值”,当场就懵了。
这篇是这个系列的第二篇,上一篇讲的是VISSIM安装和第一个路网怎么搭起来。这篇专门把交通仿真基础理论讲透,重点就三块:交通流三参数是什么、VISSIM的跟驰换道模型在模拟什么、模型标定验证到底是怎么一回事。顺带把期望速度、仿真步长、随机种子这些参数设置的逻辑全部串起来。适合刚入门的新手,也适合已经能跑通模型但总觉得结果没底的同学——看完了你会明白,那些参数不只是“填个数字”,背后全都有理论依据。
1. 先弄清VISSIM在模拟什么:从宏观到微观的距离
1.1 交通仿真为什么要分三个层次
很多人在学VISSIM之前,其实对“交通仿真”这三个字是模糊的。先把一个概念搞清楚:交通仿真不是一个软件,而是一类方法,按精度和范围分成三个层次。
宏观仿真管的是区域路网层面的交通流状态,不关心具体某一辆车怎么走,只看流量、密度、速度在路网上的分布,常用在城市的综合交通规划、战略方案测试上。中观仿真介于两者之间,它会把车按车队的单元处理,关注排队、延误和路径选择,适合做干线协调、区域诱导这类范围比较大的问题。到了微观仿真这一层,才真正做到逐车模拟——每一辆车有自己的速度、位置、加减速行为、跟车间距,驾驶员有反应时间,车道有宽度,信号灯有完整的相位方案。VISSIM就是典型的微观仿真软件。
这个分层不是谁拍脑袋定的,而是因为交通问题本身的尺度差得太大。评价一条路堵不堵,宏观模型够用;但要说一个交叉口左转车道该设多长、信号配时怎么调才能减少排队溢出,那就必须用微观模型逐辆逐秒地模拟。
我经常跟新手打一个比方:宏观仿真像是看城市交通的卫星云图,知道哪片区域在“下雨”;微观仿真则是蹲在路口拿摄像机,逐帧拆解一辆车为什么在这里减速、为什么等了两次红灯才通过。VISSIM选择微观这条路,就是为了回答“具体到某个节点、某段路、某个信号方案,交通运行到底会发生什么”这类问题。
1.2 交通流三参数:流量、速度、密度是地基
不管哪个层次的交通仿真,底层逻辑都来自交通流理论。这个理论的核心就三个参数:流量、速度、密度。有人听这几个词觉得太基础,但VISSIM里你看到的几乎所有现象,最终都能归结到这三者的关系上。
流量指单位时间内通过某个断面的车辆数,单位是辆/小时,就是你往路网里输入的“车流大小”。速度很简单,但要注意VISSIM里存在多种速度概念,比如瞬时速度、行程速度、期望速度,不要混在一起。密度指单位长度路段的车辆数,单位是辆/公里,它直观反映道路拥挤程度。三者之间有个基本关系式:流量 = 速度 × 密度,也就是 q = v × k。
光看公式觉得平淡,把它想成一条路的变化过程就好理解了。路上车很少时,密度低,每辆车都能开得快,接近自由流速度,但总流量也不高。随着进入的车越来越多,密度上升,速度开始有所下降,流量继续增大,直到某个临界密度时流量达到最大,这个最大值就是这条路的通行能力。再往后来车,密度继续上升,速度明显下降,流量反而开始减少,最后进入拥堵状态甚至完全停住。整个过程画成曲线,就是交通工程里经典的流量-密度曲线和速度-密度曲线。
这个曲线的意义在VISSIM里非常直接。你给一段路设置一个输入流量,模型跑出来的平均速度和排队长度,本质上就是这个理论关系在复杂路网条件下的体现。你要是把期望速度设得过高,等于把自由流速度抬得很高,曲线整体往右上偏,通行能力自然虚高,跑出来的结果肯定跟实测对不上。
1.3 理论对应的实操:VISSIM里的三参数藏在哪
很多新手问:我学了三参数,在VISSIM里到底有什么用?用处贯穿整个建模过程。
先说密度。你在VISSIM路网上看到的“颜色变化图”“密度分布图”,后台算的就是每个路段上的车辆密度。你画路段、设车道数,直接影响密度表达——车道越多,同样的车流摊到每条车道上的密度就越低,服务水平可能完全不一样。再说流量。VISSIM的车辆输入(Vehicle Input)本身就是对流量参数的直接设置,单位是辆/小时,而且可以按时段分段设置,还原早晚高峰不同流量的特征。最后是速度。VISSIM里最常用的期望速度分布(Desired Speed Distribution),本质就是对自由流速度概率分布的刻画,不是一条直线,而是一条曲线——这个后面我会专门展开讲。
所以,别看三参数只有三个字母,VISSIM整个模型就是围着它们转的。你在软件里做的每一件事,要么是在设定三参数的值,要么是在观察三参数的输出结果。
2. 把跟驰模型讲明白,VISSIM你就懂了一半
2.1 车辆不是子弹:跟驰模型在模拟什么
很多刚接触仿真的人会默认:车辆在路网上不就是按设定速度往前开吗?前后车保持距离不就行了?如果真这么简单,交通仿真就不需要单独发展一套跟驰模型了。
实际驾驶中,后车的速度不是固定不变的,而是受前车行为持续影响:前车加速,后车在安全距离允许的前提下逐渐加速;前车刹车,后车要经过一个反应时间才开始减速;前车停车,后车要停在它后面,不能贴着保险杠。这个“一辆车跟着另一辆车行驶”的行为规则,在交通流理论里叫跟驰模型(Car-Following Model),它决定了仿真中车辆怎么加速、怎么减速、怎么保持车距,也就直接决定了路段的通行能力和排队特性。
VISSIM用的跟驰模型是Wiedemann模型,这是一种心理-生理模型,核心思想是:驾驶员对前车距离变化的感知和反应不是连续的,而是存在阈值。说得直白一点,司机不是每时每刻都在精确计算车距,只有当前车距离变化到自己感知到“太近了”或者“太远了”,才会做出反应。这就解释了为什么现实中跟车不是平稳匀速的,而是不断微调、偶尔刹车的状态。
这个模型把驾驶状态分成几种:自由驾驶(前车足够远,后车按期望速度开)、逼近状态(前车速度低于后车,后车开始逐渐接近)、跟驰状态(两车保持相对固定的距离和速度差跟随)、紧急制动(前车急刹,后车必须大力减速)。VISSIM在每0.1秒的时间步长里,就是根据这些状态判断每辆车下一步该加速还是减速、加速度是多少。理解了这一点,你就知道为什么车辆输入流量一大,仿真里车辆会自动减速排队——跟驰状态接管了。
2.2 CC参数到底管什么:别看见数字就瞎调
VISSIM的驾驶行为窗口里,Wiedemann模型参数列表是一长串以CC开头的数值,新手看到就头大。这里挑几个关键的讲清楚,你以后标定心里就有谱了。
首先要知道VISSIM里有两套Wiedemann参数:Wiedemann 74和Wiedemann 99。74套主要适用于城市道路和交叉口,默认参数更贴近走走停停的工况;99套适用于高速公路和快速路,默认参数对高速跟车行为刻画更细。很多新手不管什么场景都用默认参数,这是第一个坑。城市路网用了99套,车辆跟车间距会显得过宽,通行能力可能被低估;高速路用了74套,车距过近,通行能力被高估。
在具体参数里,CC0是停车间距,也就是两车都停住时前后保险杠之间的期望距离,典型值2米左右。CC1是车头时距,表示前车保险杠通过某个点后,后车保险杠通过同一点需要的时间,单位是秒,它直接决定了跟驰状态下的车头间距,对通行能力影响极大。默认值在0.9到1.5秒之间,你把这个值调小,车辆跟得更紧,通行能力上升;调大,车距拉宽,通行能力下降。CC2是跟车状态下允许的额外安全距离变化量,它描述的是司机在跟车时不会把距离卡得死死的,而是前后浮动。CC3则是后车开始减速进入逼近状态的阈值,数值越小,司机越早减速,倾向于保守驾驶。
怎么理解这些参数?我习惯这样解释:CC1决定的是车流在稳定状态下能多密,相当于道路的“容量上限”。CC2和CC3决定的是车辆在接近前车时反应的“性格”——是温和提前减速,还是逼到很近才刹车。你在做标定的时候,如果实测通行能力偏高,先检查期望速度,再考虑调大CC1;如果车辆在交叉口前刹车过于突兀,则优先看CC3和CC2。顺序不要搞反,一上来就动CC参数,很容易越调越乱。
2.3 换道模型与冲突区域:车辆怎么“挤”过去
跟驰模型管的是同一车道上的纵向行为,换道模型管的则是车辆怎么从一条车道挪到另一条车道,这个问题在城市路网里尤其关键,因为交叉口前大量存在转弯车道、交织区、公交停靠站附近的连续变道。
VISSIM把换道行为分成两类:必要换道和自由换道。必要换道指车辆不换道就完不成接下来的路线,比如要在下一个路口左转,而现在在直行车道上,必须提前变到左转道,这类换道是强制性的,车辆会“见缝插针”也要完成。自由换道则是为了获得更好驾驶条件,比如当前车道前方很慢,旁边车道比较空,司机选择变道超过去,这类换道是可做可不做的。
换道行为在仿真中如何决策?大体上,车辆会持续评估三件事:目标车道上有没有合适的空隙(gap)、执行换道需要多大胆减速度、换道完成后能获得多少速度收益。这三者综合权衡后,才决定是否执行、何时执行换道。VISSIM里有一组“必要的车道变换”和“自由车道变换”相关参数,比如最大减速度、可接受的减速度、碰撞时间阈值等,本质上就是在给车辆的换道决策设定胆量底线。把最大减速度设得很大,车辆会产生一些非常激进的换道动作,这在城市道路里并不常见。
再说冲突区域。VISSIM里两条车流交汇但不受信号控制的地方,比如无信号交叉口、环岛入口、交织区,你需要用冲突区域(Conflict Area)来定义谁先走谁让行。它的理论本质就是优先规则(Priority Rule)在仿真里的落地,主动车流可以不减速通过,被动车流必须寻找可穿越间隙才能进入冲突区域。很多新手跑出来路口全部堵死,十有八九就是冲突区域没设、或者优先级设反了。
3. 参数设置里的理论逻辑:分布、步长与随机性
3.1 期望速度分布:为什么不能用单一固定值
我见过很多新手建路网时,把期望速度这一个参数当成普普通通的“最大速度”来填:设个60,所有小车就都开到60,跑出来的效果整齐划一,看着像阅兵方阵,一点都不像真实交通。
真实交通不是这样的。同样的限速路段上,不同驾驶员水平不同、心态不同,有的开到55,有的开到65,有的只开到45,落在速度的分布上,是一个相当宽的区间。VISSIM里的期望速度分布(Desired Speed Distribution)就是用来描述这种差异的,它是一条从低速到高速的累积分布曲线,而不是一个数值。
为什么这个细节很重要?因为期望速度分布直接影响了路段的通行能力和跟驰行为的多样性。如果所有车辆都按同一个速度行驶,车辆之间很难形成速度差,跟驰模型的“逼近状态”几乎不会触发,车流会表现得过于流畅,排队和延误都会被低估。换句话说,车速太均匀的仿真,往往结果是偏乐观的。反过来,如果分布区间设得过分宽,比如城市道路还混入一些开到90的车,整个路网会出现很多不合常理的变道和急刹。
实操上我的建议是:先根据道路等级和限速确定一个大概范围,比如城市主干道限速60,你可以把期望速度曲线设在45到65之间;快速路限速80,设在65到90之间。不要图省事直接拉一条从20到120的宽曲线。另外记得区分车型,公交车、货车、小汽车的期望速度分布要分别设置,否则混合交通流的跟驰行为完全失真。
3.2 仿真步长:0.1秒的精度逻辑
VISSIM里有个仿真步长(Simulation Resolution)参数,默认是10个时间步每秒,也就是每个仿真步长0.1秒。很多新手不会动这个参数,也不太理解它对仿真结果有什么影响。这里把原理讲清楚。
交通仿真本质上是在时间上离散地推进系统状态:每过一个步长,程序根据当前所有车辆的位置、速度、信号状态、跟驰模型计算结果,把所有车辆更新到下一秒的位置,然后再计算下一轮。步长越短,仿真越接近连续时间的真实物理过程,但计算量也越大。步长越长,比如0.5秒甚至1秒,车辆的位置更新就会变得“一跳一跳”的,加减速和跟车判断误差变大,严重时会出现车辆互相穿越、排队长度异常波动这类肉眼可见的bug。
0.1秒是VISSIM默认值,也是绝大多数城市道路场景的合理选择,因为信号相位的最小单位一般是1秒,0.1秒的时间步长足够精确还原车辆在信号启亮和关闭瞬间的响应。但是要注意,如果你做的是高速公路高密度跟驰分析或者车路协同这类对时间精度要求极高的研究,可以考虑把仿真步长调到0.05秒甚至更小,代价就是仿真速度明显下降。
反过来,也不是步长越细越好。你跑一个大型路网、仿真时长2小时、步长0.01秒,计算量会大到让人失去耐心。我自己的习惯是:普通交叉口和路网项目全部用默认0.1秒,涉及高精度跟驰行为研究或者需要精细评估车辆轨迹时才缩小步长。这个取舍本质上就是精度和效率的权衡,没有完全的“最优”,只有“够用”。
3.3 随机种子与多次运行:结果为什么每次都不一样
很多新手第一次跑VISSIM,看到同一个路网、同样输入,连续跑两次结果却不一样,会以为自己哪里设置错了。其实这完全是正常的——VISSIM是随机仿真模型,不是确定性模型。
随机性从哪里来?车辆的到达不是均匀分布的,而是按照一定的随机分布进入路网,比如一个小时内流量是900辆,不代表每分钟都精确进15辆,而是有时17辆、有时12辆、有时20辆,整体平均接近15辆。期望速度分布也一样,每辆车进入路网时会从速度分布曲线中随机抽取一个期望速度值。为了支撑这种随机抽取,软件需要随机数生成器,而随机数生成器的“起点”就是随机种子(Random Seed)。
随机种子决定了这一次仿真用哪一组随机“剧本”。种子不变,随机序列就不变,仿真结果完全可复现。种子一变,车辆到达时刻、每辆车的期望速度都不同,结果自然有波动。这个波动幅度在低流量下不明显,但在饱和和过饱和状态下非常可观——可能这次仿真路口平均排队80米,下次就变成120米。
所以正确的做法是:不要跑一次仿真就拿着结果下结论。对于周期性稳定的信号控制路网,至少跑3到5个不同随机种子,看平均结果和波动范围;对于高速公路或者大规模路网,可能需要更多次运行才能让均值稳定。VISSIM里有批量运行工具,可以一次跑多组随机种子并汇总输出统计结果,做项目时一定要用起来。
4. 标定与验证:让模型从“像”变成“是”
4.1 不标定的模型,评审一眼就能看穿
模型建好了、仿真跑通了、结果也导出来了,然后呢?如果这个结果直接拿去向决策方汇报,我劝你先冷静一下。
VISSIM模型在“能跑”状态下的输出,根本不足以支撑工程结论。默认驾驶行为参数适用于一般性欧洲道路条件,你拿来做国内城市交叉口的信号优化,结果很可能跟实测差一大截。比如实测高峰期该路口平均延误是65秒,你的模型跑出来只有38秒,那所有基于模型做出的方案都可能是错的。
模型标定(Calibration)就是把这个差距缩小的过程:调整车辆输入、路径选择、期望速度、驾驶行为参数,让模型的输出水平与实地观测数据相吻合。验证(Validation)则是用另一组独立观测数据检验标定后的模型,确认它不是“只顾着一套数据拟合”,而是真的反映了实地交通规律。简单说,标定是让模型贴合一组数据,验证是确认它换一组数据也贴得住。两者缺一不可。
很多新手对“调整参数让结果匹配实测”这件事有心理负担,觉得是不是在作弊。其实不是。微观仿真参数本来就包含大量无法直接测量的驾驶者行为参数,这些参数在不同地区、不同道路条件、不同驾驶文化下都不同,标定正是用实测数据来反推这些行为参数,这是交通仿真标准流程的一部分,不做才是不负责任。
4.2 标定流程与优先级:先粗后细,别一上来就动驾驶行为
模型标定不是把所有参数调一遍看哪个结果最接近,而是有严格顺序的。优先级搞反了,标定过程会变得痛苦且没有逻辑。
我一般按六步走。第一步,数据准备,把实测的流量、速度、行程时间、排队长度找齐,注意流量要按小时分时段整理,信号控制路网还要记录信号周期和配时。第二步,搭建路网并核查拓扑,这个阶段先不追求精确,目标是确保路网逻辑正确,所有路径能走通,检测器位置合理。第三步,基础参数设置,包括车辆构成(小汽车、公交、货车比例)、期望速度分布、路径决策比例。第四步,把路段输入流量和OD路径比例调准,让各断面流量与实测相一致,这一步做不好,后面无论怎么调驾驶行为参数都没意义。第五步,开始微调驾驶行为参数,主要就是前面说的CC1、CC0、CC2这几项,以及冲突区域的设置细节。第六步,用另一组时段或另一天的实测数据做验证。
这六步里的顺序是有道理的:流量和路径不对,速度和排队必然不对,你调驾驶行为参数调得再辛苦也只是在“补错”,往往补完这个断面错了另一个断面。先保证“有多少车进来、走哪条路”是准的,再去调“车怎么跟、怎么换道”,逻辑就顺了。
4.3 验证指标怎么看:流量、行程时间、排队长度
标定和验证不能靠“看着差不多”来评判,量化指标是必须的。这里说三个最常用的。
流量对比用GEH统计量。不要被这个名字吓到,它本质是一种考虑量级差异的标准化误差指标,公式是GEH等于两倍观测流量与模拟流量差值的平方,除以两者之和,再开根号。判断标准是GEH小于5认为可接受,小于2认为非常好,超过10则说明模型存在明显偏差。注意GEH对低流量路段更敏感,流量越小的断面,GEH越容易超标,所以评价时一般要求85%以上的检测断面满足GEH小于5,而不是每个断面都达标。
行程时间对比更直观。在路网里设置行程时间检测区段(Travel Time Section),覆盖目标路径的完整起止点,把仿真输出的平均行程时间和实测的跟车调查或浮动车数据做对比。城市道路一般允许误差在10%到15%以内,高速公路可以更严格一些,5%到10%。
排队长度是比较难对上的指标,因为排队是动态变化的,最大值、均值、频率全都不一样。实操中建议对比排队溢出发生的时段和最大排队范围,而不是单一数值。如果模型排队一直比实测长,优先检查是不是前面说的冲突区域没有设置或者信号配时输入错误,这两个原因导致的排队误差占比最高。
4.4 GEH统计量速查表:现场就能用
每次开会评审都带着公式现场算不现实,我习惯直接按流量级给一个速查表格,实测流量对应对应的GEH临界值,方便快速判断。
| 实测流量(辆/小时) | GEH<5对应的模拟流量大概范围 | 说明 |
|---|---|---|
| 100 | 约35辆/小时以内 | 低流量时GEH极其敏感,极难达标 |
| 300 | 约100辆/小时以内 | 小流量也需要比较高的精度 |
| 600 | 约160辆/小时以内 | 中等流量,标准逐步放宽 |
| 1200 | 约300辆/小时以内 | 高流量路段是评价主力 |
| 2000 | 约500辆/小时以内 | 大流量下允许一定绝对偏差 |
这张表只是帮助快速估算,正式报告里还是老老实实逐断面算GEH。另外注意,GEH只评价流量,不能评价延误和排队,而延误恰恰是信号优化项目中最关心的指标,所以一定要结合行程时间和排队长度一起看,不要只盯一个指标就宣布标定完成。
5. 新手最容易踩的坑与排查建议
5.1 输出结果对不上实测,先排查这几个地方
做过几个项目之后你会发现,绝大多数“仿真结果不合理”的问题,不是模型理论不行,而是前置设置错了。这里列一个排查顺序,照着查大概率能定位问题。
先查车辆输入。很多人把流量设置单位搞错了,VISSIM里车辆输入的默认单位就是辆/小时,但有人会把设计小时内15分钟流量直接填进去,等于把流量放大了4倍,结果当然堵成一锅粥。再查信号配时。绿灯时间、全红时间、相位差输入错误是导致延误离谱的最常见原因,特别注意信号方案里要区分“绿灯间隔时间”和“全红时间”,别把概念搞混。然后查路径决策比例。某些流向的比例设错了,比如实际左转只有15%,你设了40%,左转车道排队必然过长。
检查完前置设置,再看冲突区域。无信号交叉口不设冲突区域,车辆会按“先到先走”的逻辑运行,但实际交通是有让行规则的。最后才考虑驾驶行为参数。如果前面几项都正常而结果仍有偏差,才去动期望速度和CC参数。这个排查顺序的核心逻辑是:先排除确定性错误,再处理随机性参数。
5.2 通行能力虚高:一个非常典型的问题
很多新手建完高速或城市快速路段模型,跑出来通行能力比实测高20%以上,自己还没发现问题,因为结果“看起来挺顺”。通行能力虚高的原因,按出现频率排序大概是这样。
最高频的原因是期望速度设置过高。限速100的高速路段,你把期望速度放在95到120之间,那仿真里所有车都贴着100以上跑,跟车状态下的车头时距偏小,通行能力自然高。合理的做法是把期望速度上限控制在略高于限速值,同时让分布均值贴近实际运行速度的85%分位值。第二个原因是CC1值过小,默认的0.9秒比较激进,如果你模拟的是车流密度很大的高速拥堵区,可以把CC1调到1.2到1.5秒再观察流量变化。第三个原因是车型构成太单一,全是小汽车,没有加入足够比例的重型货车。货车的加减速性能差、体积大,对通行能力影响显著,一辆货车在坡道上能顶3到4辆小汽车的流量折减。第四个原因是路段没有设置任何瓶颈,自由流一路到底,这在现实路网里几乎不存在——哪怕没有信号灯,出入口匝道、交织区也会形成实际瓶颈。
我遇到过一个真实案例:某项目模拟一条快速路,实测高峰期在瓶颈上游开始排队,但模型输出却非常通畅,平均速度接近限速。排查后发现是车辆输入只给了一个“总流量”然后按比例分配,根本没有设置瓶颈路段的流量释放能力,车辆进来多少就走多少,自然永远不堵。加上了交织区的冲突区域、把流量输入按上游各匝道分拆之后,排队现象才和实测对上。
5.3 仿真效率与批量操作:别在重复劳动上浪费生命
VISSIM模型越建越大,跑一次仿真的时间也越来越长。新手最容易犯的错,是每次调整一个参数就跑一遍仿真,手动记录结果,然后一遍一遍重复。这种做法效率低不说,还容易记错哪组参数对应哪个结果。
正确的做法是把仿真当成批量实验来做。VISSIM的“多个运行”(Multiple Runs)和“参数变化”(Parameter Variation)功能可以让你一次跑完多组随机种子或者多组参数组合,输出统一汇总结果。更进阶的用法是结合外部脚本控制参数批量修改和结果提取,比如用COM接口,适合做参数敏感性分析和方案寻优。一个带宽充裕的晚上,批量跑完几十组工况,第二天起来直接看汇总表,这是做仿真项目应该有的节奏。
在文件管理上,每轮标定或方案调整都应该另存为独立版本,文件名写清楚工况和日期。不要在一个文件上反复改,最后连自己都不知道当前这个版本是第几次调整、改了什么。很多项目后期混乱,源头就是文件管理太随意。
5.4 两个容易忽略但影响巨大的细节
讲两个细节,都是我在实际项目里踩过或者见过别人踩的。
第一个是仿真预热时间(Warm-up Time)的设置。信号控制路网的仿真不是从0秒开始就能稳定输出的。路网刚启动时车辆稀稀拉拉,整个系统还在“充车”阶段,一上来就开始统计输出,会把延误和排队时间拉低。原则上,仿真时长应当包括足够的预热时间,等路网里的车辆数和排队状态趋于稳定后再开始采集数据。对于信号周期90秒的城市路网,预热时间至少跑5到10个完整周期,也就是10到15分钟比较稳妥。
第二个是检测器位置对输出结果的决定性影响。同样是测排队长度,检测器放在停止线前50米和放在停止线前150米,结果可能天差地别。做模型前先明确你要的指标是什么,计算指标的口径是什么,再决定检测器怎么放、放多长、覆盖哪条车道。检测器位置错了,后面输出了再精美的图表,数据本身也是废的。
最后说几句
写了这么多,其实核心就想传递一件事:VISSIM不是一个画路网的软件,而是交通流理论的可视化执行器。你跟驰模型没搞懂,就不知道CC1为什么能改变通行能力;你随机种子没搞懂,就不知道跑一次仿真为什么不足以支撑结论;你标定验证没搞懂,就不知道模型输出到底能不能用于决策。
我带过的项目里,有的人上手VISSIM两周就能画出漂亮的路网,但一到参数调整和结果分析就露怯;也有的人理论学得扎实,虽然点鼠标慢一些,但到了方案比选的时候,思路特别清楚,知道每个数字背后的含义,反而效率和可靠性都更高。我个人体会是,理论这块短板,迟早要补,越早补越省事。
这一篇是系列第二篇,把交通仿真基础理论和VISSIM的对应关系讲完整了。如果你已经能把这篇里的概念和你的路网对上号,下一篇就可以开始真正做一个小型交叉口的仿真实战了——从路网搭建到参数标定,做一个能拿出台面的完整案例。