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

本文主要是介绍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名片即可

这篇关于2010年认证杯SPSSPRO杯数学建模B题(第一阶段)交通拥堵问题全过程文档及程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920296

相关文章

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创