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

news2025/1/12 5:51:18

请添加图片描述

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

相关链接

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

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 论文介绍

基于启发式二分搜索的城市轨道交通列车时刻表优化研究摘要

城市轨道交通是大城市公共交通的重要组成部分,随着城市规模的不断扩大和人口的增加,轨道交通的客流量也在不断增加。因此,如何优化城市轨道交通列车时刻表,提高列车的运营效率和客运能力,已成为一个亟待解决的问题。

针对问题一,本文先通过查阅文献和关键指标转化将问题简化,主要采用**C++**代码实现,首先运用贪心算法达到企业运营成本最小化。后两次运用二分搜索法,第一次枚举小交路列车数量确定其数量区间,第二次枚举小交路列车运行长度,确定其运行列数。最后建立多约束受限,多主体协同下两个目标函数的多目标规划模型,数值计算优化调度列车开行方案。

针对问题二,基于模型一所建立模型由层次分析法得到各个站点的权值,来确定乘客人数高谷站点,及时满足乘客的需求使服务水平最大化。依据列车交替开行的运营模式,考虑时间安全间隔,得到列车发行的时刻表,制定等间隔的平行运行图。

针对问题三,要改变列车类型及编组数量,增加列车定员,提升列车最大载客量,从而减少列车数量,降低乘客候车时间,实现企业运营成本最小化和服务水平最大化目标,使得模型再次优化。

最后,对模型进行了优缺点分析,对模型进行改进策略并进行推广。

关键词:列车时刻优化表;贪心算法 ;二分搜索法 ;check 判断函数;多目标规划 ; 层次分析法

在这里插入图片描述
在这里插入图片描述

3 获取方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/482248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

​力扣解法汇总1376. 通知所有员工所需的时间

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 公司里有 n 名员工,每个员工的 ID 都是独一无二的,编号从…

【五一创作】【笔记】Git|如何将仓库中所有的 commit 合成一个?又名,如何清除所有 git 提交记录?(附 git rebase 机制的简要分析)

在对代码进行开源时,我们往往并不希望代码开发过程中的提交记录被其他人看到,因为提交的过程中往往会涵盖一些敏感信息。因此会存在 将仓库中所有 commit 合成一个 的需求。 直觉上,往往会用 rebase 和 squash 或 reset,不过我尝…

【Unity-UGUI控件全面解析】| Button 按钮组件详解

🎬【Unity-UGUI控件全面解析】| Button 按钮组件详解一、组件介绍二、组件属性面板2.1 Transition 类型三、代码操作组件四、组件常用方法示例4.1 监听点击事件4.2 按钮过度动画示例💯总结🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首…

JavaWeb——JavaScript

定义: js引入方式(两种方式) js基础语法 输出语句 变量 var的变量特点1:作用域大,是全局变量 var的变量特点2:可以重复声明 ES6最新增的关键字 数据类型,运算符,流程控制语句 js中也有着类似java的8大基本数据类…

企业级信息系统开发讲课笔记3.3 基于XML配置方式SSM框架西蒙购物网

文章目录 零、本节学习目标一、网站功能需求二、网站设计思路(一)设计模式(二)网站前台(三)网站后台1、用户管理2、类别管理3、商品管理4、订单管理 (四)购物流程图 三、网站运行效果…

Iron Web Scraper 2023.4.13 Crack

Iron Web Scraper 被认为是 C# 的互联网抓取库,它能够让用户和开发者激发和最终的个人浏览行为,以提取文件、内容甚至图片和应用程序。动词作为 .NET 的本机项。IronWebScraper 具有从后台处理礼貌和多线程进程的能力,这使得用户程序很容易简…

FreeRTOS 任务通知

文章目录 一、任务通知简介二、发送任务通知1. 函数 xTaskNotify()2. 函数 xTaskNotifyFromISR()3. 函数 xTaskNotifyGive()4. 函数 vTaskNotifyGiveFromISR()5. 函数 xTaskNotifyAndQuery()6. 函数 xTaskNotifyAndQueryFromISR() 三、任务通知通用发送函数1. 任务级任务通知通…

一、环境搭建

一、创建新的环境空间 conda create -n yanyu python3.7.4 yanyu为新的环境空间名称,可自定义修改 conda activate yanyu 切换一下环境空间 二、安装sklearn并验证 安装相关包 pip install numpy pip install scipy pip install matplotlib pip install sklear…

Python小姿势 - Python面向对象

Python面向对象 Python是一种面向对象的编程语言,它能够把很复杂的事情简单化。面向对象最大的特点就是数据和对数据的操作分离开了。 举个例子,假设你要做一个学生成绩管理系统,在这个系统里,你需要存储每个学生的姓名、年龄、成…

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

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

【python知识】推导式和生成器

一、说明 Python 推导式,是针对容器对象(列表,字典,集合,元组)的产生方式的语句。它可以从一个数据序列构建另一个新的数据序列的结构体。 Python 支持各种数据结构的推导式: 列表(list)推导式字典(dict)推…

从零开始实现 std::string:让你更深入地了解字符串的本质

文章目录 前言string类 的模拟实现一&#xff0c;搭建框架二&#xff0c;重载输入输出操作符 ‘<<’ ‘>>’1. 重载操作符 ‘<<’2.重载操作符 ‘>>’且看方式一来看方式二 三&#xff0c;实现构造函数方式一方式二 四&#xff0c;实现拷贝构造和重载赋…

TCP之报文格式解析

TCP网络协议是较常用的&#xff0c;也基本上都会接触&#xff0c;那么来简单了解下它吧。TCP 是一种面向连接的、可靠的传输协议&#xff0c;它能够将数据分成一些小块&#xff0c;并通过 Internet 进行传输。在 TCP 中&#xff0c;数据被分割成一些称为 TCP 报文段&#xff08…

JetBrains 公布 WebStorm 2023.2 路线图

JetBrains 已公布了 WebStorm 2023.2 版本的路线图&#xff0c;以便用户可以率先了解到官方的规划以及能够预览一下未来能够用上的新功能。 主要聚焦于以下内容&#xff1a; 稳定的新 UI。这是此版本中的优先事项之一。CSS 嵌套支持。WebStorm 2023.2 计划将添加对 CSS 嵌套功能…

TensorRT:自定义插件学习与实践 002:实现GELU

代码连接:https://github.com/codesteller/trt-custom-plugin TensorRT版本的选择 教程代码对应的版本TensorRT-6.0.1.8,我尝试使用TensorRT-7.2.3.4也能通过编译 set_ifndef(TRT_LIB /usr/local/TensorRT-7.2.3.4/lib) set_ifndef(TRT_INCLUDE /usr/local/TensorRT-7.2.3.4…

是不是在为 API 烦恼 ?好用免费的api接口大全呼之欲出

前期回顾 “ ES6 —— 让你的JavaScript代码从平凡到精彩 “_0.活在风浪里的博客-CSDN博客Es6 特性https://blog.csdn.net/m0_57904695/article/details/130408701?spm1001.2014.3001.5501 &#x1f44d; 本文专栏&#xff1a;开发技巧 先说本文目的&#xff0c;本文会分…

有效日志管理在软件开发和运营中的作用

作者&#xff1a;Luca Wintergerst, David Hope, Bahubali Shetti 当今存在的快速软件开发过程需要扩展和复杂的基础架构和应用程序组件&#xff0c;并且操作和开发团队的工作不断增长且涉及多个方面。 有助于管理和分析遥测数据的可观察性是确保应用程序和基础架构的性能和可靠…

JavaScript实现输入数值,判断是否为(任意)三角形的代码

以下为实现输入数值&#xff0c;判断是否为&#xff08;任意&#xff09;三角形的代码和运行截图 目录 前言 一、实现输入数值&#xff0c;判断是否为三角形 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 二、实现输入数值&#xff0c;判断是否为…

PLC模糊控制模糊PID(梯形图实现+算法分析)

博途PLC的模糊PID控制详细内容请查看下面的博客文章: Matlab仿真+博途PLC模糊PID控制完整SCL源代码参考(带模糊和普通PID切换功能)_博途怎么实现模糊pid_RXXW_Dor的博客-CSDN博客模糊PID的其它相关数学基础,理论知识大家可以参看专栏的其它文章,这里不再赘述,本文就双容…

01背包问题个人剖析

背包问题 文章目录 背包问题1 01背包问题1.1 问题阐述1.2 问题分析 背包问题中我最初的一些疑惑 1 01背包问题 我参考了文献背包九讲。https://github.com/tianyicui/pack/raw/master/V2.pdf 背包九讲的作者是ACM大牛崔天翼。 1.1 问题阐述 有 N N N件物品和一个容量为 V V …