2019年第八届数学建模国际赛小美赛C题预测通过拥堵路段所需的时间解题全过程文档及程序
2019年第八届数学建模国际赛小美赛
C题 预测通过拥堵路段所需的时间
原题再现:
在导航软件中,行程时间的估计往往是一个重要的功能。现有的导航软件往往通过出租车或安装了该软件的车辆获取实时GPS数据来确定当前的路况。在交通拥堵严重的情况下,车辆速度较慢,因此对速度的估计非常不准确。其结果是,估计交通堵塞时间的准确性非常差。所需的实际时间有时甚至是预测时间的几倍到十倍。我们的问题是如何预测通过交通堵塞的时间?请收集现有数据并建立更精确的模型来解决此问题。
整体求解过程概述(摘要)
导航软件的普及在给人们带来便利的同时,其一些弊端也暴露出来。由于无法准确预测汽车的行驶速度和行驶时间,给人们的出行带来了很大的麻烦。构建城市区域网络模型,提取宏观交通特征。提出了用网格模型预测路段通过时间的方法。同时,建立了基于BP神经网络的拥堵路段通行时间预测模型,并对两种模型进行了比较。
本文对大量的车辆轨迹数据进行处理,提取网格的交通特征,并将网格作为研究区域交通的载体。首先提取网格中的静态交通特征,主要包括车辆进入网格的位置和出入口位置以及出入口位置之间的连接关系。然后,基于已有的静态数据,提取网格中的动态流量特征。,主要是指车辆通过网络节点对前后的时间。从而完成了网络模型的流量属性特征提取。
提出了一种基于网格模型的路段通过时间预测方法。结合过境时间和实际出行时间作为网格中的准备数据,通过挖掘大量的车辆轨迹数据,提取网格间的多条轨迹并提取有效路径,利用多元线性回归和KNN算法对路径进行时间预测。
本文还建立了基于BP神经网络算法的拥挤通过时间预测模型。从大量数据中提取历史流量数据并进行归一化处理,通过比较确定各层神经元的数量。选取部分数据作为样本,对神经网络进行训练和学习,实现对交通量的预测。基于速度-车流模型,对车速进行预测,得到通过路段的时间。
最后,对两种模型进行了比较分析。网格模型使用的数据量较大,对时间的预测更全面。问题的分析包括宏观和微观两个方面;而BP神经网络算法灵活、使用方便。然而,该模型中数据的使用并不充分,因此网格模型更具说服力。
模型假设:
1、不考虑不同车辆之间的超车情况;
2、不考虑交通事故造成的交通拥堵;
3、每辆车对前一辆车的响应延迟时间大致相等;
4、在拥堵路段,每辆车同时以一定的固定速度到达;从固定速度减速到停止所需的时间相等。
5、在拥堵道路上行驶的车辆油量充足。换言之,不考虑由于燃油耗尽而导致车辆无法驶出的情况。
6、不考虑拥堵路段不同车辆间超车情况
问题重述:
问题背景
随着经济的发展,人们的生活水平不断提高,生活节奏也在加快。开车旅行已经成为一种趋势。这确实方便人们出行,但不可否认的是,在北京、上海等一些大城市,早、晚高峰时段拥堵严重。有时,人们在车辆上依赖GPS。道路位置的即时定位和车速的精确估计,然而,在道路严重拥堵期间,车速的估计极不准确。有时到达目的地的实际时间与预测时间相差甚远。如果安排不合理,会影响人们正常的生活节奏,甚至造成一些不好的结果,如错过最后期限。在这种情况下,正确评估拥堵路段的速度并正确预测通过拥堵路段所需的时间非常重要。
问题重述
在交通拥堵严重的情况下,速度较慢,因此对速度的估计是非常不准确的。结果表明,交通拥挤时间估计精度较差。所需的实际时间有时甚至是预测时间的几到十倍。我们的问题是如何预测交通堵塞的时间?收集现有数据,建立更精确的模型来解决这一问题。
模型的建立与求解整体论文缩略图
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码:(代码和文档not free)
Code:
%initialization
x=input('Please enter the starting latitude and longitude,longitude=');
y=input('latitude=');
dx=0.001;
%Grid build
Wzwangge=zeros(1000,7);
Sjwangge=zeros(1000,7);
For i=0:99
For j=0:99
Wzwangge(i*100+j+1,1)=i*100+j+1;
Wzwangge(i*100+j+1,2)=x+j*dx;
Wzwangge(i*100+j+1,3)=y+i*dx;
Wzwangge(i*100+j+1,4)=x+j*dx-dx/2;
Wzwangge(i*100+j+1,5)=x+j*dx+dx/2;
Wzwangge(i*100+j+1,6)=y+i*dx-dx/2;
Wzwangge(i*100+j+1,7)=y+i*dx+dx/2;
End
y=y-dx;
End
% determines the grid to be studied
a=input('input grid sequence:');
Jingdu=dashuju(:,7);
Weidu=dashuju(:,8);Jdhang=find((jingdu<(wzwangge(a,5)))&(jingdu>(wzwangge(a,4)))));
Wdhang=find((weidu<(wzwangge(a,7)))&(weidu>(wzwangge(a,6)))));
[C,ia,ib]=intersect(jdhang,wdhang);
Wgshuju=dashuju(C,:);
% seeking grid speed
Wgsudu=sum(wgshuju(:,10))/size(wgshuju,1);
Disp ('grid average speed');
Disp(wgsudu);
% draw grid scatter map
Figure(1);
Plot(wgshuju(:,7),wgshuju(:,8),'r.');
Axis equal
% shows grid speed change
Shijian10=1:144;
Shijian=wgshuju(:,4).*60+wgshuju(:,5);
Liuliang=zeros(144,1);
For i=1:144
C=find((shijian<i*10)&(shijian>(i-1)*10));
Liuliang(i)=sum(wgshuju(C,10))/size(C,1);
End
Tf=isnan(liuliang);
T=find(tf==1);
Kedu=shijian10./6;
Figure(2);
Plot(kedu,liuliang);
Xlabel('time');
Ylabel('speed');
%Use Shenzhen latitude and longitude scatter to make map of Shenzhen
r=randi(5774443,600000,1);
Plot(dashuju(r,7),dashuju(r,8),'r.');
Axis equal
Hold on
Ylabel('Longitude');
Xlabel('latitude');
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:

2019年第八届数学建模国际赛小美赛C题预测通过拥堵路段所需的时间解题全过程文档及程序
2019年第八届数学建模国际赛小美赛 C题 预测通过拥堵路段所需的时间 原题再现: 在导航软件中,行程时间的估计往往是一个重要的功能。现有的导航软件往往通过出租车或安装了该软件的车辆获取实时GPS数据来确定当前的路况。在交通拥堵严重的情况下&#…...
天干地支。
古代中国使用天干地支来记录当前的年份 天干一共有十个,分别为: 甲 (ia) 、乙(yi)、丙(bing) 、丁 (ding) 、成 (wu) 、己(ir) 、庚(geng)辛(xin)、王(ren)、类 (gui)。 分别为:子(zi)、丑 (chu)、寅地支一共有十二个,(yin)、卵 (mao)、辰 (chen) 、已(s…...

RabbitMQ插件详解:rabbitmq_web_stomp【RabbitMQ 六】
欢迎来到我的博客,代码的世界里,每一行都是一个故事 《RabbitMQ Web STOMP:打破界限的消息传递之舞》 前言STOMP协议简介STOMP(Simple Text Oriented Messaging Protocol)协议简介STOMP与WebSocket的关系 WebSocket和R…...

路由器的转换原理--ENSP实验
目录 一、路由器的工作原理 二、路由表的形成 1、直连路由 2、非直连路由 2.1静态路由 2.2动态路由 三、静态路由和默认路由 1、静态路由 1.1静态路由的缺点 1.2路由的配置--结合ensp实验 2、默认路由--特殊的静态路由 2.1概念 2.2格式 2.3默认路由的配置--ens…...

世界5G大会
会议名称:世界 5G 大会 时间:2023 年 12 月 5 日-12 月 8 日 地点:河南郑州 一、会议简介 世界 5G 大会,是由国务院批准,国家发展改革委、科技部、工 信部与地方政府共同主办,未来移动通信论坛联合属地主管厅局联合 承办,邀请全球友好伙伴共同打造的全球首个 5G 领域…...

FFmpeg-基础组件-AVFrame
本章主要介绍FFmpeg基础组件AVFrame. 文章目录 1.结构体成员2.成员函数AVFrame Host内存的获取 av_frame_get_bufferAVFrame device内存获取av_hwframe_get_buffer() 1.结构体成员 我们把所有的代码先粘贴上来,在后边一个一个解释。 typede…...

Vue 组件传参 emit
emit 属性:用于创建自定义事件,接收子组件传递过来的数据。 注意:如果自定义事件的名称,和原生事件的名称一样,那么只会触发自定义事件。 setup 语法糖写法请见:《Vue3 子传父 组件传参 defineEmits》 语…...
Makefile基本指令
语法规则 目标 ... : 依赖 ...命令1命令2. . .1、目标即要生成的文件。如果目标文件的更新时间晚于依赖文件更新时间,则说明依赖文件没有改动,目标文件不需要重新编译。否则会进行重新编译并更新目标文件。 2、默认情况下Makefile的第一个目标为终极目…...
爬取图片python代码
在百度上爬取图片 pic_baidu.py import re import requests from urllib import error from bs4 import BeautifulSoup import os num 0 numPicture 0 file List []def Find(url, A):global Listprint(正在检测图片总数,请稍等.....)t 0i 1s 0while t <…...

Android通过listview实现输入框自定义提示栏(代替AutoCompleteTextView自动完成文本框)
效果图 背景 本人因为一些需求初次接触android,需要实现一个类似android自带的AutoCompleteTextView(自动完成文本框),但和其不同的是通过后端接口直接筛选数据(自己的分词处理规则),然后返回前…...
DA-AD试验
/********************************************************************************** * * * 1.通过本例程了解并掌握AD-DA转换芯片的基本原理和使用 * * …...

Leetcode—896.单调数列【简单】
2023每日刷题(五十九) Leetcode—896.单调数列 实现代码 class Solution { public:bool isMonotonic(vector<int>& nums) {int up 0;int down 0;if(nums.size() 1) {return true;}for(int i 0; i < nums.size() - 1; i) {if(nums[i] …...
vue2生命周期
vue2生命周期 在进行组件化项目开发的时候都会存在一个组件的生命周期概念,像Vue、React、小程序等等,无一例外,而通常情况组件的生命周期主要分成三个阶段,包括:创建、更新以及销毁阶段。 Vue的生命周期钩子函数主要包…...
【Flink on k8s】 -- flink kubernetes operator 1.7.0 发布
目录 前言 重大特性 1、自动伸缩 2、版本支持 3、savepoint 触发改进 4、jdk 支持 前言 Flink 官方博客于 2023-11-22 发布了 flink kubernetes operator 1.7.0 发布的消息。这个版本对自动缩放进行了大量的改进,包括与 Kubernetes 的完全分离,以便…...
Java网络编程,对使用UDP实现TCP(一)三次握手实现的补充
修改片段1 在第一次握手时,由《TCP/IP详解》卷二中对tcp计时器的描述中,我们可知连接的建立是需要进行判断,如果客户端发送了SYN连接请求,服务端没有在有限时间内进行恢复,就会取消本次连接。 我们使用 setSoTimeout…...

Redis 的常见使用场景
01 缓存 作为 Key-Value 形态的内存数据库,Redis 最先会被想到的应用场景便是作为数据缓存。而使用 Redis 缓存数据非常简单,只需要通过 string 类型将序列化后的对象存起来即可,不过也有一些需要注意的地方: 必须保证不同对象的…...

VRRP协议详解
目录 一、基础概念 1、概念 2、VRRP的基本结构 状态机 二、VRRP主备备份工作过程 1、备份工作过程 2、VRRP的负载分担工作 三、实验 一、基础概念 1、概念 VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的I…...

Linux 常用命令----mktemp 命令
文章目录 基本用法实例演示高级用法注意事项 mktemp 命令用于创建一个临时文件或目录,这在需要处理临时数据或进行安全性测试时非常有用。使用 mktemp 可以保证文件名的唯一性,避免因文件名冲突而导致的问题。 基本用法 创建临时文件: 命令 mktemp 默认…...

基于ssm服装定制系统源码和论文
idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 环境: jdk8 tomcat8.5 开发技术 ssm 基于ssm服装定制系统源码和论文751 1.1项目研究的背景 困扰管理层的许多问题当中,服装定制将是广大用户们不可忽视的一块。但是管理好服装定制又面临很多麻…...

【AI】如何准备mac开发vue项目的环境
为了在Mac上开发Vue项目,你需要准备一些工具和环境。以下是主要的步骤: 安装Node.js和npm: Vue.js是一个基于JavaScript的框架,因此你需要Node.js环境。访问Node.js官网下载并安装Node.js,这也会自动安装npm࿰…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...