【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 详细建模方案及代码实现

简介: 本文详细介绍了2023年第十三届MathorCup高校数学建模挑战赛B题的城市轨道交通列车时刻表优化问题,提供了详细的建模方案、优化目标、约束条件以及MATLAB代码实现,旨在最小化企业运营成本并最大化服务水平。

相关信息

(1)建模思路

【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现

【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 详细建模方案及代码实现

【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 建模方案及代码实现

(2)完整论文

【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 42页论文及代码

【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 42页论文及代码

【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 赛后总结之31页论文及代码

【2023 年第十三届 MathorCup 高校数学建模挑战赛】D 题 航空安全风险分析和飞行技术评估问题 27页论文及代码

【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题

请添加图片描述
更新信息:2023-4-15 更新了代码

1 题目

列车时刻表优化问题是轨道交通领域行车组织方式的经典问题之一。 列车时刻表规定了列车在每个车站的到达和出发(或通过)时刻,其在实 际运用过程中,通常用列车运行图来表示。图 1 为某一运行图的示例,图中每一条线表示一趟列车,横轴表示车站,纵轴表示时间,每一条线反映 了一趟列车在不同时刻所处的相对位置,也称为运行线。比如,图中红色 运行线表示,列车于 9:02 分从 D 站出发,于 9:05 分到达 C 站,停留 1 分钟后出发,于 9:09 分到达 B 站,停留 1 分钟后出发,于 10:03 分到达A 站。

在这里插入图片描述

图 1: 列车运行图示意图

实际运营中,在铺画列车运行图之前,首先得先确定列车开行方案, 列车开行方案包括列车编组方案、列车停站方案和列车交路计划三部分。列车编组方案规定了列车的车型和编组数量(即列车的节数),在本问题中采用统一的车型和编组数量。列车停站方案是规定列车在哪些站点停站的方案,在本问题中均采用 站站停的停站方案(即列车在每个经过的车站都会停车)。列车交路计划是指列车在规定的运行线路上往返运行的方式,即规定 了列车在哪些站点之间运行以及开行的数量。大小交路模式是城轨运营中 常用的交路模式,是指城市轨道交通运行线路的长短区间。通俗讲,大交 路是指列车跑完全程,小交路是指将全程中的某两个站作为临时起点或终 点来跑,需要注意的是,只有具有折返能力的车站(能让列车调头的车站) 才能作为交路的起点或终点。图 2 为某大小交路方案示意图,表示以 A 站为起点的,D 站为终点大交路区间开行 10 对列车,以 A 站为起点,C 站为终点小交路区间开行 5 对列车。

在大小交路方案中,大小交路列车开行列数通常为1:n 或n:1 两种模式, 即每开行 n 列大(小)交路列车后,开行一列小(大)交路列车,并且小交路所经过的车站数量需有一定限制:小交路区间过短会导致列车的折返频繁,使运营成本增加;小交路区间过长则无法体现大小交路运营模式的作用。
在这里插入图片描述

图 2: 大小交路示意图

在大小交路的运营模式下,乘客通常会被分为 6 种类型,如图 3 所示, 其中s1 − sn为大交路区间,𝑠𝑎 − 𝑠𝑏为小交路区间。
第Ⅰ,Ⅱ,Ⅲ类乘客起点均位于[s1, sa],终点无论位于哪个区间,乘客都只能乘坐大交路列车。第Ⅳ,Ⅴ类乘客起点均位于[𝑠𝑎, 𝑠𝑏]。其中第Ⅳ类乘客终点位于[𝑠𝑎, 𝑠𝑏], 乘客既可乘坐大交路列车,也可乘坐小交路列车;第Ⅴ类乘客终点位于[𝑠𝑏,𝑠𝑛],乘客可以乘坐小交路列车之后到𝑠𝑏进行换乘,也可直接乘坐大交路列车。第Ⅵ类乘客起点位于[𝑠𝑏, 𝑠𝑛],终点位于[𝑠𝑏, 𝑠𝑛],乘客只能乘坐大交路列车。

在这里插入图片描述

图 3 :乘客类型分类示意图

在列车开行方案的制定中,需要以最小的企业运营成本和最大的服务 水平(乘客在车时间和乘客等待时间)来满足客流的需求,企业的运营成本包 括固定成本(所需车辆的数量)和变动成本(列车总走行公里)两部分组 成。受到车站通过能力的制约和服务水平的要求,在一定时间内,列车的 发车数量也有一定的限制。在制定好列车开行方案后,可根据该方案同样以企业运营成本最小化 和服务水平最大化为目标铺画列车运行图,即确定每趟列车的出发和到达的具体时刻。现有的列车时刻表通常为等间隔的平行运行图,即发车间隔(如每 5 分钟开行一趟列车)和在同一站点的停站时间相等。发车间隔的长短会有一定的限制:发车间隔过短,则会影响列车运行的安全;发车间 隔过长,则会增长乘客的平均等待时间,从而影响服务水平。同样地,停 站时间也需受到一定限制,一般来说列车在车站的停站时间正比于在该站 上、下车的乘客数量。另外,需要注意的是,两列车在同一区间追踪运行 时,需保留一定的安全间隔(追踪间隔时间)。
采用大小交路运营模式的列车运行图,大交路列车和小交路列车一般 会交替开行,比如当大交路列车与小交路列车的比例为 2:1 时,则会以每3 列车为一个组合(前 2 列车为大交路列车,第三列车为小交路列车)滚动发车。
在下列问题中,只需制定单向的列车时刻表即可。

问题一:在满足客流需求的条件下,以企业运营成本最小化和服务水平最大化为目标,制定列车开行方案。即确定大交路区间列车的开行数量, 小交路的运行区间以及开行数量。(输出格式详见附件 6)
问题二:在问题一制定的列车开行方案下,同样以企业运营成本最小化和服务水平最大化且尽量满足客流需求为目标,制定等间隔的平行运行 图。(输出格式详见附件 7,并将附件 7 单独上传到竞赛系统中)
问题三:对于降低企业运营成本和提高服务水平,你们团队有哪些好的方法或建议?基于客流和车站数据,提供相应的量化分析支持。

名词解释:
乘客在车时间:即乘客从上车到下车所经过的时间,包括列车区间运行时间和停站时间两部分组成。
乘客等待时间:即为乘客在站台候车的等待时间。
断面客流:在单位时间内,沿同一方向通过线路某断面的乘客数量。
如何根据断面客流计算各个断面所需的列车数量:开行数量= ⌈断面客流数/列车定员⌉(向上取整)。
OD 客流:在单位时间内,起始站点到终止站点的乘客人数。
关于等间隔的补充解释:当采用大小交路运营模式时,等间隔为在大交路与小交路重合的区间的发车间隔相等。

输入输出数据:

所给数据为某实际轨道交通线路的真实数据,沿途共有 30 座车站,客流数据的时段为 7:00 - 8:00。数据详见附件。
附件 1:车站数据.xlsx
附件 2:区间运行时间.xlsx 附件 3:OD 客流数据.xlsx 附件 4:断面客流数据.xlsx 附件 5:其他数据.xlsx
附件 6:问题一输出示例.xlsx
附件 7:问题二输出示例.xlsx

2 方案解析

2.1 问题一

  1. 确定目标函数

根据问题要求,目标函数为企业运营成本最小化和服务水平最大化。因此,可以将目标函数表示为:

$$\min \sum_{i=1}^{n}C_i + \alpha \sum_{j=1}^{m}S_j $$

其中, n表示大交路的数量, m表示小交路的数量, $C_i$表示第 i条大交路的运营成本,$S_j$​表示第 j 条小交路的服务水平, α 为调节企业运营成本和服务水平权重的系数。

  1. 确定约束条件

为了满足客流需求,需要满足以下约束条件:

(1)大交路和小交路的列车班次需要满足客流需求。

.。。。略,请下载完整文档

(2)大交路和小交路的列车运行时间需要满足限制条件。

.。。。略,请下载完整文档

其中,Ti,j​表示第 i条大交路上运行的第 j条小交路的运行时间,Tk,j​表示第 k 条小交路的运行时间,Tjmax​表示第 j 条小交路的最大允许运行时间。

(3)小交路的起点和终点必须在大交路的两个站点之间。

.。。。略,请下载完整文档

其中, δk​和ηk,j​表示第 k 条小交路的起点和终点所对应的站点编号,ηi,j+1​表示第 i 条大交路的起点所对应的站点编号。

2.2 问题二

第一步:确定基本参数

我们需要确定一些基本参数,如列车车次数、停车时间、每个站点的乘客数等等。这些参数将用于后续计算。

第二步:计算行车时间

根据列车的开行方案,计算每个车站的行车时间。这个时间包括列车进站时间、停车时间和列车出站时间。使用公式:

.。。。略,请下载完整文档

其中, ti,j ​表示从站点 i 到站点 j 的行车时间,$d_{i,j} $​表示站点 i 到站点 j 的距离, v 表示列车的运行速度,si​表示列车在站点 i 的进站时间, pi​表示列车在站点 i的停车时间。

第三步:计算列车运行图

根据列车的开行方案和计算出来的行车时间,生成列车的运行图。使用MATLAB中的Gantt Chart工具绘制运行图。

第四步:计算乘客的候车时间和乘车时间

根据生成的运行图,计算乘客的候车时间和乘车时间。使用公式:

.。。。略,请下载完整文档

其中,$w_i $​表示在站点 i等车的平均时间,$n_j$​表示在站点 j上车的乘客数量,ti​表示列车在站点 i 的到达时间,tj,i​表示从站点 j 到站点 i的行车时间。

.。。。略,请下载完整文档
其中,Ti​表示在站点 i上车的平均时间,nj​表示在站点 j 上车的乘客数量,ti​表示列车在站点 i 的到达时间, tj,i​表示从站点 j 到站点 i的行车时间。

2.3 问题三

针对降低企业运营成本和提高服务水平的问题,我们团队提出了以下一些方法和建议:

  1. 调整列车运行方案

通过对客流和车站数据的分析,我们可以发现有些站点的客流量较大,而有些站点的客流量较小,因此可以根据客流情况,调整列车运行方案,减少对客流量较小的站点的停靠次数,从而降低运营成本。另外,也可以采用智能调度算法,根据客流实时情况,调整列车运行方案,从而提高服务水平。

  1. 优化站点布局

通过对客流和车站数据的分析,我们可以发现有些站点之间的距离较短,可以考虑将这些站点合并,从而降低运营成本。另外,也可以优化站点的布局,使得客流量较大的站点能够更好地服务乘客,从而提高服务水平。

  1. 推广智能客流管理系统

智能客流管理系统可以通过采集和分析客流数据,实现客流预测和调度优化,从而降低运营成本和提高服务水平。因此,我们可以考虑在地铁系统中推广智能客流管理系统,以提高运营效率和服务水平。

  1. 加强智能安全监控

在地铁运营过程中,安全是至关重要的。因此,可以加强智能安全监控系统的建设,通过人脸识别等技术手段,实现对乘客和地铁设备的智能监控,从而提高运营安全和服务水平。

通过以上方法和建议,可以实现降低企业运营成本和提高服务水平的目标。同时,通过对客流和车站数据的量化分析支持,可以更好地指导地铁系统的运营和管理。

3 代码实现

clc
clear
[~, ~, G] = xlsread('附件1:车站数据.xlsx');
G = G(2:end,2); % 去除车站名称列
T = xlsread('附件2:区间运行时间.xlsx');
C = xlsread('附件3:OD客流数据.xlsx');
D = xlsread('附件4:断面客流数据.xlsx');
min_max_headway = [120, 360];
min_spacing = 108;
min_max_stop_time = [20, 120];
train_capacity = 1860;
min_max_station_num = [3, 24];
avg_boarding_time = 0.04;

n = size(T,1); % 大交路数量
m = size(T,2); % 小交路数量

f = [C(:); ones(m,1)]; % 目标函数系数

Aeq = zeros(m, n*m + m); % 相等约束系数矩阵
beq = D(:); % 相等约束右侧常数

lb = zeros(n*m+m,1); % 变量下限

% 不等约束系数矩阵
A = zeros(m*n,n*m+m);
b = zeros(m*n,1);

% 相等约束
for j = 1:m
    Aeq(j, (j-1)*n+1:j*n) = 1;
    Aeq(j, n*m+j) = 1;
end

% 不等约束
for j = 1:m
    for i = 1:n
        A((j-1)*n+i, (i-1)*m+j) = 1;
        A((j-1)*n+i, n*m+j) = T(i,j);
    end
    A((j-1)*n+1:j*n, n*m+j) = -1;
    b((j-1)*n+1:j*n) = -min_max_headway(1) * D(j) / 3600; % 转换为小时
end

。。。略,请下载完整代码

4 下载

转到知乎文章的最底部,或者私信我

zhuanlan.zhihu.com/p/621736320

目录
相关文章
|
弹性计算 开发工具 git
GitLab的安装及使用教程
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目,与Github类似。本篇教程将教你如何安装部署及使用GitLab。
131781 1
|
机器学习/深度学习 人工智能 算法
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物('蛤蜊', '珊瑚', '螃蟹', '海豚', '鳗鱼', '水母', '龙虾', '海蛞蝓', '章鱼', '水獭', '企鹅', '河豚', '魔鬼鱼', '海胆', '海马', '海豹', '鲨鱼', '虾', '鱿鱼', '海星', '海龟', '鲸鱼')数据集进行训练,得到一个识别精度较高的模型文件,然后使用Django开发一个Web网页平台操作界面,实现用户上传一张海洋生物图片识别其名称。
658 7
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
|
算法 安全 量子技术
【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 42页论文及代码
本文介绍了2023年第十三届MathorCup高校数学建模挑战赛B题的研究成果,提供了城市轨道交通列车时刻表优化问题的详细建模方案、C++代码实现以及42页的完整论文,旨在通过贪心算法、二分搜索法和多目标规划等方法最小化企业运营成本并最大化服务水平。
321 0
【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 42页论文及代码
|
自然语言处理 数据可视化 搜索推荐
构建一个基于通义千问的智能客服系统
公司开发一个智能客服系统,帮助用户快速找到他们需要的商品信息、解决问题,并提供个性化的购物建议。系统需要能够处理大量的用户提问,并以自然语言的形式给出准确的回答。
948 1
|
NoSQL 关系型数据库 BI
记录一次MySQL+Redis实现优化百万数据统计的方式
【10月更文挑战第13天】 在处理百万级数据的统计时,传统的单体数据库往往力不从心,这时结合使用MySQL和Redis可以显著提升性能。以下是一次实际优化案例的详细记录。
686 1
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
368 66
|
关系型数据库 MySQL Java
对比下 datax 的 OceanBase/MYSQL 不同数据同步方案的效率差异 || 聊聊参数 rewriteBatchedStatements
对比下 datax 的 OceanBase/MYSQL 不同数据同步方案的效率差异 || 聊聊参数 rewriteBatchedStatements
|
12月前
|
自然语言处理 搜索推荐 数据挖掘
销售易、八百客、用友CRM:行业应用与选型建议
在数字化转型浪潮中,CRM系统成为企业提升销售效率、优化客户体验和增强竞争力的关键工具。本文深度剖析了销售易CRM、八百客CRM和用友CRM,从产品功能和优势特色两方面进行总结。销售易CRM适合大型企业和跨国公司,提供全面的客户管理、销售自动化、营销自动化等功能;八百客CRM以其易用性和移动办公特性,适合中小企业;用友CRM则以综合管理和定制化解决方案见长,适合需要一体化管理的中大型企业。企业应根据自身需求选择最适合的CRM系统,助力数字化转型。
|
存储 关系型数据库 MySQL
TiDB与MySQL、PostgreSQL等数据库的比较分析
【2月更文挑战第25天】本文将对TiDB、MySQL和PostgreSQL等数据库进行详细的比较分析,探讨它们各自的优势和劣势。TiDB作为一款分布式关系型数据库,在扩展性、并发性能等方面表现突出;MySQL以其易用性和成熟性受到广泛应用;PostgreSQL则在数据完整性、扩展性等方面具有优势。通过对比这些数据库的特点和适用场景,帮助企业更好地选择适合自己业务需求的数据库系统。
2604 4
计算机网络:物理层下的传输媒体概览
计算机网络:物理层下的传输媒体概览
415 0