APP下载

集成VISSIM/VISUM与MATLAB的多精度仿真控制平台研究

2019-02-14徐成成薛新风XUChengchengZHENGLiangXUEXinfeng

物流科技 2019年1期
关键词:接口技术模拟器宏观

徐成成,郑 亮,薛新风 XU Chengcheng,ZHENG Liang,XUE Xinfeng

(中南大学 交通运输工程学院,湖南 长沙 410075)

0 引言

随着我国经济的迅速发展,城市交通系统的建设快速增长和完善,为人们出行提供了很大便捷,但也带来了越来越多的问题,如拥堵、安全、环境等。因此,需要建立科学合理的交通管控措施来缓解这些问题。通常,有三种方法可用于验证管控措施的合理性:现场实验、数学建模和仿真实验。现场实验能够提供最直接的证明,但由于高昂的人力、物力和财力成本及较差的可行性被较少采用。数学建模虽易于操作,但是简单和解析的数学模型很难刻画随机的、非线性和复杂的交通巨系统。目前为止,认可度最高且使用范围最广的是通过成熟的仿真软件来评价交通管控措施的科学性和合理性[1]。

成熟的仿真软件可以提供优秀、可靠的仿真环境,但只使用仿真软件来评价交通管控措施面临诸多问题。例如,只能利用仿真软件中已有的功能设计交通管控策略和评价指标,对于无法在仿真软件中实现的管控策略则不能评价。为此,目前比较成熟的仿真软件都提供了应用程序接口,研究者可以根据需要设计相应的仿真实验场景和评价方法。同时,通过应用程序接口将仿真软件和优化算法结合起来,搭建高效、可靠的仿真控制/优化平台为研究交通管控问题提供了技术支持,具有重要的理论和实践意义。陈德望等[2]将TSIS、VC、MATLAB集成,构建交通控制仿真平台。陈茜等[3]利用接口原理将VC与TSIS集成构建仿真平台,评价了交通管理措施对大型活动交通消散影响。李文勇等[4]利用接口原理将TSIS和VC进行集成,对交通诱导进行仿真分析。Liu等[5]研究了Paramics软件的二次开发功能在感应信号控制、信号协调、匝道控制方面的应用。Yin[6]等利用Paramics软件的应用程序接口研究了匝道控制公平性的问题。卢守峰等[1]利用COM接口技术和Excel Link将VISSIM、Excel VBA和MATLAB进行集成,构建仿真平台。连仁包[7]利用COM接口技术和MATLAB引擎将.NET、VISSIM和MATLAB进行集成,构建交通仿真平台。Tettamanti等[8-9]利用COM接口,将MATLAB、C++和VISSIM进行集成,并实现与一个真实信号机的通信,研究了模型预测控制策略(MPC)对城市管理的影响,在此基础上,又利用COM接口、动态链接库和MATLAB引擎接口技术,将VISSIM、VISUM、MATLAB进行集成,研究了城市交通网络管理与控制问题。

目前,国内外关于VISSIM集成仿真控制/优化的研究文献较少。本文旨在研究微、宏观交通仿真模拟器VISSIM/VISUM与MATLAB的集成技术。该技术利用MATLAB为控制器,并编写交通管控模型及优化算法,通过COM接口技术调用VISSIM/VISUM的仿真对象,并控制交通仿真的运行,而仿真相关数据通过COM接口技术返回MATLAB控制器。本文提供的方法不需要借助动态链接库技术和MATLAB引擎接口技术,可以简易高效地实现VISSIM、VISUM、MATLAB这三者之间的相互通信。

1VISSIM和VISUM简介

VISSIM是一种微观的、基于时间间隔和驾驶行为的微观建模工具,用于城市交通和公共交通运行的交通建模。VISSIM可以分析各种交通条件下的城市交通的运行状况,如车道设置、交通构成、交通信号、公交站点等,是评价交通工程和城市规划方案的有效工具。

VISUM是一种适用于交通规划、交通需求建模及网络数据管理的综合性、高灵活性的宏观仿真软件。VISUM软件系统由需求模型、路网模型和影响模型组成。其中,需求模型采用基于起讫点的方法或基于活动链的方法,通过各种类型需求的交通方式来计算出行需求。路网模型是一个包含私人交通和公共交通相关信息的多方式交通网络。影响模型可以分析和综合评估交通系统产生的一系列影响结果。

VISSIM可以将其微观的路网信息,如路段长度、车道数量、交通组成、驾驶行为参数等,导入VISUM,形成宏观的路网。VISUM也可以将其宏观的路网信息,如路段长度、节点、OD矩阵等,导入VISSIM,形成微观路网。

当前主流的微观交通模拟器有:VISSIM、TransModeler、Synchro、S-Paramics、Q-Paramics、TSIS、AIMSUN[10]。主流的宏观交通模拟器有:VISUM、TransCAD、Cube、Emme。相比于其他仿真模拟器,VISSIM和VISUM同为PTV开发的产品,将微观和宏观仿真模型无缝集成,与GIS集成,并且提供了全面的二次开发接口,另一方面支持脚本编写,可以按照自己的需求修改、设计某些模块,如:驾驶员行为模块,车联网模块,信号机模块,排放模块,收费模块等。因此,相比于其他交通模拟器,VISSIM和VISUM更适合本文的研究。

2COM接口技术

COM(Component Object Model,组件对象模型),是由微软推出的一套接口规范,通过设定不同组件之间需要遵守的标准与协议,主要用来跨语言、跨进程之间的模块通信。它遵循一些二进制和网络标准,通过这种标准可以在任意两个组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是否运行于同一台计算机。COM允许开发者开发出各种各样功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。COM具有很多优点:(1)可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;(2)可以在多个应用系统中重复利用同一个组件;(3)可以方便地将应用系统扩展到网络环境下;(4)支持不同语言对组件的访问。COM组件以接口对功能进行分类,便于组织、升级、维护,同时COM组件可以轻松实现进程间调用和分布式调用等优点受到广泛应用。

VISSIM和VISUM都提供了COM接口,在安装的时候,软件默认会自动安装COM组件,凡是支持COM技术的语言都可以访问这些组件,从而达到二次开发的目的。VISSIM和VISUM的COM接口定义了一个层次模型,通过COM,使用者可以控制用户模型中几乎每一个元素,其中最初由用户图形界面提供的模拟器的功能和参数均可以通过编程来实现[11-12]。MATLAB支持COM接口技术,可以直接访问VISSIM和VISUM中的组件。

3VISSIM/VISUM与MATLAB的集成技术

MATLAB是目前广泛使用的高级计算语言和交互式环境,包含了大量的工具箱和库函数,广泛用于算法开发、数据可视化、数据分析、数值计算等方面。本文将集成VISSIM、VISUM与MATLAB三种软件,利用VISSIM和VISUM提供的优秀可靠的仿真环境,MATLAB高效的矩阵运算、数值分析的能力,构建先进的交通仿真控制平台。实现MATLAB与VISSIM/VISUM之间相互通信的常见方法有如下几种:

(1)直接利用COM接口。结合上一部分的内容,MATLAB可以通过COM接口直接调用VISSIM/VISUM。

(2) 借助MATLAB引擎和其他编译器。使用Visual Studio(C/C++、VB、.NET)、Excel(VBA) 等编译器作为主控程序,通过MATLAB引擎调用MATLAB,通过COM接口调用VISSIM/VISUM。该方法需要MATLAB运行环境,运行速度慢。

(3)转译M文件。利用MATLAB将M文件编译成C/C++文件,Visual Studio直接调用C/C++文件,通过COM接口调用VISSIM/VISUM。该方法允许应用程序脱离MATLAB环境,但是由于Visual Studio不能完美识别转译的C/C++文件,兼容性差。

本文选择操作最简单,兼容性最好的第一种方式,具体实现方法如图1所示。以MATLAB作为控制器,通过COM接口直接调用VISSIM对象和VISUM对象,VISSIM与VISUM的仿真数据也可以通过COM接口返回MATLAB控制器,从而实现VISSIM/VISUM与MATLAB之间的数据交互。上述集成技术操作简单,不需要调试配置文件,适用范围广,为广大科研工作者研究交通仿真控制/优化问题提供了可行有效的方法。

具体地,采用COM接口技术进行集成的一般步骤如下:

(1) 预先建立VISSIM/VISUM路网;

(2) 创建 VISSIM/VISUM COM server;

(3)加载VISSIM的路网文件和配置文件;加载VISUM的主文件;

(4)定义VISSIM/VISUM的子对象,如:Simulation,Link等;

(5)初始化参数,如:仿真周期、仿真速度、流量输入等;

图1 MATLAB和VISSIM/VISUM接口原理

(6) 控制VISSIM/VISUM仿真运行。

VISSIM/VISUM COM对象模型有一个严格的对象等级,如果要进入不同的低等级对象,就必须按照这个等级来进行操作,如:要访问VISSIM中的simulation对象就必须先访问VISSIM对象。在VISSIM和VISUM中,VISSIM和VISUM分别是最高等级对象,其他的对象都是它们的子对象。以下代码说明了如何利用MATLAB调用VISSIM/VISUM运行仿真。

4 集成VISSIM/VISUM与MATLAB的多精度交通仿真平台的实例研究

根据研究的需要可从不同粗粒程度进行交通仿真:微观层面,把每辆车作为基本单元,获得比较精确的评价指标,但是需要花费大量时间;宏观层面,把交通流作为基本研究对象,可快速得到交通评价指标,但是结果精度不高。本研究综合考虑了微观仿真和宏观仿真的优势,集成了VISSIM/VISUM和MATLAB的交通仿真控制/仿真平台,并根据实际需求设计路网评价指标。

研究实例是以一个虚拟的路网作为研究对象,利用平台集成技术研究交通仿真在不同层面上的效率。首先,建立路网有两种途径:(1)先用VISUM建立宏观路网,再将已经建立好的宏观路网导入VISSIM中生成微观路网;(2)先用VISSIM建立微观路网,再将微观路网导入VISUM中形成宏观路网。本部分的实例采用方法(2),利用旅行时间作为评价指标,从微观和宏观两个层面研究仿真效率的问题。图2为本文选取的虚拟路网,A点和B点为交通流的发生点,C点和D点为交通流的吸引点,①、②、③、④、⑤、⑥、⑦、⑧为8条单向可变道路段。从A点到C点有两条路径:A-①-③-④-⑥-⑦-C和A-①-③-⑤-⑥-⑦-C,记为路径1和路径2。从A点到D点有两条路径:A-①-③-④-⑥-⑧-D和A-①-③-⑤-⑥-⑧-D,记为路径3和路径4。从B点到C点有两条路径:B-②-③-④-⑥-⑦-C和B-②-③-⑤-⑥-⑦-C,记为路径5和路径6。从B点到D点有两条路径:B-②-③-④-⑥-⑧-D和B-②-③-⑤-⑥-⑧-D,记为路径7和路径8。选择这8条路径比较两个层面的仿真效率。该路网10分钟的具体OD数据见如表1。

表1 虚拟路网的OD

为保证程序的顺利运行及宏观和微观路网的一致性,同一台电脑上需要同时安装VISSIM、MATLAB、VISUM这三个软件,并且对软件和路网进行如下设置:

(1)分别注册VISSIM/VISUM COM Server:VISSIM和VISUM安装的时候,默认进行COM Server注册,如若注册失败,则可以按照《VISSIM COM接口用户手册》和《COM-Documentation for VISUM》对COM Server进行手动注册。

(2)构建交通需求:VISSIM和VISUM都采用OD构建交通需求。

(3)VISSIM采用动态交通分配:仿真时间设置为600s并仿真多次用于路径搜索,使得动态交通分配算法收敛,目的是使路网达到一种稳定的交通状态,即旅行时间和交通流量均不发生变化。设定算法的终止条件是:相同OD,不同路径上的旅行时间之差小于5%,即:路径1和路径2,路径3和路径4,路径5和路径6,路径7和路径8上的旅行时间之差均小于5%。(4)VISUM中阻抗函数选择:BPR函数,见式(1):

式中:ta为路段a上的阻抗;t0为零流阻抗;qa为路段a上的交通量;ca为路段a的实际通行能力;α、β为阻滞系数,在本例中α=0.15、β=4。

(5) VISUM中交通流分配方法选择:均衡分配法,即根据用户均衡进行分配。

(6) VISUM中路网参数设置:路段通行能力设置为900pcu/(h·车道),自由流状态下的速度为60km/h。

完成上述设置之后,集成仿真平台的运行流程图如图3所示:

图4演示了多精度交通仿真控制平台的实例运行界面。图4的下层图片是MATLAB控制器的界面,用于调用并控制VISSIM和VISUM;中层图片是VISUM在执行交通流分配时的界面;上层图片是VISSIM仿真界面。仿真运行的数值结果如表2所示。

图3 集成仿真平台流程图

图4 集成VISSIM/VISUM和MATLAB仿真平台的实例

表2 仿真结果

从表2可知,微观仿真和宏观仿真由于计算方法的不同导致结果出现一定的差别。从仿真次数来看,VISUM只需要仿真1次就能得到交通流分配的结果,而VISSIM需要仿真17次才能达到算法终止的条件。从仿真时间来看,VISUM单次仿真需要花费4.5915s,VISSIM单次仿真需要4.7996s,相差不多,但是由于VISSIM需要进行多次仿真才能使算法达到收敛标准,因而总仿真时间达到74.8513s,远远高于VISUM。一般来说,在仿真环境都接近现实的情况下,微观仿真模拟器计算出的结果更加精确,但是耗时较长,宏观仿真模拟器计算更快,但是精度较低。

5 研究结论

本文集成了VISSIM/VISUM与MATLAB并构建了多精度交通仿真控制平台。该平台集成了三者的优势:宏观交通仿真的高效性、微观交通仿真的高精度以及MATLAB强大的矩阵运算、数值计算性能等,支持从宏观和微观两个层面研究交通管控措施优化问题。最后,通过一个交通仿真实例验证了此仿真优化平台的可行性和可操作性。该方法具有如下优势:(1)快速建立路网,提高工作效率,如:微观路网与宏观路网的互导;(2)宏观路网数据应用到微观仿真中,如:VISSIM可以借助VISUM来获取GIS数据;(3)支持从宏观和微观两个层面评价交通管控措施的优劣。值得注意的是,将本文提出的方法应用到实际路网时,需要先对微观模拟器VISSIM和宏观模拟器VISUM进行标定,以使仿真环境尽可能地接近现实,提高实验结果的可靠性。

猜你喜欢

接口技术模拟器宏观
了不起的安检模拟器
盲盒模拟器
划船模拟器
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
电力系统全网一体化暂态仿真接口技术
宏观与政策
中文GIS自然语言接口技术研究
宏观
宏观
动态飞行模拟器及其发展概述