ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:113.09KB ,
资源ID:9833148      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9833148.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(五一数学建模A题不确定性下的最短路径问题 CUMT赖增强.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

五一数学建模A题不确定性下的最短路径问题 CUMT赖增强.docx

1、五一数学建模A题不确定性下的最短路径问题 CUMT赖增强2015年暑期数学建模培训第一次模拟承诺书我们仔细阅读了数学建模联赛的竞赛规则。我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与本队以外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其它公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们愿意承担由此引起的一切后果。我们授权数学建模联赛赛组委会,可将我们

2、的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。 我们参赛选择的题号为(从A/B/C中选择一项填写): 我们的参赛报名号为: 参赛组别(研究生或本科或专科):本科所属学校(请填写完整的全名)中国矿业大学南湖校区参赛队员 (打印并签名) :1. 赖增强 2. 兰卫旗3. 李康杰日期:2015年8月11日获奖证书邮寄地址:中国矿业大学南湖校区桃4B5032邮政编码:221116收件人姓名:赖增强 联系电话:2015年暑期数学建模培训第一次模拟编号专用页竞赛评阅编号(由竞赛评委会评阅前进行编号):评阅记录评阅人评分备注裁剪线裁剪线裁剪线竞赛评阅编号(由

3、竞赛评委会评阅前进行编号):参赛队伍的参赛号码:1(请各参赛队提前填写好):不确定条件下的最优路径问题摘要本文针对如何在复杂的交通环境下寻找一条可靠、快速、安全的最优路径的问题,考虑到交通堵塞、恶劣天气、路途成本等不确定因素对司机路径选择的影响,建立多个不确定条件下的最优路径模型。 对于问题一,我们在各个路段所用时间服从正态分布N(,2)的基础上,建立了在不确定条件下求最短路的NP模型,给每个路段设定一个预留到达的时间t,为了尽可能准确的到达目的地,选取95%的概率,满足PTt?95%,那么最优路径的定义就是预留时间最小的那个路径,将其转换为标准的正态分布,通过标准的正态分布得到了在不确定性条

4、件下车辆从起点到终点预留时间的数学表达式:t=+。计算得对应的t(绕城)=,t(市区)=,那么最优路径为绕城快速路。对于问题二,在第一问定义的基础上进一步引入Bool系数,在搜集得到的具体的交通网络中,建立了一个从起点到终点路径为的正态分布,通过求最小预留时间t(min)=E+ ,得出最优路径的算法。其中EE,=,但的根式不具有线性可加性。不能用经典的dijkstra算法求解。对此采用基于双目标规划的思路,利用第K短路径算法,分别对E,,运用matlab编程,找出各自前十条最短路径。之后在其并集中找出最优路径:V1V3V4V8。由此建立了求最短路的NPK模型。最后从时间的渐进性态上分析模型的复

5、杂性和收敛性。对于问题三,我们只考虑各路段空间上的相关性,并用概率论中的协方差来表示这种耦合关系,建立了NPK模型。得出可靠时间的数学表达式t= E+;求解得最优路径:V1-V3-V5-V8。关键词:NPK模型,K-短路,预留时间,正态分布,渐进性态。一.问题重述目前,交通拥挤和事故正越来越严重的困扰着城市交通,如何在复杂的交通环境寻找一条可靠、快速、安全的最优路径,已经成为所有驾驶员的共识。传统的最优路径就是行驶时间最短的路径,这是基于理想交通情况下分析的,而事实上,在现实生活中,受到很多不确定性因素的影响,例如:交通工具、恶劣天气、突发事件,导致车辆的行驶时间均存在不确定性。为了减少交通阻

6、塞所耽误的时间,尽可能快的到达目的地,解决不确定性性条件下的最优路径问题,现依次提出以下问题:(一)针对一般的交通网络,假设已知每条路段行驶时间的均值和标准差,请建立相关的数学模型,定量地分析车辆行驶时间的不确定性,然后给出在不确定性条件下车辆从起点到终点的最优路径的定义和数学表达式。并将此模型应用到图1的例子中会选择哪条道路。(二)根据第一问的定义,假设已知每条路段行驶时间的均值和标准差,设计算法搜索最优路径,并将该算法应用到具体的交通网络中,用计算结果验证算法的有效性。从理论上分析算法的收敛性、复杂性等性质。(三)建立数学模型,描述下游路段发生交通拥堵使车辆减速或者排队,导致上游路段发生拥

7、堵的交通路段之间驾驶时间的相关性,并将此相关性应用到第一问和第二问的最优路径搜索问题中,并设计算法解决考虑相关性的最优路径搜索问题,给出算例验证算法的有效性。从理论上分析算法的收敛性、复杂性等问题。二.基本假设符号说明基本假设各个路段所用时间服从正态分布。假设仅相邻两条路段之间具有相关性。假设任意两条相邻路段组成的协方差矩阵为一个随机的正半定矩阵。符号说明 两相邻节点之间的路段 从起点到终点的路径 Bool系数。当路径a通过此路段k时为1 对随机变量T求方差运算 () 标准正太分布累计概率函数的逆函数 随机向量t1,t2协方差四.模型的建立与求解问题一问题分析本问题是对于题设的交通网络,已知每

8、条路段行驶时间的均值和标准差条件下。定量分析车辆行驶时间的不确定性,以及给出在不确定性条件下最优路径的定义和数学表达式。假设各个路段所用时间服从正态分布N(,2)模型,利用MATLAB模拟(附录一)两条路径的正态分布图1:(图)图给每个路段设定一个预留到达的时间t,为了尽可能准确的到达目的地,选取95%的概率,满足PTt95%。那么最优路径的定义就是预留时间最小的那个路径。模型建立与求解已知到达目的地所用时间和预留时间满足:PTt95%,将其转换为标准的正态分布:P 95%,得到0()95%,0-1(),(其中)即可解得每条路段的t+,取t=+。我们将上诉模型称之为不确定条件下的NP模型。应用

9、已知的数学表达式,将图1所给的数据: 1=33, 1=1; 2=30, 2=15;带入公式计算出:t(绕城)=,t(市区)=,最优路径为绕城快速路。问题二问题分析根据第一问中的最优路径定义和相关数学表达式,对于一般交通网络,可以结合K短路径算法建立NPK模型,最后从时间的渐进性态上分析其复杂性和收敛性。模型建立与求解对于一般交通网络,为了方便设计算法找到最优路径,搜集了八个城市之间路段的时间均值和时间标准差,列表如下(表:表我们可以将其转化为图论问题。将八个城市看做节点构成一个节点集:V=V1,V2,V3,V4,V5,V6,V7,V8各个城市之间的道路看做边集:E=V1V2,V1V3,V14,

10、V1V5,V1V6,V1V7,V2V3,V1V4,V2V7,V3V4,V3V5,V4V5,V4V8,V5V6,V4V8,V6V7,V6V8,V7V8则可将八个城市之间的交通网络图看做一个无向赋权图G(图.)每条路为图中的边。八个城市之间交通网络数据图图.在第一问定义的基础上,针对每条路段引入Bool系数,当该路段被选择时为1,否则为0。那么从起点到终点的路径可表示为kpath,可知其服从正态分布。通过求该路径的最小预留时间t(min)=E+ ,得出最优路径。2对于t(min)= +,其中:= =Var由于的根式不具有线性可加性。不能用经典的dijkstra算法求解。对此我们基于双目标规划的思路

11、3,分别将,运用matlab编程(附录二),求出前十条最短路径。表 表根据上述两表数据,运用公式:t(min)=E+求出并集中的前16条最优路径的预留时间(表)表为了直观进行对比,将上表用excel制得如下柱状图:(图)(图)由图可知最优路径为V1V3V4V8。(图(图)收敛性分析:两个多项式时间算法之和还为多项式时间算法,其复杂性比列举的低。当问题的规模趋向无穷大时,时间复杂度的数量级将表现为渐进性态。即当路径K趋于无穷时,该模型一定收敛。问题三问题分析在问题三中,要求进一步考虑各路段之间行驶时间的相关性。我们用概率论中的协方差来表示这种耦合关系,并建立推广的NPK模型。模型建立与求解在问题

12、二中我们已得出最短预留时间的数学表达式:t(min)= +为方便模型的建立与求解。在此我们假设仅相邻两条路段之间具有相关性。根据协方差的性质Var(T1+T2)=Var(T1)+Var(T2)+2cov(T1,T2);可以得出t= E+称t为可靠时间。4以下图为例:图图为从A到B的一条路径。可靠时间t = +,其中=ET1+ET2,。由于问题二中,我们没有给出任意两条路段其时间随机向量(t1,t2)的密度函数。无法具体求出协方差covt1+t2。对此我们假设任意两条相邻路段组成的协方差矩阵为一个随机的正半定矩阵。在matlab中随机函数rand()基础上得出如下协差阵(附录三):表对问题二找出

13、的预留时间最小的前16条路分别求其可靠时间(表):表运用excel制图直观比较可靠时间大小(表):表故得出最优路径为第三条V1-V3-V5-V8.(图)表五模型评价本论文针对在不确定性条件下求解最优路径的问题,建立了以求最小预留时间t为目标的NP模型,并对问题一给出了合理的解答。在此基础上运用双目标规划的思想,结合求k短路径的方法,在没有考虑非相邻路段间相关性基础上,针对更一般的问题建立了推广的NPK模型。复杂性低,并随k增大具有较强收敛性。但在求均值与方差最短的并路径时,没有设计出相应的算法,且本文只针对k较大时有效。六参考文献1 袁东,肖广冰.详解matlab快速入门与应用.北京:电子工业

14、出版社,2011,73-80.2 邵虎,林兴强,孟强,谭美琳.基于出行问题可靠性的交通分配流问题.管理科学学报.(5):1-4.3 XX百科,多目标规划, 桂云丽.变分不等式的算法研究.西安电子科技大学硕士论文.2010:1-8.附录一.%二维正太分布图function Y=fun1(x);Y=(1/(2*pi*1)*exp(-(x-33)2/(2*1*1);Y=(1/(2*pi*15)*exp(-(x-30)2/(2*15*15);subplot(1,2,1);x y=meshgrid(25:40);z = 1/(2*pi*1).*exp(-(x-33).2/(2*1*1);h= mesh(

15、x,y,z);set(h,edgecolor,none,facecolor,interp); subplot(1,2,2);x y=meshgrid(-50:100);z = 1/(2*pi*15).*exp(-(x-30).2/(2*15*15);h= mesh(x,y,z);set(h,edgecolor,none,facecolor,interp);附录二%第K短路算法function shortestPaths, totalCosts = kShortestPath(netCostMatrix, source, destination, k_paths)if source size(n

16、etCostMatrix,1) | destination size(netCostMatrix,1)warning(The source or destination node are not part of netCostMatrix);shortestPaths=;totalCosts=;elsek=1;path cost = dijkstra(netCostMatrix, source, destination);%P is a cell array that holds all the paths found so far:if isempty(path)shortestPaths=

17、;totalCosts=;elsepath_number = 1; Ppath_number,1 = path; Ppath_number,2 = cost; current_P = path_number;%X is a cell array of a subset of P (used by Yens algorithm below):size_X=1; Xsize_X = path_number; path; cost;%S path_number x 1S(path_number) = path(1); %deviation vertex is the first node initi

18、ally% K = 1 is the shortest path returned by dijkstra():shortestPathsk = path ;totalCosts(k) = cost;while (k = index_dev_vertexif P_(1:index_dev_vertex) = shortestPathsi(1:index_dev_vertex)index = index+1;SP_sameSubPathindex=shortestPathsi;endend end v_ = P_(index_dev_vertex);or j = 1: length(SP_sam

19、eSubPath)next = SP_sameSubPathj(index_dev_vertex+1);temp_netCostMatrix(v_,next)=inf; end%get the cost of the sub path before deviation vertex vsub_P = P_(1:index_dev_vertex);cost_sub_P=0;for i = 1: length(sub_P)-1cost_sub_P = cost_sub_P + netCostMatrix(sub_P(i),sub_P(i+1);end%call dijkstra between d

20、eviation vertex to destination node dev_p c = dijkstra(temp_netCostMatrix, P_(index_dev_vertex), destination);if isempty(dev_p)path_number = path_number + 1;Ppath_number,1 = sub_P(1:end-1) dev_p ; %concatenate sub path- to -vertex -to- destinationPpath_number,2 = cost_sub_P + c ;S(path_number) = P_(

21、index_dev_vertex);size_X = size_X + 1; Xsize_X = path_number; Ppath_number,1 ;Ppath_number,2 ;else%warning(k=%d, isempty(p)=true!n,k);end end%Step necessary otherwise if k is bigger than number of possible paths%the last results will get repeated !if size_X 0shortestXCost= X13; %cost of pathshortest

22、X= X11; %ref number of pathfor i = 2 : size_Xif Xi3 shortestXCostshortestX= Xi1;shortestXCost= Xi3;endendcurrent_P = shortestX;k = k+1;shortestPathsk = Pcurrent_P,1;totalCosts(k) = Pcurrent_P,2;else%k = k+1;endendendendfunction shortestPath, totalCost = dijkstra(netCostMatrix, s, d)n = size(netCostM

23、atrix,1);for i = 1:n% initialize the farthest node to be itself;farthestPrevHop(i) = i; % used to compute the RTS/CTS range;farthestNextHop(i) = i;end% all the nodes are un-visited;visited(1:n) = false;distance(1:n) = inf; % it stores the shortest distance between each node and the source node;paren

24、t(1:n) = 0;distance(s) = 0;for i = 1:(n-1),temp = ;for h = 1:n,if visited(h) % in the tree;temp=temp distance(h);elsetemp=temp inf;endend; t, u = min(temp); % it starts from node with the shortest distance to the source;visited(u) = true; % mark it as visited;for v = 1:n, % for each neighbors of nod

25、e u;if ( ( netCostMatrix(u, v) + distance(u) distance(v) )distance(v) = distance(u) + netCostMatrix(u, v); % update the shortest distance when a shorter shortestPath is found;parent(v) = u; % update its parent;end; end;end;shortestPath = ;if parent(d) = 0 % if there is a shortestPath!t = d;shortestP

26、ath = d;while t = sp = parent(t);shortestPath = p shortestPath;if netCostMatrix(t, farthestPrevHop(t) netCostMatrix(t, p)farthestPrevHop(t) = p;end;if netCostMatrix(p, farthestNextHop(p) netCostMatrix(p, t)farthestNextHop(p) = t;end;t = p;end;end;totalCost = distance(d);%return;function = TestKShortestPath(case_number)switch 2case 1netCostMatrix = inf 10 20 inf inf 40 80 inf;10 inf 20 30 inf inf 70 inf;20 20 inf 10 50 inf inf inf;inf 30 10 inf 30 inf inf 60;70 inf 50 30 inf 30 inf 40;40 inf inf inf 30 inf 20 60;80 70 inf inf inf 20 inf 40;inf inf inf 60 40 60 40 inf;source=1;destination

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1