2010年认证杯SPSSPRO杯数学建模B题(第一阶段)交通拥堵问题全过程文档及程序

2010年认证杯SPSSPRO杯数学建模

交通拥堵问题

B题 Braess 悖论

原题再现:

  Dietrich Braess 在 1968 年的一篇文章中提出了道路交通体系当中的Braess 悖论。它的含义是:有时在一个交通网络上增加一条路段,或者提高某个路段的局部通行能力,反而使所有出行者的出行时间都增加了,这种为了改善通行能力的投入不但没有减少交通延误,反而降低了整个交通网络的服务水平。人们对这个问题做过许多研究,在城市建设当中也尽量避免这种现象的发生。但在复杂的城市道路当中,Braess 悖论仍然不时出现,造成实际交通效率的显著下降。在此,请你通过合理的模型来研究和解决城市交通中的 Braess 悖论。
  第一阶段问题:
  (1) 通过分析实际城市的道路交通情况(自行查询的数据需给出引用来 1源),建立合理的模型,判断在北京市二环路以内的路网中(包括二环路)出现的交通拥堵,是否来源于 Braess 悖论所描述的情况。
  (2) 请你建立模型以分析:如果司机广泛使用可以反映当前交通拥堵情况的GPS 导航系统,是否会缓解交通堵塞,并请估计其效果。

整体求解过程概述(摘要)

  本文首先通过对非合作网络中 Nash 平衡点与 Pareto 边界理论的分析,通过单起点单终点的简单路网入手, 分析 Braess 悖论的成因,Braess 悖论实质上是非合作网络中 Nash 平衡点不满足 Pareto 最优性时出现的现象。定量的给出出行时间与流量的关系,这里引入了路段延迟参数的概念,量化得到延迟参数与路段流量,出行时间,出行密度之间的关系。进而通过建立北京二环区交通路网模型,拟合出 flow ~ / L speed 关系曲线,得到各路段的延迟参数,进而得到单月内北京二环区 Pareto 最优解的判别条件。
  其次,根据 Pareto 边界理论,我们以年月为单位统计北京二环以内交通流量因素,得到城区交通年延迟参数,并计算了共 120 个月的延迟参数。接着,我们构建了 Nash 均衡原理模型,引入了路段 Nash 平衡比率的概念,即当某一时间范围内,路段 Nash 平衡比率低于路段延迟参数时,则发生了 Braess 悖论,当同时又满足 Nash平衡波动率超过 30%时,为严重 Braess 悖论,从而完善了 Nash 平衡比率理论方程。
  再次,根据已建立的 Nash 平衡比率理论方程,在此基础上构建小波神经网络来对北京二环区交通路网路段 Nash 平衡比率进行预测,这里我们将选择路段延迟参数为样本,根据路段延迟参数与路段 Nash平衡比率的动态关系式,对路段 Nash 平衡比率进行计算。得到结果:东城区,朝阳区路段常年持续存在 BRAESS悖论情况(平均每年超过 6 个月)。尽管我们发现坛路拓宽,普方路拓宽,永定门桥延修,天坛路改道会给北京二环区南部路段带来交通改善,但结果显示,整个北京二环路段的交通情况的平衡性变得更不稳定,BRAESS 悖论情况更加突出。譬如在 2006 年,2009 年的东城区,朝阳区路段堵塞问题更加尖锐,这也使得本来相对通畅的南段也出现 BRAESS 悖论情况。
  接着,我们建立了 GPS 动态导航的车辆运行模型,量化得到了时耗期望值和时耗方差两个目标函数并作为 ATM 路由选择的约束条件,以降低 Nash 平衡比率为目标,通过ATM 路由选择进行 GPS 导航对路段影响的预测。当我们控制业务源提高 GPS 使用率时,路段 NASH 平衡比率也持续上升,使用率升至 0.34 时,NASH 平衡比率上升幅度最大化。
  最后,我们通过灰色 Gompertz 模型对 ATM 路由选择算法进行误差分析,检验结果表明此抽检方案为合理方案,误差范围 5.84%。通过遗传算法对路段 Nash 平衡比率进行优化,得到最优化后的结果,证明了ATM路由选择算法对GPS动态导航研究的可靠性。

问题分析

  首先分析单一路段在单一时间范围内的 BRAESS 悖论情况,然后以北京二环以内的综合路段为考虑对象,天坛路拓宽,普方路拓宽,永定门桥延修,天坛路改道的 NASH 平衡比率,并通过 MATLAB 工具 CHIP()提取出月波动率超过 30%的比率数进行标定,同时,我们将近十年的北京二环以内主要路段的 BRAESS 悖论情况进行分析,并讨论 GPS 动态导航对路段BRAESS 悖论现象的影响。

模型的假设:

  (1)天气因素对 BRAESS 悖论的影响忽略不计
  (2)《北京交通发展年报》及《全市综合交通调查》提供了精确无误的数据
  (3)北京市区内地铁路线改造的影响忽略不计。

论文缩略图:

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

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

% III 为预测点 
% X 为预测序列(一行) 
% X0X 为预测值(对有 III 而言) 
% Q0Q 为预测精度 
% PP 为小误差概率 
% C 为后验误差比 
% PP>0.95 或 C<0.351() 
% PP>0.80 或 C<0.502(合格) 
% PP>0.70 或 C<0.653(勉强合格) 
% PP<=0.70 或 C>=0.654(不合格) 
% 
% AUA=[A;U;UA;XUA]; 
% XEG=[XG;EG]; 
% PPC=[PP;C]; 
FUNCTION [X0X,Q0Q,PPC,PDDSTR,XII,AUA,XEG]=GM11(X,III); 
%%%%%%%%%%%%%%%%%%%%%%% %例子 
%X=[3.711 3.723 3.716 3.721 3.728] 
%X=[2.67 3.13 3.25 3.36 3.56 3.72] 
% X=[2.97 3.23 3.29 3.46 3.59 3.71] 
%X=[43.45 47.05 52.75 57.14 62.64 68.52] 
% X=[3.38 4.27 4.55 4.69 5.59] 
% X=[4.24 4.33 5.20 6.42 7.32 8.53 8.82 10.72] 
% 
% X=[3.38 4.27 4.55 4.69 5.59] 
% III=[ 5 6 7 8 9 10 11] 
% III=[] %%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% %% 
%% 一、数据处理 %% 
%% %% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %1 建立 X1 生成数列 
%FORMAT LONG 
A12=SIZE(X); 
N=A12(2); 
X1=ONES(1,N); 
X1(1)=X(1); 
FOR I=2:N X1(I)=X1(I-1)+X(I); 
END 
X1; 
%2 构造数据距阵 B 和数据向量 YN: 
B=ONES(N-1,2); 
FOR I=1:N-1 B(I,1)=(-0.5)*(X1(I)+X1(I+1)); 
END 
YN=ONES(N-1,1); 
FOR I=2:N YN(I-1,1)=X(I); 
END 
B; 
YN; 
%3 计算 B'B,INV(B'B)和 B'YN;得到参数 A 和 U 
%BTB=B'*B;% 
%BTB=INV(BTB); 
%BTYN=B'*YN; 
%AU=BTB*BTYN; 
AU=INV(B'*B)*B'*YN; A=AU(1,1); 
U=AU(2,1); % FPRINTF('参数 A:%F\N',A); 
% FPRINTF('参数 U:%F\N',U); 
UA=U/A; 
XUA=X(1)-UA; 
%4 得出预测模型 
%预测第 I 的预测值 
%有问题 % XI1=XUA*EXP((-A)*I)+UA;% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%% %% 
%% 二、模型检验 %% 
%% %% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%5:残差检验 
%51 计算 X1 
X1=ONES(1,N); 
FOR I=1:N X1(I)=XUA*EXP((-A)*(I-1))+UA; 
END 
X1; 
%52 累减生成 X0 序列 
X0=ONES(1,N); 
X0(1)=X1(1); 
FOR I=2:N X0(I)=X1(I)-X1(I-1); 
END 
X0; 
%53 计算绝对误差及相对误差序列 
DD=ABS(X0-X);%计算绝对误差序列 
DDD=(DD./X).*100;%计算相对误差序列 X% 
% FPRINTF('相对误差序列:'); 
% FPRINTF('%F%% ',DDD); 
% FPRINTF('\N'); 
%6 进行关联度检验 
%61 计算序列绝对误差 XX 
XX=ONES(1,N); 
FOR I=1:N XX(I)=X(I)-X0(I); 
END 
% FPRINTF('序列绝对误差:'); 
% FPRINTF('%F ',XX); 
% FPRINTF('\N'); MINXX=MIN(DD); 
% FPRINTF('最小差:'); 
% FPRINTF('%F ',MINXX); 
% FPRINTF('\N'); MAXXX=MAX(DD); 
% FPRINTF('最大差:'); 
% FPRINTF('%F ',MAXXX); 
% FPRINTF('\N'); 
%62 计算关联系数 P=0.5 (则 R=0.6) 
P=0.5; 
NI=ONES(1,N);
FOR I=1:N NI(I)=(MINXX+P*MAXXX)/(DD(I)+P*MAXXX); 
END 
%63 计算关联度,(P=0.5 时,则 R=0.6) 
R=(1/N)*SUM(NI); 
% FPRINTF('请查找 P=0.5 是的检验准则 R=0.6 是否大于%F\N',R); 
%7 后验差检验 
%71 
XM=MEAN(X); 
%72 求的均方差 
S1=(SUM((X-XM).^2)/(N-1))^(1/2); 
%73 计算残差的均值 
DDM=MEAN(DD); 
%74 计算残差的均方差 
S2=(SUM((DD-DDM).^2)/(N-1))^(1/2); 
%75 计算后验误差比 C: 
C=S2/S1; 
% FPRINTF('验误差比 C:%F\N',C); 
%76 计算小误差概率 
%%%%%%%%%%%%%% PR=ABS(XX-MEAN(XX))<0.6745*S1; %M 满足条件的样本 
PA=SIZE(FIND(PR==1)); 
PS=PA(1,2); %M 满足条件的样本个数 
PB=SIZE(PR); 
PS=PB(1,2); %M 总样本个数 PP=PS/PS; %小误差概率 
% FPRINTF('小误差概率 PP:%F\N',PP); %%%%%%%%%%%%%%%% 
%检验 预测精度 YCD % FPRINTF(' PP>0.95 或 C<0.351()\N PP>0.80 或 C<0.502(合格)\N PP>0.70 或 C<0.653(勉强合格)\N PP<=0.70 
或 C>=0.654(不合格)\N\N',C); 
IF PP>0.95 PD=1; 
% FPRINTF(' 因 PP>0.95'); 
END 
IF PP<=0.95&PP>0.80 PD=2; 
% FPRINTF(' 因 PP<=0.95&PP>0.80'); 
END
IF PP<=0.80&PP>0.70 PD=3; 
% FPRINTF(' 因 PP<=0.80&PP>0.70'); 
END 
IF PP<=0.70 PD=4; 
% FPRINTF(' 因 PP<=0.70'); 
END PD1=0; 
IF C<0.35 PD1=1; 
% FPRINTF('C<0.35'); 
END 
IF C>=0.35&C<0.50 PD1=2; 
% FPRINTF('C>=0.35&C<0.50'); 
END 
IF C>=0.50&C<0.65 PD1=3; 
% FPRINTF('C>=0.50&C<0.65'); 
END 
IF C>=0.65 PD1=4; 
% FPRINTF('C>=0.65'); 
END PDD=MAX(PD,PD1); IF PDD==1 PDDSTR='1 级(好)'; 
% FPRINTF(' 故根据经验,预测精度为 1 级(好)\N\N'); 
END 
IF PDD==2 PDDSTR='2 级(合格)' ; 
% FPRINTF(' 故根据经验,预测精度为 2 级(合格)\N\N'); 
END 
IF PDD==3 PDDSTR='3 级(勉强合格)'; 
% FPRINTF(' 故根据经验,预测精度为 3 级(勉强合格)\N\N'); 
END 
IF PDD==4 PDDSTR='4 级(不合格)'; 
% FPRINTF(' 故根据经验,预测精度为 4 级(不合格)\N\N');
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

深度学习知识点:循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)

深度学习知识点&#xff1a;循环神经网络&#xff08;RNN&#xff09;、长短期记忆网络&#xff08;LSTM&#xff09;、门控循环单元&#xff08;GRU&#xff09; 前言循环神经网络&#xff08;RNN&#xff09;RNNs&#xff08;循环神经网络&#xff09;训练和传统ANN&#xff…

VulBG: 构建行为图加强基于深度学习的漏洞检测模型

近年来&#xff0c;人们提出了基于深度学习&#xff08;DL&#xff09;的漏洞检测系统&#xff0c;用于从源代码中自动提取特征。这些方法在合成数据集上可以实现理想的性能&#xff0c;但在检测真实世界的漏洞数据集时&#xff0c;准确率却大幅下降。此外&#xff0c;这些方法…

OpenHarmony网络协议通信—nanopb

简介 nanopb是一种小代码量的协议缓冲区实现&#xff0c;适用于任何内存受限的系统。 下载安装 直接在OpenHarmony-SIG仓中搜索nanopb并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的Nanopb库代码存在以下路径&#xff1a;./third_party/nanopb 修改添…

docker安装并跑通QQ机器人实践(3)-bs-nonebot搭建

NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架&#xff08;下称 NoneBot&#xff09;&#xff0c;它基于 Python 的类型注解和异步优先特性&#xff08;兼容同步&#xff09;&#xff0c;能够为你的需求实现提供便捷灵活的支持。同时&#xff0c;NoneBot 拥有大…

如何在 Netlify 上手动部署 React 和 TypeScript 项目

在本教程中&#xff0c;我将教你如何使用 Vite 在 Netlify 上手动部署 React 和 TypeScript 项目。我将向你展示一些快速简单的步骤&#xff0c;让你的项目能够立即运行。 要跟着本教程操作&#xff0c;有几个先决条件&#xff1a; 一个现有的 React 和 TypeScript 项目&…

bug(警告):[vue-router] Duplicate named routes definition: …

查看警告&#xff1a;[vue-router] Duplicate named routes definition——翻译[vue-router]重复命名路由定义 小编劝诫&#xff1a;当我们在开发过程中警告也一定不要忽略&#xff0c;虽然你在本地跑代码时这些警告影响项目的正常运行&#xff0c;但是会让你产生误区&#xff…

OSPGF高级实验综合

1.实验拓扑 二.实验要求 1、R4为ISP&#xff0c;其上只配置IP地址&#xff1b;R4与其他所直连设备间均使用公有IP&#xff1b; 2、R3-R5、R6、R7为MGRE环境&#xff0c;R3为中心站点&#xff1b; 3、整个OSPF环境IP基于172.16.0.0/16划分&#xff1b;除了R12有两个环回&#x…

深入理解JAVA垃圾收集器CMS,G1工作流程原理 GC流程图 什么社会触发Minor GC?触发MinorGC过程。Full GC 过程。

java CMS&#xff0c;G1垃圾收集器工作流程原理浅析 JVM内存空间基础知识点&#xff08;基于JDk1.8&#xff09; 1.方法区&#xff1a;逻辑概念&#xff0c;元空间&#xff0c;方法区主要用于存储类的信息、常量池、方法数据、方法代码等。方法区逻辑上属于堆的一部分&#xf…

java实现chatGPT SDK

搭建一个 ChatGPT-SDK 组件工程&#xff0c;专门用于封装对 OpenAI 接口的使用。由于 OpenAI 接口本身较多&#xff0c;并有各类配置的设置&#xff0c;所以开发一个共用的 SDK 组件&#xff0c;更合适我们在各类工程中扩展使用 整个流程为&#xff1a;以会话模型为出口&#x…

C++笔试强训day3

目录 1.简写单词 2.dd爱框框 3.除2&#xff01; 1.简写单词 链接 我的思路超级简单&#xff0c;就是将输入的每个string存入vector&#xff0c;然后遍历每个string的第一个元素&#xff0c;如果为小写字母&#xff0c;就-32存入&#xff0c;若为大写&#xff0c;则直接存入。…

Docker in Docker的原理与实战

Docker in Docker&#xff08;简称DinD&#xff09;是一种在Docker容器内部运行另一个Docker实例的技术。这种技术允许用户在一个隔离的Docker容器中创建、管理和运行其他Docker容器&#xff0c;从而提供了更灵活和可控的部署选项。以下是DinD的主要特点&#xff1a; 隔离性&am…

Maven实战—搭建微服务 Maven 工程架构

需求案例&#xff1a;搭建一个电商平台项目&#xff0c;该平台包括用户服务、订单服务、通用工具模块等。 项目架构&#xff1a; 用户服务&#xff1a;负责处理用户相关的逻辑&#xff0c;例如用户信息的管理、用户注册、登录等。订单服务&#xff1a;负责处理订单相关的逻辑…

使用示例解释.NET中的Mocking是什么?

让我们踏上探索.NET软件开发中Mocking概念的旅程&#xff0c;让我们深入了解Mocking是多么简单易懂、易于访问。请与我一起穿越这个主题&#xff0c;我将涵盖以下内容&#xff1a; 理解Mocking&#xff1a;为何它对于构建强大的测试策略至关重要。探索一些最常见的Mocking库&a…

Ansible组件说明

1.Ansible Inventory 工作当中有不同的业务主机&#xff0c;我们需要在把这些机器信息存放在inventory里面&#xff0c;ansible默认的inventory的文件是/etc/ansible/hosts&#xff0c;也可以通过ANSIBLE_HOSTS环境变量来指定或者运行ansible和ansible-playbook的时候用-i参数临…

视频教程下载:用ChatGPT玩转海外抖音TikTok

CHATGPT for TikTok是一门前沿课程&#xff0c;旨在帮助您充分发挥TikTok广告活动的全部潜力。随着数字营销的爆炸性增长&#xff0c;企业需要使用先进的工具来保持竞争优势。在这门课程中&#xff0c;您将学习如何利用CHATGPT——一种先进的人工智能工具——来创建与目标受众产…

有没有手机上使用的库存软件

库存软件是一种仓库的信息管理系统&#xff0c;它主要针对出库与入库这些数据进行管理&#xff0c;传统的库存管理都是在电脑上安装一个专门的数据库管理系统进行管理&#xff0c;这也是一种比较成熟的管理方式&#xff0c;那么有没有手机上使用的库存软件。 手机上使用的库存软…

k8s配置configmap指定到容器的指定文件

我们需要将名称为walletkey.properties的文件做成configmap&#xff0c;然后将walletkey.properties文件单独挂载出来到/data/walletkey.properties&#xff0c;且不能覆盖/data目录&#xff0c;具体如下 1、创建configmap configmap文件内容 其中walletkey.properties: >-引…

python语言零基础入门——注释、print()函数、input()函数

目录 一、注释 1.块注释 2.行内注释 3.多行注释 二、打印变量 1.print()函数&#xff1a;输出/打印指定内容 2.input()函数&#xff1a;输入指定内容 三、编程题&#xff1a;个人名片 一、注释 1.块注释 以#开始&#xff0c;直到本行结束都是注释为了保证代码的可读性…

科技的崛起:国内机器视觉蓬勃发展

文 | BFT机器人 在工业4.0的浪潮下&#xff0c;随着科技的蓬勃发展&#xff0c;机器视觉逐渐走入大众视野&#xff0c;机器视觉产品的普及范围也越来越广。 大家知道机器视觉的由来吗&#xff1f; 机器视觉的由来可以追溯到20世纪70年代&#xff0c;美国麻省理工学院&#xff…

机器学习鸢尾花各种模型准确率对比

流程 获取数据集导入需要的包读取数据划分训练集和测试集调用各种模型比较准确率 获取数据集 链接&#xff1a;https://pan.baidu.com/s/1RzZyXsaiJB3e611itF466Q?pwdj484 提取码&#xff1a;j484 --来自百度网盘超级会员V1的分享导入需要的包 import pandas as pd impo…