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名片即可

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node-red:使用node-red-contrib-amqp节点,实现与RabbitMQ服务器(AMQP)的消息传递

node-red-contrib-amqp节点使用 一、简介1.1 什么是AMQP协议?1.2 什么是RabbitMQ? -> 开源的AMQP协议实现1.3 RabbitMQ的WEB管理界面介绍1.3 如何实现RabbitMQ的数据采集? -> node-red 二、node-red-contrib-amqp节点安装与使用教程2.1 节点安装2.2 节点使用2.2.1 amq…

c语言:计算1+2+3……+n的和|练习题

一、题目 输入一个数n&#xff0c;计算123……n的和 二、代码截图【带注释】 三、源代码【带注释】 #include int main() { int num0; printf("请输入要运算的数:"); scanf("%d",&num); sumResult(num);//相加结果函数 } //计算打印…

【Linux/gcc】C/C++——头文件和库

目录 一、头文件 1、gcc查找头文件 2、gcc与g的区别 二、库 1、简介 2、实验 2.1、静态库的编写 2.2、动态库的编写 2.3、库的使用 2.4、链接库 一、头文件 头文件存在的目的是为了把接口和实现分离&#xff0c;便于多文件编程的组织&#xff0c;例如&#xff1a; 在…

C# 判断两个时间段是否重叠

public static bool IsOverlap(DateTime startTime1, DateTime endTime1, DateTime startTime2, DateTime endTime2){// 判断两个时间段是否有重叠return !(endTime1 < startTime2 || startTime1 > endTime2);//根据德摩根定律&#xff0c;等效为&#xff1a;endTime1 &g…

Go语言HTTP客户端编程实践

在互联网时代&#xff0c;HTTP客户端编程已经成为一项必备技能。而Go语言作为一种高效、简洁的编程语言&#xff0c;非常适合用来构建高效的HTTP客户端。下面&#xff0c;我们就来一起探讨如何使用Go语言进行HTTP客户端编程实践。 首先&#xff0c;让我们来看看如何使用Go语言…

步兵 cocos2dx 加密和混淆

文章目录 摘要引言正文代码加密具体步骤代码加密具体步骤测试和配置阶段IPA 重签名操作步骤 总结参考资料 摘要 本篇博客介绍了针对 iOS 应用中的 Lua 代码进行加密和混淆的相关技术。通过对 Lua 代码进行加密处理&#xff0c;可以确保应用代码的安全性&#xff0c;同时提高性…

论文阅读——BLIP-2

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 1 模型 在预训练视觉模型和预训练大语言模型中间架起了一座桥梁。两阶段训练&#xff0c;视觉文本表示和视觉到语言生成学习。 Q-Former由两个转换器子模块组成&am…

python三大开发框架django、 flask 和 fastapi 对比

本文讲述了什么启发了 FastAPI 的诞生&#xff0c;它与其他替代框架的对比&#xff0c;以及从中汲取的经验。 如果不是基于前人的成果&#xff0c;FastAPI 将不会存在。在 FastAPI 之前&#xff0c;前人已经创建了许多工具 。 几年来&#xff0c;我一直在避免创建新框架。首先&…

SpringBoot集成opencc4j实现繁体中文转为简体中文

背景 繁体中文转为简体中文的需求非常常见&#xff0c;特别是在中文语境下的文本处理和翻译应用中。有很多现成的工具和库可以实现这个功能&#xff0c;比如 OpenCC 、 HanLP 等。从网上下载的 MySQL 版诗词数据库中的诗词数据都是繁体字&#xff0c;这里使用 SpringBoot 集成…

Java并发工具类---ForkJoin、countDownlatch、CyclicBarrier、Semaphore

一、Fork Join fork join是JDK7引入的一种并发框架&#xff0c;采用分而治之的思想来处理并发任务 ForkJoin框架底层实现了工作窃取&#xff0c;当一个线程完成任务处于空闲状态时&#xff0c;会窃取其他工作线程的任务来做&#xff0c;这样可以充分利用线程来进行并行计算&a…

C++哈希表的实现

C哈希表的实现 一.unordered系列容器的介绍二.哈希介绍1.哈希概念2.哈希函数的常见设计3.哈希冲突4.哈希函数的设计原则 三.解决哈希冲突1.闭散列(开放定址法)1.线性探测1.动图演示2.注意事项3.代码的注意事项4.代码实现 2.开散列(哈希桶,拉链法)1.概念2.动图演示3.增容问题1.拉…

C# WPF上位机开发(文件对话框和目录对话框)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 一个上位机软件在处理数据的时候&#xff0c;除了配置文件、数据文件之外&#xff0c;一般还需要使用选择对话框进行文件和目录的选取。如果不这样…