2018年五一杯数学建模A题徐州潘安湖风景区游览路线设计解题全过程文档及程序

2019年五一杯数学建模

A题 徐州潘安湖风景区游览路线设计

原题再现

  徐州是一个老工业基地和资源型城市,煤炭开采历史长达130年。长期煤炭开采在徐州累计形成采煤塌陷区达数十万亩。位于徐州市贾汪区西南部、紧邻马庄的潘安湖湿地公园原来就是徐州最大的、塌陷最严重的采煤塌陷区。据统计,1949年以来,贾汪煤田累计为国家提供原煤3.5亿余吨, 也造成了11.3万亩土地塌陷。2010年,江苏省单体投资最大的一宗土地整理项目在潘安湖启动,即利用采煤塌陷形成的开阔水面,同步展开基本农田整理、采煤塌陷地复垦、生态环境修复等,在一片废墟上建成一个6500亩湖面的国家级水利风景区。2016年,贾汪被列为“国家全域旅游示范区”首批创建单位,全区共接待游客560万人次,旅游综合收入达到16.8亿元。本题选取潘安湖景区的部分景点(如图1所示),请在如下的假设下,完成徐州潘安湖风景区游览路线设计问题。
  假设:
  (1)任意两个景点之间的最短步行距离如表1给出。
  (2)第二问、第三问假设步行速度 。
  (3)游客在景区停留的时间由“景点之间的步行时间”、“景点游览时间(即在景点内游玩的时间)” 和“在景区外的等待时间”三部分组成,其他时间忽略不计,游览时间必须符合表2的要求。

  1. 从景石出发,步行游览以下景点: ①游客服务中心,②阳光草坪,③森林小剧场,④儿童科普体验区,⑤儿童戏水场,⑥湿地博物馆,⑦湿地商业街。建立数学模型,找出从景石出发,到达⑦湿地商业街,并且经过①—⑥所有景点至少1次的距离最短的路线,计算该路线的长度,并将相关结果填入表格3。注:在每个景点不用停留。

  2. 如果某游客12:00从景石出发,要求他17:00前到达湿地商业街,17:30离开湿地商业街(注:根据表2的要求在湿地商业街游览时间至少为30分钟)。建立数学模型,为该游客设计一条能游览完全部景点(景点①—⑦)且游览总时间最长的游览路线(假设在各个景点没有等待时间),并完成表4的填写。

  3. 如果有3个旅游团,12:00同时从景石出发,要求三个旅游团17:00前到达湿地商业街,17:30离开湿地商业街(注:根据表2的要求在湿地商业街游览时间至少为30分钟),并且每个景点(湿地商业街除外)同时只能容纳1个旅游团游览,按照时间顺序后到达的旅游团,需要等待先到达的旅游团游览结束之后才能开始游览。建立数学模型,为三个旅游团分别设计一条能游览完全部7个景点且游览总时间最长的游览路线,并完成表5的填写。

  4. 假设3个旅游团的步行速度可以在1km/h到3km/h之间调节,但是总的平均步行速度不能超过 ,3个旅游团12:00同时从景石出发,要求三个旅游团17:00前到达湿地商业街,17:30离开湿地商业街(注:根据表2的要求在湿地商业街游览时间至少为30分钟),并且每个景点(湿地商业街除外)同时只能容纳1个旅游团游览,按照时间顺序后到达的旅游团,需要等待先到达的旅游团游览结束之后才能开始游览。建立数学模型,为三个旅游团分别设计一条能游览完全部7个景点且游览总时间长,总的等待时间短的游览路线,并完成表6的填写。

  5. 在现实中,考虑如下两个不确定性因素
  (1) 不同旅游团从景石出发的时间具有不确定性,例如,多个旅游团在不同的时间从景石出发开始游览,在此情况下到达湿地商业街的时间可以顺延。
  (2) 每个景点的等待时间也存在不确定性因素,例如,旅游设施短时间的维护和清理,或者受到散客客流的影响。
  考虑上述两个不确定性因素,其它条件与问题4相同,建立数学模型,为多个旅游团分别设计一条能游览完全部7个景点且游览总时间长,总的等待时间短的游览路线。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

  本文针对徐州潘安湖风景区的部分景点展开游览路线规划的研究,通过将问题图论化,TSP 问题的转化等,建立了最短路线模型,混合整数 0-1 规划模型,双目标混合整数规划模型等,运用了 lingo 算法,穷举法等得到了受时间约束的游览路线方案,并对结果进行了误差分析和相关验算。
  问题一中,针对游览全部景点的最短路线规划问题,首先将问题图论化,将问题与 TSP 问题有机结合起来,通过引入 0-1 决策变量,建立了以线路距离最短为目标的 0-1 整数规划模型,利用 Lingo 软件求得总的步行距离为 1820 米,路线则为:景石→③→⑤→①→②→④→⑥→⑦。此外,我们还对不含有子巡回的约束条件表达式进行了严格的数学证明。
  问题二中,由于游客在时间上存在约束,针对游览时间最长的路线规划问题,基于问题一,又因为总时间是由游览的总时间、景点之间的步行时间、在景区外的等待时间三部分组成。通过引入决策变量,建立了以总游览时间最长为目标的 0-1混合整数规划模型,利用 Lingo 软件求得总游览时间为 270 分钟,总步行时间为 60分钟,路线为:景石→②→④→③→⑤→①→⑥→⑦。
  问题三中,针对 3 个旅游团的路线规划问题,通过顺延在景点外的等待时间来进行约束,由于每个景点只能容纳一个旅游团,基于问题二,建立了以总的游览时间最长为目标的混合 0-1 整数规划模型,采取穷举搜索结合 Lingo 软件的方法,求得最优结果:三个旅游团的最长的游览总时间分别为 270、261.9、268.8 分钟,而总步行时间分别是 60、68、61 分钟,无等待时间。此外,我们还利用 C 语言程序对各个旅游团在各个景点的时间节点是否冲突进行了验证,确保了结果的准确性。
  问题四中,根据对各个旅行团的速度和平均速度的变化,基于问题三,建立了以游览总时间最长,总的等待时间最短为双目标的混合整数规划模型,仍然采取穷举搜索结合 Lingo 软件的方法,求得最优结果:3 个旅游团总游览时间分别为 270、268.8、268.8 分钟,总的步行时间分别为 60、61.2、61.2 分钟,且平均速度满足2km/h,并用 C 语言冲突验证程序对结果的正确性进行了验证,特别注意的是 3 个旅行团的路线规划中有重复的路线选择,但每个旅游团在各个景点的游览时间并没有冲突。
  问题五中,由于考虑了两个不确定因素:①不同旅游团从景点 1(景石)出发的时间具有不确定性;②每个景点的等待时间也存在不确定性。假设存在 n 个旅游团,基于问题四,建立了双目标的混合整数规划模型,并设定了数据进行了试算,得到可行的参考方案。

模型假设:

  (1)假设正常情况下人的步行速度为V =2km/h。
  (2)假设游客在景区停留的时间由“景点之间的步行时间”、“景点游览时间(即在景点内游玩的时间)” 和“在景区外的等待时间”三部分组成,其他时间忽略不计。
  (3)假设在游玩过程中,游客们不会遇到突发事件,所有的游览均是正常进行。
  (4)假设每个景点的旅游设备的维护与清理都不会影响游客们的正常游览时间。

问题分析:

  背景
  在前期的准备工作中,我们发现本问题与 TSP 问题有着相应的联系,并且可以用混合整数规划来替代,此外问题的图论化也是一个需要了解的方面,图论化会将许多现实中的实际问题简单化,对于此类问题的研究有着积极的作用。
  所需问题的分析
  (1)根据问题一的说明,从景点 1(景石)出发,必须经过景点 2 至 7 至少一次,最后到达景点 8(湿地商业街),则可联想到问题的图论化,有利于我们对于路线筛选的准确性。此外图的连接也是一个需要解决的问题,需要连接 8 处景点,且必须从景点 1进,景点 8 出。如果能将本问题的 TSP 模型转换成混合整数规划,则可通过相应的约束条件结合目标函数利用 Lingo 软件得出最短的路线及长度。
  (2)根据问题二的说明,必须中午 12:00 从景石出发,17:30 离开湿地商业街,则总的时间为 330 分钟,有根据表 2 给出的相应游览时间以及景点开放时间,我们需要对这些时间进行约束,结合问题一建立的模型,找出游览全部景点的路线,而总时间又由景点之间的步行时间,景点游览时间,和在景点外的等待时间三部分组成,则我们可以得到游览的总时间=总时间 - 景点之间的步行时间 - 在景区外的等待时间。而通过路程时间计算公式,在已知总路线长度的前提下,可以求出景点之间的步行时间;景点外等待的时间只有在景点 4(森林小剧场)才会出现,再对比路线的规划,求出到达景点4(森林小剧场)时所耗的总时间,即可推算出到达景点 4(森林小剧场)的时间,从而对比相应时间段的开放时间,则可求出在景点外的等待时间,即运用公式,可得出游览的总时间,即为目标函数。
  (3)根据问题三的说明,若现有3个旅行团,同时从景点1出发,且时间同为12:00,并于 17:00 前均到达景点 8,然后于 17:30 离开。而问题三就是在问题二的基础上增加一个变量,关于旅行团的编号。但是每个景点只能容纳 1 个旅游团,且按照时间顺序后到达的旅游团需等到先到达的团队游览结束后才能开始游览,则不同于问题二的相关约束就只是多了一个变量即旅行团的编号。同时对于每个景点只能容纳一个旅游团,那就只好通过增加在景点外的等待时间来实现这一问题的约束,从而建立相关模型与目标函数,总结出总的约束条件,得出 3 个旅行团对应的游览路线与时间规划。
  (4)根据问题四的说明,表明在问题三的基础上设置了对游客步行速度的限制,即旅行团的步行速度在 1km/h 到 3km/h 之间调节,但是总的平均速度不能超过 2km/h,则只需再引入一个变量速度,在满足平均速度和各自旅行团的步行速度的约束下,就可以将总的约束条件分析完毕,但是问题四中的目标函数为双目标函数,既要分配三个旅游团的游览总时间长的路线,也要总的等待时间短的同一游览路线,所以就可以建立混合整数规划模型来得出双目标函数下的结果。
  (5)根据问题五的说明,只是在问题四条件的基础上考虑了两个不确定因素:①不同旅游团从景点 1(景石)出发的时间具有不确定性;②每个景点的等待时间也存在不确定性。为此可以设立一个不确定因素 Ek 来表明第 k 个旅游团在每个景点的不确定等待时间;再给出一个常量Yk 来表明第 k 个旅游团从景点 1(景石)出发的时间。又因为题设中只说明了多个旅行团,即表明可以用 k 个旅行团来参与模型的建立(k 没有限制),再基于问题四,建立数学模型来完成考虑不确定因素的多个旅游团的路线选择的猜想。

模型的建立与求解整体论文缩略图

在这里插入图片描述

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

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

function W = incandadf( F,f )
%仅适用于无向图
%W是输出矩阵
%F是输入矩阵
%f=0时,表示邻接矩阵转关联矩阵,f=1表示关联矩阵转邻接矩阵
if f==0m=sum(sum(F))/2;n=size(F,1);W=zeros(n,m);k=1;for i=1:nfor j=i:nif F(i,j)~=0W(i,k)=1;W(j,k)=1;k=k+1;endendend
elseif f==1m=size(F,2);n=size(F,1);W=zeros(n,n);for i=1:ma=find(F(:,i)~=0);W(a(1),a(2))=1;W(a(2),a(1))=1;end
elsefprintf('f error');end
W;
endfunction W = mattransf( F,f )
%仅适用于有向图
%W是输出矩阵
%F是输入矩阵
%f=0时,表示邻接矩阵转关联矩阵,f=1表示关联矩阵转邻接矩阵
if f==0m=sum(sum(F));n=size(F,1);W=zeros(n,m);k=1;for i=1:nfor j=1:nif F(i,j)~=0W(i,k)=1;W(j,k)=-1;k=k+1;endendend
elseif f==1m=size(F,2);n=size(F,1);W=zeros(n,n);for i=1:ma=find(F(:,i)~=0);if F(a(1),i)==1W(a(1),a(2))=1;elseW(a(2),a(1))=1;endend
elsefprintf('f error');
end
W;
end
function [T c] = Fleuf1( d )
%d表示图的权值矩阵
%T表示边的集合
%c表示权重和
n=length(d);
b=d;
b(b==inf)=0;
b(b~=0)=1;
m=0;
a=sum(b);
eds=sum(a)/2;
ed=zeros(2,eds);
vexs=zeros(1,eds+1);
matr=b;
for i=1:nif mod(a(i),2)==1m=m+1;end
end
if m~=0fprintf('no');T=0;c=0;
end
if m==0vet=1;flag=0;t1=find(matr(vet,:)==1);for ii=1:length(t1)ed(:,1)=[vet,t1(ii)];vexs(1,1)=vet;vexs(1,2)=t1(ii);matr(vexs(1,2),vexs(1,1))=0;flagg=1;tem=1;while flagg[flagg ed]=edf(matr,eds,vexs,ed,tem);tem=tem+1;if ed(1,eds)~=0 && ed(2,eds)~=0T=ed;T(2,eds)=1;c=0;for g=1:edsc=c+d(T(1,g),T(2,g));endflagg=0;break;endendend
end
endfunction [ flag ed ] = edf( matr,eds,vexs,ed,tem )
flag=1;
for i=2:eds[dvex f]=flecvexf(matr,i,vexs,eds,ed,tem);if f==1flag=0;break;endif dvex~=0ed(:,i)=[vexs(1,i) dvex];vexs(1,i+1)=dvex;matr(vexs(1,i+1),vexs(1,i))=0;elsebreak;end
end
endfunction [dvex f] = flecvexf(matr,i,vexs,eds,ed,temp)
f=0;
edd=find(matr(vexs(1,i),:)==1);
dvex=0;
dvex1=[];
ded=[];
if length(edd)==1dvex=edd;
elsedd=1;dd1=0;kkk=0;for kk=1:length(edd)m1=find(vexs==edd(kk));if sum(m1)==0dvex1(dd)=edd(kk);dd=dd+1;ddl=1;elsekkk=kkk+1;endendif kkk==length(edd)tem=vexs(1,i)*ones(1,kkk);edd1=[tem;edd];for l1=1:kkklt=0;ddd=1;for l2=1:edsif edd1(1:2,l1)==ed(1:2,l2)lt=lt+1;endendif lt==0ded(ddd)=edd(l1);ddd=ddd+1;endendendif temp<=length(dvex1)dvex=dvex1(temp);elseif temp>length(dvex1)&&temp<=length(ded)dvex=ded(temp);elsef=1;end
end
end
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

实验六:Android的网络编程基础

实验六&#xff1a;Android 的网络编程基础 6.1 实验目的 本次实验的目的是让大家熟悉 Android 开发中的如何获取天气预报&#xff0c;包括了 解和熟悉 WebView、WebService 使用、网络编程事件处理等内容。 6.2 实验要求 熟悉和掌握 WebView 使用 了解 Android 的网络编程…

Hadoop学习总结(MapRdeuce的词频统计)

MapRdeuce编程示例——词频统计 一、MapRdeuce的词频统计的过程 二、编程过程 1、Mapper 组件 WordcountMapper.java package com.itcast.mrdemo;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; …

网站页头被挂马状态及新增了index.html文件解决思路

今天网站刚新增了篇了文章《从nginx层阻断可执行的php 防止宝塔站点挂马》,整体测试下来还是不靠谱,设置后导致所有PHP文件都打不开了。 经过不断的查看日志和搜索办法总算告一段落,后续待观察。原因如下,多个网站目录新增了index.html文件,看时间是近两天上传的。 网站代…

微信小程序动态生成表单来啦!你再也不需要手写表单了!

dc-vant-form 由于我们在小程序上涉及到数据采集业务&#xff0c;需要经常使用表单&#xff0c;微信小程序的表单使用起来非常麻烦&#xff0c;数据和表单是分离的&#xff0c;每个输入框都需要做数据处理才能实现响应式数据&#xff0c;所以我开发了dc-vant-form&#xff0c;…

【开源】基于Vue.js的社区买菜系统的设计和实现

项目编号&#xff1a; S 011 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S011&#xff0c;文末获取源码。} 项目编号&#xff1a;S011&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 数据中心模块2.1…

【uniapp】 video视频层级、遮挡其他弹窗或顶部导航 使用nvue覆盖

uniapp 顶部导航和弹窗被video遮挡解决办法 第一步&#xff1a;配置 subNVues {"path": "pages/index/index","style": {"navigationBarTitleText": "uni-app","navigationStyle": "custom","app-…

对话芯动科技 | 助力云游戏 4K级服务器显卡的探索与创新

2021年芯动科技推出了基于IMG BXT GPU IP的风华1号显卡。单块风华1号显卡可在台式机和云游戏中实现4K级别的性能&#xff0c;渲染能力达到5 TFLOPS&#xff0c;如果在服务器中同时运行两块显卡&#xff0c;性能还可翻倍。该显卡是为不断扩大的安卓云游戏市场量身定制的&#xf…

隐私协议 Secret Network 宣布使用 Octopus Network 构建的 NEAR-IBC 连接 NEAR 生态

2023年11月 NearCon2023 活动期间&#xff0c;基于 Cosmos SDK 构建的隐私协议 Secret Network&#xff0c;宣布使用 Octopus Network 开发的 NEAR-IBC&#xff0c;于2024年第一季度实现 Secret Network 与 NEAR Protocol 之间的跨链交互。 这将会是Cosmos 生态与 NEAR 之间的首…

[C国演义] 哈希的使用和开闭散列的模拟实现

哈希的使用和开闭散列的模拟实现 1. 使用1.1 unordered_map的接口1.2 unordered_set的接口 2. 哈希底层2.1 概念2.2 解决哈希冲突 3. 实现3.1 开放寻址法3.2 拉链法 1. 使用 1.1 unordered_map的接口 构造 void test1() {// 空的unordered_map对象unordered_map<int, in…

动态头像如何制作?这个方法请收藏

照片是记录生活的一种方式&#xff0c;但是静态图片有时候不能够完全表达我们的情感。而动态的图片能够让图片以更生动的方式来展示我们的想象力和内心情感。那么&#xff0c;大家知道动态图片制作的方法有哪些吗&#xff1f;使用gif动画制作&#xff08;https://www.gif.cn/&a…

React项目首页中用canvas实现星空

文章目录 前言代码使用后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;前端系列文章 &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&#xff0c;感谢大家…

机器学习笔记 - 隐马尔可夫模型的简述

隐马尔可夫模型是一个并不复杂的数学模型,到目前为止,它一直被认为是解决大多数自然语言处理问题最为快速、有效的方法。它成功地解决了复杂的语音识别、机器翻译等问题。看完这些复杂的问题是如何通过简单的模型得到描述和解决,我们会由衷地感叹数学模型之妙。 人类信息交流…

数据结构与算法设计分析——常用搜索算法

目录 一、穷举搜索二、图的遍历算法&#xff08;一&#xff09;深度优先搜索&#xff08;DFS&#xff09;&#xff08;二&#xff09;广度优先搜索&#xff08;BFS&#xff09; 三、回溯法&#xff08;一&#xff09;回溯法的定义&#xff08;二&#xff09;回溯法的应用 四、分…

EfficientNet:通过模型效率彻底改变深度学习

一、介绍 EfficientNet 是深度学习领域的里程碑&#xff0c;代表了神经网络架构方法的范式转变。EfficientNet 由 Google Research 的 Mingxing Tan 和 Quoc V. Le 开发&#xff0c;在不影响性能的情况下满足了对计算高效模型不断增长的需求。本文深入探讨了 EfficientNet 背后…

百度搜索智能化算力调控分配方法

作者 | 泰来 导读 随着近年深度学习技术的发展&#xff0c;搜索算法复杂度不断上升&#xff0c;算力供给需求出现了爆发式的增长。伴随着AI技术逐步走到深水区&#xff0c;算法红利在逐步消失&#xff0c;边际效应日益显著&#xff0c;算力效能的提升尤为重要&#xff0c;同时随…

视频修复软件 Aiseesoft Video Repair mac中文版功能

AIseesoft Video RepAIr mac是一款专业的视频修复软件&#xff0c;主要用于修复损坏或无法播放的视频文件。AIseesoft Video RepAIr是一个功能强大的程序,可以帮助恢复丢失或损坏的数据的视频。只要您以相同的格式提供示例视频,并在功能强大的技术的支持下,只需单击几下即可收获…

智能配电系统解决方案

智能配电系统解决方案是一种集成了先进技术和智能化功能的配电系统&#xff0c;它能够提高电力系统的效率、可靠性和安全性。力安科技智能配电系统解决方案依托电易云-智慧电力物联网&#xff0c;具体实施的方案如下&#xff1a; 智能化设备和传感器&#xff1a;采用智能化的开…

「Java开发指南」如何在Spring中使用JAX-WS注释器?

本文将指导您如何使用JAX-WS注释器从Spring服务生成JAX-WS Web服务&#xff0c;在本教程中&#xff0c;您将学习如何&#xff1a; 为Spring服务启用JAX-WS部署应用程序并测试服务 所有与Spring scaffolding相关的任务都需要MyEclipse Spring或Bling授权。 MyEclipse v2023.1…

MapApp 地图应用

1. 简述 1.1 重点 1&#xff09;更好地理解 MVVM 架构 2&#xff09;更轻松地使用 SwiftUI 框架、对齐、动画和转换 1.2 资源下载地址: Swiftful-Thinking:https://www.swiftful-thinking.com/downloads 1.3 项目结构图: 1.4 图片、颜色资源文件图: 1.5 启动图片配置图: 2. Mo…

前端JS 使用input完成文件上传操作,并对文件进行类型转换

使用input实现文件上传 // 定义一个用于文件上传的按钮<input type"file" name"upload1" />// accept属性用于定义允许上传的文件类型&#xff0c; onchange用于绑定文件上传之后的相应函数<input type"file" name"upload2"…