黄思翰,邵益平,张田会
(北京理工大学机械与车辆学院)
北京地铁2013年3月9日在网页上正式宣布,3月8日当天,全路网日客运量首次突破1 000 万人次,达到1 027.6万人次,创历史新高,成为世界上最繁忙的城市地铁网,地铁运输已经成了北京公共交通的主力军,对地铁系统交通系统的研究和提高研究的精确度就变得迫在眉睫。
地铁作为一个复杂离散系统,通过流程分析可以发现实际运行过程中受到随机因素、人为因素等的影响,加上系统本身的复杂性,传统的单纯的数学建模优化思路不能满足现代优化的需要,另外,传统的地铁优化方案的验证一般是通过“试运行”来进行,耗费了大量的人力物力财力,还给乘客的出行带来不便。鉴于近年来关于系统的研究、以及系统仿真建模的研究成为热点,通过借鉴参考文献等研究成果,本文提出了基于Plant Simulation 的地铁交通系统仿真建模新思路。利用Plant Simulation 的面向对象的建模方式,对地铁交通系统进行建模,尽量真实地反映地铁交通系统,一方面可以根据仿真结果对系统进行优化,让优化方案更加有针对性,另一方面也可以利用仿真模型来验证优化方案,以提高优化方案的可信度,利用仿真模型对地铁交通系统进行规划,避免了传统的“试运行”的方案可行性论证的繁琐过程。
通过对地铁站的运行情况、组成结构进行流程分析,得出如下结论:地铁系统作为一个大的排队系统,可以细分为三个子系统——乘客系统、调度系统、列车系统。当乘客到达地铁站时,作为乘客系统的到达事件,首先进入地铁的等候区,若此时列车正好停靠在站点并且列车还没有满员,那么乘客就可以按照FIFS 先到先服务)的规则,按顺序上车,若列车已经满员,则继续等待。同样地,对于列车系统来说,列车进站构成列车的到达事件,列车到站后,如果有下车的乘客,则下车乘客按照FIFS 原则完成下车事件,下车乘客离开列车后进入地铁等候区,随后离开地铁系统,构成乘客的离开事件。列车上的下车乘客服务完毕之后,或者没有下车乘客,如果有乘客在排队系统中排队准备上车,则对该乘客系统的队列进行服务。在列车系统进行上下车服务的过程中,调度系统不断监控乘客系统和列车系统,若检测到没有等候上车的乘客或者队列中的乘客已经上车或者列车已经满员或者计划停车时间已经到了,那么就允许列车出站,构成列车的离开事件。
地铁系统运行流程统计表和流程图如表1 和图1 所示。
表1 地铁正常运转流程统计
图1 地铁系统流程
客流的基本特征是其沿时间和空间分布的小均匀性,即客流的动态特性。限于数据资料本次研究重点以北京市的某地铁交通线路的几个站点作为研究对象。
对于客流的分析,主要考虑乘客进站、出站、上车、下车四个过程。对于乘客的进站,即乘客到达某地铁站,若令N(t)表示在时间间隔(0,t)内到达地铁站的乘客数,则{N(t),t≥0}是连续时间参数的随机过程(计数过程)。
对于上述的随机过程满足。
(1)N(0)=0。
(2){N(t),t≥0}有独立增量,即对任取的n 个时刻:0<t1<t2<…<tn,随机变量N(t1)-N(t0)、N(t2)-N(t1)…N(tn)-N(tn-1)是相互独立的。
(3){N(t),t≥0}具有平稳增量,且对任意t≥0 与s≥0,有,k =0,1,2,…则有P其中λ(>0)为常数,则称{N(t),t≥0}是泊松过程,也称Poisson 流或最简单流。
注:定义的第(1)条表示t=0 时无乘客到达;第(2)条表示乘客到达过程具有无后效性,即在不相交的时间区间内到达的乘客数是相互独立的;第(3)条表示在(t,t+Δt)内到达的乘客数只与时间区间的长度有关,而与起点无关,而且服从泊松分布,因此,对一个固定时刻t≥0,在(0,t)内到达乘客的平均数E[N(t)]=λt,这样在单位时间内到达乘客的平均数为参数λ,它表示Poisson 流的强度,此为参数λ 的物理意义。
因此,对于乘客的进站过程和出站过程都可以认为是一个泊松过程,乘客的进出站过程都是一个泊松流。
同理,对于乘客的上下车过程,由于列车每次在站台停留的时间间隔不同,对于上车过程,考虑单位乘客上车的输入过程,令X(t)表示在列车停下上下车的时间间隔(0,t)内上车的乘客数,则{X(t),t≥0}是泊松过程,也称Poisson 流或最简单流。对于乘客下车过程也是一个泊松过程,而此时的λ 表示单位时间内上车乘客或下车乘客的平均数。
Plant Simulation,原名eM-Plant,是西门子公司开发的一款建模与仿真的软件。Plant Simulation 具有丰富的建模单元,能够对生产和物流等离散系统进行仿真和优化,采用面向对象和事件驱动的思想来实现建模和仿真过程。Plant Simulation 内部具有丰富的物流和交通系统建模组件,具有建模效率高、可视化建模能力、二次开发能力强、操作简单等优点,被广泛用于生产和物流系统的建模、仿真和优化过程中。
利用Plant Simulation 对地铁交通系统进行仿真建模,实现列车按调度系统提供的时间表发车、停站和离开,乘客按照实际分布到达和离开地铁交通系统的功能,通过地铁等候区的等待情况或堵塞情况等性能评价指标对地铁交通系统的运行过程、运载能力等给予评价,充分运用Plant Simulation 擅长解决“what-if”问题这种评估模式的特点。
Plant Simulation 是基于面向对象的建模过程,采用层次化的结构,具有图形化的工作环境,易用性强、灵活性打,并且提供了建模的对象库供用户直接用于仿真模型的构建。为了实现快速建模和简化模型的目标,根据面向对象的建模思路,利用系统提供内置的模块和Simtalk 语言相结合的方式,完成对地铁交通系统的模型化描述。
3.3.1 层次化
地铁交通系统作为一个复杂离散系统,为了便于对地铁系统进行分析和处理,将地铁系统分解成相对比较简单的子系统,根据对地铁系统的调查数据,得出如图2 所示的地铁交通系统构成体系。
图2 地铁交通系统数据流图
在建模过程中,根据地铁系统的特性,利用Plant simulation 中的Frame嵌套功能来描述子系统和总系统之间的关系,即在地铁交通系统中,嵌套的Frame 可以视为子系统——地铁站点,如果有必要的话也可以在地铁站点的Frame 里嵌套Frame 作为地铁站点的子系统,代表出入口或者候车区等。
3.3.2 模块化、集成化
地铁系统的层次化描述是为了更清晰的了解地铁系统的内部结构,在具体的建模过程中,对不同的功能区进行分块处理,这样,建模过程将会更加清晰更加快速。从地铁这个大系统来说,每一个地铁站可以单独为一个模块,地铁站内集成了出入口区域、等候区、列车轨道区等区域,在地铁站内这些功能区也同样采用模块化处理,这样建模过程中只需要根据实际情况增减功能模块,大大提高了建模效率。另外,数据收集和数据处理、图表展示内容也需要单独开发一个模块,这样,构建的模型将更加有条理,也能实现快速建模。
3.3.3 继承性
考虑到地铁站点基本功能和构造的相似性以及为了让仿真建模的过程更加有效率,充分利用Plant simulation 的继承性进行模型的构建。比如可以在仿真模型文件夹中新建一个Frame,重命名为Station 来表示地铁站,在这个Frame里可以构建地铁站内轨道、等候区、出入口等功能模块,在构建地铁系统时,只需要在Station 的基础上,根据实际情况修改就可以了,利用了建模的继承性,大大提高的了建模效率。
3.3.4 与图形建模软件的结合
Plant simulation 提供图标自定义的功能,为了让仿真模型更加贴近实际情况,可以利用Solidworks、autoCAD 等图形编辑软件对地铁站、乘客等进行三维或者二维建模,并导入到仿真模型中,这样,仿真模型的可视化效果更好,也更加真实。
3.3.5 SimTalk 语言编程
虽然Plant simulation 内置了丰富的功能模块,完全可以用户的基本需求,但是如果要实现复杂的功能,还需要利用SimTalk 语言进行编程处理,功能模块与method 方法相结合,利用SimTalk 语言进行Method 方法开发实现期望的功能,完成Plant simulation 的面向对象二次开发。例如地铁子系统地铁站中乘客的上下车就无法直接利用功能模块实现,需要进行SimTalk 语言编程,部分代码如下。
这段代码描述了上车的控制过程,首先利用Poisson 分布函数产生一个上车人数,再读取候车区的人数out_loadbuffer.nummu,若候车区的人数小于Poisson 分布函数产生的值,则将候车区内的乘客全部转移到列车上(代码中的@代表列车),否则从候车区中转移i 个乘客到列车上。上车过程利用for···loop···next 循环语句完成,控制精确,切比较灵活。下车的控制方式以此类推。该控制过程通过系统模块与Method 方法编程相结合的方式,充分体现了Plant simulation 面向对象的开发模式的灵活性。另外数据的收集和处理也需要进行编程处理,限于篇幅在这里就不详细列举了。
3.3.6 评价指标
地铁交通系统内的客流由普通出入口带来(带走)的乘客、换乘通道带来(带走)的乘客、列车带来(带走)的乘客这三大部分组成,那么在某一时刻地铁站内存在的乘客人数的计算方法如下:
某一时刻地铁站点内乘客数=∑ΔXi+∑ΔYj+∑ΔZk
其中:
ΔXi为n 时刻每一个出入口已经到达人数和已经离开人数的差值;ΔYj为n 时刻每一个换乘通道已经到达人数和已经离开人数的差;ΔZk为n 时刻列车带来和带走的人数的差值。
通过分析站内在某一时刻的总人数以及各个出入口的缓冲区内的人数变化,便可以很方便的找到引起地铁站内人数变化的具体原因。
通过对北京某地铁线路的相关数据收集和分析处理,构造了一个地铁交通系统,验证了本文提出的建模思路的可行性和有效性。
地铁交通系统从宏观上分为始发站、终点站、普通站、换乘站等四大类,始发站和终点站也有可能同时是换乘站;连接站点的是两条地铁轨道,供列车双向运行;列车按照发车时刻表从始发站出发,按照轨道规定的线路一次通过沿途各个站点,如图3 所示。从微观上看,地铁站点一般情况下有四个出入口,换乘车站多一到两个的换乘通道,乘客按照泊松分布到达地铁出入口,通过地下通道进入等候区,按照先进先出的规则上下车如图4 和图5 所示。另外,为了方便仿真结果的分析和处理,在每一个地铁站点模型内增加数据收集模块,用来收集出入口到达和离开的人数、列车运走和带来的人数等相关数据,以便于进行结果分析,如图6 所示。
由于采用层次化、模块化的建模策略,所以如果地铁站点需要增减就可以很方便的增减相应的模块,建模效率大大提高,建模灵活性也有明显提升。
完成地铁交通系统仿真模型的构建后,进行模型检验,输入如表2 所示的必要的数据。
图3 地铁交通系统外观
图4 地铁站内结构图
图5 地铁出入口示意图
图6 仿真数据统计图表
表2 仿真模型数据输入
运行仿真模型,仿真结束后,打开Total_Chart 即站内总人数统计图,得出如图4.5 所示的仿真结果。
图7 仿真结果数据统计图
数据统计图纵坐标表示人数,横坐标表示时间,例如1.0000 时刻,对应的纵坐标为200,说明这一时刻存在于地铁站中的人数为200。另外,在7.0000 时刻客流量比较大,达到了1000 人,此时地铁站内出现相对拥堵的情况,需要尽快将站内的乘客运走,这样就可以通过分析该时刻的地铁出入口、乘客上下车人数等相关数据查找原因,从而提出寻找和提出有针对性的解决方案。另外,如果想要了解各个出入口、换乘通道等的详细数据,可以打开图4.4 所示的相应的图表来获取所需要的具体数据。
仿真实例从数据的收集和分析到模型的构建,再到最后的仿真结果的分析,充分验证了本文提出的建模思路的可行性和有效性。基于Plant simulation 软件采用面向对象的建模方法对地铁交通系统进行仿真建模,简单、方便,充分发挥了Plant simulation 仿真软件建模形象直观的优势。层次化的建模结构、封装的对象机制,提高了模型的可维护性和可重复利用性,符合地铁交通系统快速发展的特点,对地铁系统的研究工作的开展来说有很大的帮助。
地铁交通系统实际运行过程中受到随机因素、人为因素等的影响,加上系统本身的复杂性,本文中建模过程中做了相应的假设和简化,在今后的研究中还需要对地铁系统和模型进行更进一步的探索和研究,使模型与实际情况更加贴合。
[1]郭鹏,程文明,张则强.铁路集装箱物流中心系统建模与仿真分析[J].计算机工程与应用,2011,47(17):235-238.
[2]王艳青,程文明,张则强.基于Em-plant 的铁路集装箱货场装卸系统仿真研究[J].起重运输机械,2008(12):7-12.
[3]徐翔斌,王琦,涂欢.基于Em-plant 配送中心的流程仿真和优化[J].华东交通大学学报,2011,28(1):29-33.
[4]杨垄.基于Em-plant 的生产物流系统仿真与应用[J].工业工程,2010,13(5):95-100.
[5]张如杰,杨自建,王伟,等.eM—Plant 在机车预组装生产线建模与物流仿真中的应用[J].装备制造技术,2013(5):140-143.
[6]王国新,宁汝新,王爱民.面向可重构制造单元的仿真建模技术研究[J].系统仿真学报,2007,19(17):3894-3898.
[7]梁婷婷.城市客运枢纽换乘系统仿真研究[D].天津工业大学,2010.
[8]鲍婷洁,楼佩煌,王晓勇.制造系统敏捷性仿真建模软件开发[J].机床与液压,2011,39(23):137-140.
[9]周金平,汪锐.生产系统仿真——Plant Simulation[M]. 第一版.北京:电子工业出版社,2011.
[10]施於人,邓易元,蒋维.eM-Plant 仿真技术教程[M].第一版.北京:科学出版社,北京希望电子出版社,2009.
[11]陈书宏,肖超.Em-plant 在生产线前期规划中的应用[J].控制工程,2011,18(5):748-750,819.
[12]倪菊,张树泉,童朝南.基于虚拟现实的地铁客流仿真系统的实现[J].计算机仿真,2008,25(4):258-262.
[13]龚光鲁,钱敏平.应用随机过程教程及在算法和智能计算中的随机模型[M].第一版.北京:清华大学出版社,2004.