APP下载

基于多维运筹函数的城市轨道交通网络优化设计

2021-08-07

科技创新与应用 2021年21期
关键词:轨道交通乘客交通

商 阔

(山东大学 数学学院,山东 济南 250100)

依据交通运输部的数据,截至2020年12月31日,全国已经有44个城市开通了城市轨道交通,一共拥有233条交通线路,总长度达到7545公里,地铁车站4600多座,在轨运行的车辆达到2528辆。建成后交通网络将更加复杂①。

从数据上来看,城市轨道交通客流量很大,其中乘客出行目的地复杂,具有很大的不确定性。研究城市轨道交通主要是依据O-D数据,O-D数据是一种从起点到终点之间的数据,这个数据可以通过调查得出,目前大多采用向路人采访、或者是货流的调查等等,依据这些调查数据,可以整理出不同的影响因素与起终点相关的各种分布研究,也可以做交通统计调查、交通发生的统计等图直观地描述交通状况。

在现实中,可以利用城市的某时刻乘客O-D数据,并依据城市轨道交通的基础信息数据、该时段的列车运行数据以及北京城市轨道交通的主要状况,就可以从微观领域涉及分析某个人最优化的出行策略,并利用MATLAB软件设计一套算法,尽可能地优化乘客出行的最优路径安排。

1 已有的文献

交通优化是一个数学建模问题,数学模型是利用数学符号、数学理论、程序以及图形等,对实际问题的本质进行高度抽象刻画的一种模拟方法。从知识体系来看,高等数学分为数学原理的基础研究、数值的计算以及进行数学建模,数学建模是数学知识在实践中运用的重要体现,在软件方面,如MATLAB、Mathematica等软件的开发,更是推进了数学的发展,在新工科建设的背景下,数学建模也是重要的课程。

陈文斌等[1]从单点信号控制出发,考虑到一些交叉口轨道交通运行的特点,针对信号相位组合提出优化策略,通过定义相位灯中的绿灯利用率,把相位灯中与交通流组合的问题抽象为交通对象的聚类问题,然后综合运用聚类分析,建立优化模型,模型将轨道交通在交叉口的延误时间作为优化对象,并运用vissim进行仿真,得出这样可以使得总延误时间降低15%左右。朱宇婷等[2]在深入考察轨道交通拥挤和客流的脉冲特征之后,用线路中各个发车的时刻相位作为变量,以乘客支出最小化为目标,以轨道交通的容量、间隔、站台最大容量和补贴等为约束条件,基于遗传算法等技术,提出了调整轨道交通费用和旅客出行开支的优化方法。万浩纯等[3]将旅行乘客的最短出现时间与客流量进行了匹配,在考察了停站次数、线路车辆以及调查的时间间隔等因素的前提下,通过蚁群和遗传算法求解了两个目标同时实现的可能性,提出了越行判别的方法,建立了优化模型,并以上海的16号轨道交通为例,进行了验证,结果表明,优化后乘客消耗的时间降低了9.2%,验证了模型的有效性。郝雪、王世平[4]分析了轨道交通中的供电问题,试图将弓网系统进行优化,主要是采用提高弓网耦合建立模型仿真的精度,对传统模型中较难实现受电弓滑板的情况描述问题进行了改进建模,并针对弓网系统中振动和刚性接触的截面导致仿真不准确的问题,提出利用接触压力来检测的原理,并运用Ansys软件进行了建模仿真,结果显示,仿真结果比传统检测提高了精度,具有更高的可靠性和精确性。郭晓林[5]综合考虑的交通中的三大效益,即经济效益、交通效益和社会效益,提出了交通最优化的轨道综合模型,并以宝鸡市的交通作为样本,验证了模型的可靠性。刘洪丽、冯伯林[6]运用矩阵迭代的方法进行了道路优化的建模,通过与Dijkstra算法进行对比发现,该算法可以更加简洁地进行优化,显示出所走的路径,并利用某个中等城市的数据进行了分析。

上述文献采用的方式都是先数学建模,然后再进行样本的验证,从文献上看,数学建模的思想是重要的,首先有了建模优化的思路,问题也就迎刃而解。下面先利用运筹学中的一些知识构建出建模思想,然后利用MATLAB进行模型化,最后用样本进行验证。

2 最优交通设计的思路

2.1 绘制出行距离分布图

乘客的出行距离分布,主要是采用graph函数,将距离为1(即相隔一站距离)的车站和换乘车站相连,建立一个拟地铁线路图。然后利用distances函数,求出每一个乘客的起点和终点的最短距离,即为出行距离。但注意到换乘车站虽然相连但距离为0,故给予所有因换乘相连的车站以权重0.01,这样在计算最短距离时,换乘车站不会有干扰(只有在换乘超过100次时才会有影响,但实际这种情况不会发生),这样以1为一个距离段,去除极少数变量后,利用distances函数绘制出行距离分布图。

2.2 任意两站的最短路径设计

利用shortestpath函数求出每个人走最短路径需依次乘坐的车,然后根据每个人的入站时间和列车的到达、出发时间,第一辆车的出发时间需在乘客入站时间之后,第二辆车的出发时间需在上一辆车到达换乘点的时间之后,以此类推,找出符合条件的列车的编号。最后用shortestpath函数可以求出任意两站的最短路径。

2.3 运用样本进行检验

程序是否可靠需要样本的检验,这里采用北京轨道交通某一时段的具体数据,带入程序进行验证,并针对结果进行评析。

3 最优交通设计的MATLAB代码

3.1 程序的设计

按照以上思路,利用MATLAB可以设计出最优交通路线:

load('origin.mat')//number=table2array(OD(:,1));//originator=table2array(OD(:,2));//destination=table2array(OD(:,3));//start_time=table2array(OD(:,4));//f inish_time=table2array(OD(:,5));

%以上操作可以将O-D数据表格数据分为五个相应变量

l=1:328;//k=1;//whilek<=length(originator)//if~ismember(originator(k),l)//~ismember(destination(k),l)//number(k)=[];//originator(k)=[];//destination(k)=[];//start_time(k)=[];//finish_time(k)=[];//end//k=k+1;//end//duration=finish_time-start_time;

clear lk%去除所有非法变量

station_number=table2array(information1(:,1));//station_name=table2array(information1(:,2));//line=table2array(information1(:,3));//road=zeros(328);

for k=1:328//for l=1:328//ifstation_name(k)==station_name(l)//road(k,l)=1;//else

if abs(k-l)==1&&line(k)==line(l)//road(k,l)=1;//else//road(k,l)=0;//end//end//end//end%根据所给地铁路线图,生成一个“道路”矩阵

road(37,54)=1;//road(54,37)=1;//road(193,237)=1;//road(237,193)=1;//road(300,150)=1;

road(150,300)=1;%环形线特殊情况

clearlk;//G=graph(road,'omitselfloops');//for k=1:height(G.Edges)

if station_name(G.Edges.EndNodes(k,1))==station_name(G.Edges.EndNodes(k,2))

图1 北京市部分乘客出行距离分布图

表1 北京市某时间段乘客的最优乘车路线设计

G.Edges.Weight(k)=0.01;//end//end//for k=1:length(originator)

distance(k,1)=distances(G,originator(k),destination(k));//end//distance=floor(distance);

clearlk;//%统计所有人的出行距离

c=0;//m=-1;//while sum(c)<10^4//m=m+1;//c=distance<=m+1;//c=distance(c)>m;//end

st=m;//%筛选出最小的满足运行量在图像上明显的时段

while sum(c)>=10^4//m=m+1;//c=distance<=m+1;//c=distance(c)>m;//end//ed=m+1;

%筛选出最大的满足运行量在图像上明显的时段

bin_dt=st:ed;//histogram(distance,bin_dt);%绘制出行距离分布图

clear bin_stcdedmnstsupposed_todaybin_edbin_dubin_dt

subways(end+1,:)=subways(1,:);

x=[2,7,19,31,41,71,83,89,113,2845,124801,140610,164834,193196,223919,275403,286898,314976,315621];//x=string(x);//subways_taken=[];//for n=1:length(x)

line_number=find(number==x(n));//P=shortestpath(G,originator(line_number),destination(line_number));//now=start_time(line_number);//p=1;//while length(P)>1

l=find(subways.station==P(1));//l=l(subways.station(l+1)==P(2));//l=l(subways.set_off(l)>now);//mintime=min(subways.set_off(l))//l=l(subways.set_off(l)==mintime)//l=l(1);l=subways.number(l);//subways_taken(p,n)=l;//p=p+1;

l=find(subways.number==l);//l=l(subways.set_off(l)>now);//A=subways.arrive(l);//l=subways.station(l);//while l(1)~=P(1)&&l(2)~=P(2)//l(1)=[];//A(1)=[];//end//k=0;//while l(1)==P(1)

l(1)=[];//P(1)=[];//k=k+1;//ifisempty(P)||isempty(l)//break//end//end//now=A(k);//end//end

clearklmintimeAnansline_numbernowpPx//subays_taken;//P=shortestpath(G,a,b);%对于需要从a站到b站的乘客,输入左边相应的程序即可得到最短路径。

3.2 程序执行

为了验证程序有效性,输入北京市的有关数据,然后执行上述程序后,得到所有人出行(默认所有人按最短路径)距离分布见图1。

带入相关的数据,可以解出最优出行路线设计。如表1所示。

从结果来看,本程序可以对乘客的路线进行优化,并能够节约出行时间,同时也可以防止轨道交通的过度拥挤,最大化地利用轨道交通。

4 结论

出行的最优设计有利于提高交通运行的效率,减少不必要的转车,降低轨道交通的拥挤程度。本文利用运筹学的相关函数,设计了MATLAB程序,并以北京市为例进行验证,从效果来看,程序运行良好,能够得到期望的效果。

注释:

①交通部《2020年城市轨道交通运营数据》,2021年4月3日交通要闻。

猜你喜欢

轨道交通乘客交通
轨道交通产品CE认证论述
嫦娥五号带回的“乘客”
高速轨道交通发展趋势
繁忙的交通
最牛乘客
小小交通劝导员
车上的乘客
高铁丢票乘客索退款被驳回
基于CAN的冗余控制及其在轨道交通门禁环网中的应用
城市轨道交通联调探讨