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)

bash 复制代码
% III 为预测点 
% X 为预测序列(一行) 
% X0X 为预测值(对有 III 而言) 
% Q0Q 为预测精度 
% PP 为小误差概率 
% C 为后验误差比 
% PP>0.95 或 C<0.35 为 1 级(好) 
% PP>0.80 或 C<0.50 为 2 级(合格) 
% PP>0.70 或 C<0.65 为 3 级(勉强合格) 
% PP<=0.70 或 C>=0.65 为 4 级(不合格) 
% 
% 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.35 为 1 级(好)\N PP>0.80 或 C<0.50 
为 2 级(合格)\N PP>0.70 或 C<0.65 为 3 级(勉强合格)\N PP<=0.70 
或 C>=0.65 为 4 级(不合格)\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名片即可
相关推荐
统计学小王子13 小时前
数模之路获奖总结——数据分析交流(R语言)
数学建模·数据挖掘·数据分析·r语言
MoRanzhi12032 天前
基于 SciPy 的矩阵运算与线性代数应用详解
人工智能·python·线性代数·算法·数学建模·矩阵·scipy
人大博士的交易之路2 天前
今日行情明日机会——20250926
数学建模·数据分析·缠论·缠中说禅·涨停回马枪
泰迪智能科技3 天前
分享“泰迪杯”数据挖掘挑战赛全新升级——赛题精准对标,搭建 “白名单” 赛事进阶通道
人工智能·数学建模·数据挖掘
贝塔实验室3 天前
ADMM 算法的基本概念
算法·数学建模·设计模式·矩阵·动态规划·软件构建·傅立叶分析
文火冰糖的硅基工坊4 天前
[硬件电路-320]:模拟电路与数字电路,两者均使用晶体管(如BJT、MOSFET),但模拟电路利用其线性区,数字电路利用其开关特性。
单片机·嵌入式硬件·数学建模·fpga开发·系统架构·信号处理
小陈爱建模5 天前
[已更新]2025华为杯E题数学建模研赛E题研究生数学建模思路代码文章成品:高速列车轴承智能故障诊断问题
数学建模
一碗白开水一5 天前
【第30话:路径规划】自动驾驶中Hybrid A星(A*)搜索算法的详细推导及代码示例
人工智能·算法·机器学习·计算机视觉·数学建模·自动驾驶
MATLAB代码顾问5 天前
Python实现海鸥优化算法(Seagull Optimization Algorithm, SOA)(附完整代码)
数学建模
CC数学建模5 天前
2025年中国研究生数学建模竞赛“华为杯”C题 围岩裂隙精准识别与三维模型重构完整高质量成品 思路 代码 结果分享!全网首发!
数学建模·重构