2016年第五届数学建模国际赛小美赛B题直达地铁线路解题全过程文档及程序
2016年第五届数学建模国际赛小美赛
B题 直达地铁线路
原题再现:
在目前的大都市地铁网络中,在两个相距遥远的车站之间运送乘客通常需要很长时间。我们可以建议在两个长途车站之间设置直达班车,以节省长途乘客的时间。
第一部分:请制定一个数学框架来优化终点站的选择,并评估建议的预期结果。
第二部分。如果你调整列车间隔或修建直达专线,探索你在经济和社会效益方面可能取得的任何优势。
第三部分给你所在城市的市长写一封两页的信,总结你的分析。把你的火车时刻表写在信的第二页。
整体求解过程概述(摘要)
本文对影响地铁两站间直达站设置的各个因素进行了模型研究。然后,我们可以确定是否建立一个直接的地铁站之间的两个遥远的车站。如果有必要,我们会对其进行优化。接下来,以北京为例。通过确定路线,给出了在社会经济等多种因素影响下的最佳发车时间。
模型一。首先,采用控制变量法,分析了地铁乘客的个人情况、时间和周围环境对客流的影响。然后利用logit模型对拟合结果进行验证。得出结论:处于工人阶级中间的年轻人经常出现的地区,如工业区、行政区、交通枢纽等,客流最大。通过对北京地铁线路距离的获取,利用数据平均法研究了距离对位置的影响,得出当两站点间直线距离大于15km时,应考虑建立直达地铁。
模型二。基于模型1的结论,采用Floyd算法计算客流和两地距离对地铁位置的影响。发现它们之间的关系成为正态分布和最高点两个站点,其中需要建立地铁直达的站点最好。并以北京市为例,利用该结论得出了首都国际机场3号航站楼地铁站到回龙观地铁站的直达线路。
模型三。通过遗传分析,利用MATLAB对模型二确定的北京线位置进行优化。最后,我们知道当地铁站位于隆泽和回龙观之间时,这个站点是最好的选择。
模型四。通过查阅相关文献,分析了首都国际机场3号航站楼地铁站至回龙观地铁站直达线路的社会效益、经济效益和旅客时间效益。将主成分分析与实证分析相结合,得出不同时段地铁发车间隔时间不同的结论。地铁的运行时间是6:00-23:45。在6:00-10:00和16:00-20:00,每10分钟一班,其余时间15分钟一班。
综上所述,当两站点之间的直线距离大于15km时,尤其是交通枢纽、工业区和行政区,且高峰时段最需要短间隔时间时,应考虑建立直达地铁。
模型假设:
1、不考虑地铁停车系统的需要。
2、假设两个长途车站之间的直达地铁对其他地铁系统没有影响。
3、假设地铁网络的一致性对地铁模型没有影响。
4、假定场地交通功能对本文构建的地铁模型无影响。
5、假设项目成本、效益、技术可行性等因素对第一部分模型无影响6、假设地铁始终准时,不会因外部因素造成延误。
问题重述:
为什么需要在两个相距较远的车站之间更换线路
在目前大城市的地铁网络中,在两个相距较远的车站之间运送乘客通常需要很长的时间。我们可以建议在两个长途车站之间设置直达班车,以节省长途旅客的时间。
我们需要解决的问题
1。如何建立一个数学框架来优化终端站的选择?如何评价最佳建议的预期效果?
2、如何调整列车间隔或建设直达专用线,发挥其经济效益和社会效益?
3、偿付能力如何处理?
写一封两页的信给市长,总结我们的分析,简要描述我们的设计特点和优势。
模型的建立与求解整体论文缩略图


全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码:(代码和文档not free)
function m_main()
clear
clc
Max_gen = 100;
pop_size = 100;
chromsome = 10;
pc = 0.9;
pm = 0.25;
gen = 0;
init = 40*rand(pop_size, chromsome)-20;
pop = init;
fit = obj_fitness(pop);
[max_fit, index_max] = max(fit);
maxfit = max_fit;
[min_fit, index_min] = min(fit);
best_indiv = pop(index_max, :);
while gen<Max_gen
gen = gen+1;
bt(gen) = max_fit;
if maxfit<max_fit;
maxfit = max_fit;
pop(index_min, :) = pop(index_max, :);
best_indiv = pop(index_max, :);
end
best_indiv_tmp(gen) = pop(index_max);
newpop = ga(pop, pc, pm, chromsome, fit);
fit = obj_fitness(newpop);
[max_fit, index_max] = max(fit);
[min_fit, index_min] = min(fit);
pop = newpop;
trace(1, gen) = max_fit;
trace(2, gen) = sum(fit)./length(fit);
end
[f_max gen_ct] = max(bt)
maxfit
best_indiv
hold on
plot(trace(1, :), '.g:');
plot( trace(2, :), '.r-');
title('The experimental results in figure')
xlabel('The number of iterations/generation'), ylabel('The optimal structural');plot(gen_ct-1, 0:0.1:f_max+1, 'c-');
text(gen_ct, f_max+1, 'The maximum')
hold off
function [fitness] = obj_fitness(pop)
[r c] = size(pop);
x = pop;
fitness = zeros(r, 1);
for i = 1:r
for j = 1:c
fitness(i,1) = fitness(i, 1)+sin(sqrt(abs(40*x(i))))+1-abs(x(i))/20.0;
end
end
end
function newpop = ga(pop, pc, pm, chromsome, fit)
pop_size = size(pop, 1);
ps = fit/sum(fit);
pscum = cumsum(ps);%size(pscum)
r = rand(1, pop_size);
qw = pscum*ones(1, pop_size);
selected = sum(pscum*ones(1, pop_size)<ones(pop_size, 1)*r)+1;
newpop = pop(selected, :);
if pop_size/2 ~= 0
pop_size = pop_size-1;
end
for i = 1:2:pop_size-1
while pc>rand
c_pt = round(8*rand+1);
pop_tp1 = newpop(i, :);pop_tp2 = newpop(i+1, :);
newpop(i+1, 1:c_pt) = pop_tp1(1, 1:c_pt);
newpop(i, c_pt+1:chromsome) = pop_tp2(1, c_pt+1:chromsome);
end
end
for i = 1:pop_size
if pm>rand
m_pt = 1+round(9*rand);
newpop(i, m_pt) = 40*rand-20;
end
end
end
end
f_max =
19.7139
gen_ct =
32
maxfit =
19.7139
best_indiv =
0.0804 -9.8254 -1.1084 19.7403 -8.1866 -13.6728 -17.6449 3.7018
-15.0008 8.797
function Z=drawGaussian(u,v,x,y)
% u,vector,expactation;v,covariance matrix
%x=150:0.5:190;
%y=35:110;
[X,Y]=meshgrid(x,y);
DX=v(1,1);
dx=sqrt(DX);
DY=v(2,2);
dy=sqrt(DY);
COV=v(1,2);
r=COV/(dx*dy);
part1=1/(2*pi*dx*dy*sqrt(1-r^2));
p1=-1/(2*(1-r^2));
px=(X-u(1)).^2./DX;
py=(Y-u(2)).^2./DY;
pxy=2*r.*(X-u(1)).*(Y-u(2))./(dx*dy);
Z=part1*exp(p1*(px-pxy+py));
mesh(x,y,Z);
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:
2016年第五届数学建模国际赛小美赛B题直达地铁线路解题全过程文档及程序
2016年第五届数学建模国际赛小美赛 B题 直达地铁线路 原题再现: 在目前的大都市地铁网络中,在两个相距遥远的车站之间运送乘客通常需要很长时间。我们可以建议在两个长途车站之间设置直达班车,以节省长途乘客的时间。 第一部分…...
三秦通ETC续航改造
前些天开车时ETC每隔2分钟滴滴响一下,重插卡提示电池电压低 2.8V。看来应该是电池不行了。去银行更换ETC应该是需要费用的。还有一种办法是注销掉,然后去别的银行办一个。不过我想自己更换电池试一下。 首先拆下ETC,我使用的办法是开水烫。烧…...
使用Python实现发送Email电子邮件【第19篇—python发邮件】
文章目录 👽使用Python实现发送Email电子邮件🎶实现原理🏃Python实现发送Email电子邮件-基础版👫实现源码🙆源码解析 💇Python实现发送Email电子邮件-完善版👫实现源码🙆源码解析&am…...
Docker基本命令和Docker怎么自己制作镜像
基本命令 启动新的容器(指定容器名称和端口映射【主机端口:容器端口】) docker run --name 容器名 -p 8080:80 镜像名 启动新的容器(交互式) docker run -it centos7-with-jdk /bin/bash 特权方式启动容器 docker run -d --…...
Netty-2-数据编解码
解析编解码支持的原理 以编码为例,要将对象序列化成字节流,你可以使用MessageToByteEncoder或MessageToMessageEncoder类。 这两个类都继承自ChannelOutboundHandlerAdapter适配器类,用于进行数据的转换。 其中,对于MessageToMe…...
伽马校正:FPGA
参考资料: Tone Mapping 与 Gamma Correction - 知乎 (zhihu.com) Book_VIP: 《基于MATLAB与FPGA的图像处理教程》此书是业内第一本基于MATLAB与FPGA的图像处理教程,第一本真正结合理论及算法加速方案,在Matlab验证,以及在FPGA上…...
【SpringCloud笔记】(8)服务网关之GateWay
GateWay 概述简介 官网地址: 上一代网关Zuul 1.x:https://github.com/Netflix/zuul/wiki(有兴趣可以了解一下) gateway:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/…...
Compose常用布局
Compose布局基础知识 上一节对Compose做了简单的介绍,本章节主要介绍Compose中常用的布局,其中包括三个基础布局(Colmun、Row、Box);以及其他常用布局(ConstraintLayout 、BoxWithConstraints、HorizontalP…...
使用keytool查看Android APK签名
文章目录 一、找到JDK位置二、使用方法2.1 打开windows命令行工具2.2 查看签名 三、如何给APK做系统签名呢? 一、找到JDK位置 安卓AS之后,可选择继续安装JDK,如本文使用amazon版本默认位置:C:\Users\66176.jdks\corretto-1.8.0_342可通过自…...
数据库学习日常案例20231221-oracle libray cache lock分析
1 问题概述: 阻塞的源头为两个ddl操作导致大量的libray cache lock 其中1133为gis sde的create table as语句。 其中697为alter index语句。...
【数据结构】最短路径算法实现(Dijkstra(迪克斯特拉),FloydWarshall(弗洛伊德) )
文章目录 前言一、Dijkstra(迪克斯特拉)1.方法:2.代码实现 二、FloydWarshall(弗洛伊德)1.方法2.代码实现 完整源码 前言 最短路径问题:从在带权有向图G中的某一顶点出发,找出一条通往另一顶点…...
算法模板之队列图文详解
🌈个人主页:聆风吟 🔥系列专栏:算法模板、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️模拟队列1.1 🔔用数组模拟实现队列1.1.1 👻队列的定…...
[node]Node.js 中REPL简单介绍
[node]Node.js 中REPL简单介绍 什么是REPL为什么使用REPL如何使用REPL 命令REPL模式node的全局内容展示node全局所有模块查看全局模块具体内容其它命令 实践 什么是REPL Node.js REPL(Read Eval Print Loop:交互式解释器) 表示电脑的环境,类似 Windows 系统的终端或…...
AtomHub 开源容器镜像中心开放公测,国内服务稳定下载
由开放原子开源基金会主导,华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及 OpenSDV 开源联盟、openEuler 社区、OpenCloudOS 社区等成员单位共同发起建设的 AtomHub 可信镜像中心正式开放公测。AtomHub 秉承共建、共治、共享的理念,旨在为开源组织和开…...
java8实战 lambda表达式、函数式接口、方法引用双冒号(中)
前言 书接上文,上一篇博客讲到了lambda表达式的应用场景,本篇接着将java8实战第三章的总结。建议读者先看第一篇博客 其他函数式接口例子 上一篇有讲到Java API也有其他的函数式接口,书里也举了2个例子,一个是java.util.functi…...
FPGA高端项目:UltraScale GTH + SDI 视频编解码,SDI无缓存回环输出,提供2套工程源码和技术支持
目录 1、前言免责声明 2、相关方案推荐我这里已有的 GT 高速接口解决方案我目前已有的SDI编解码方案 3、详细设计方案设计框图3G-SDI摄像头LMH0384均衡EQUltraScale GTH 的SDI模式应用UltraScale GTH 基本结构参考时钟的选择和分配UltraScale GTH 发送和接收处理流程UltraScale…...
为什么react call api in cDidMount
为什么react call api in cDM 首先,放到constructor或者cWillMount不是语法错误 参考1 参考2 根据上2个参考,总结为: 1、官网就是这么建议的: 2、17版本后的react 由于fiber的出现导致 cWM 会调用多次! cWM 方法已…...
openGauss学习笔记-171 openGauss 数据库运维-备份与恢复-导入数据-深层复制
文章目录 openGauss学习笔记-171 openGauss 数据库运维-备份与恢复-导入数据-深层复制171.1 使用CREATE TABLE执行深层复制171.1.1 操作步骤 171.2 使用CREATE TABLE LIKE执行深层复制171.2.1 操作步骤 171.3 通过创建临时表并截断原始表来执行深层复制171.3.1 操作步骤 openGa…...
[kubernetes]控制平面ETCD
什么是ETCD CoreOS基于Raft开发的分布式key-value存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)etcd像是专门为集群环境的服务发现和注册而设计,它提供了数据TTL失效、数据改变监视、多值、目录监听、…...
序列化类的高级用法
1.3.3 模型类序列化器 如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同,但提供了: 基于模型类自动生成一系列…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
Qwen系列之Qwen3解读:最强开源模型的细节拆解
文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...
