• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

做 银川第九届数模A题

武飞扬头像
unseven
帮助1

A题
随着三年新冠疫情结束后第一个五一假期的到来,许多人选择出门旅游,在有限的几天假期怎样玩好就是一件值得考虑的事。小明是一位旅游爱好者,想在五一期间到宁夏一些著名景点旅游。由于跟着旅游团会受到若干限制,所以他(她)打算自己作为背包客旅游。在出游之前他(她)选择了宁夏五个市的旅游景点,作为五一的旅游目的地,分别如下:
银川(沙湖,西夏王陵,贺兰山岩画,黄沙古渡旅游区)石嘴山(北武当生态旅游区)中卫(沙坡头,寺口子)吴忠(青铜峡黄河大峡谷,哈巴胡生态旅游区)固原(须弥山石窟,六盘山,老龙潭,火石寨)
由于旅游时会受到多种实际因素影响,如:出行方式,游览景点的数目,旅游的时间,旅游者的经济状况等。请查阅景点分布,交通,景点费用等相关资料。考虑以下三个问题

一.为小明设计合适的旅游线路,在不受时间约束的情况下,使旅客花最少的钱游览全部的景点。

二.如果旅游费用不限,旅客想游览十个景点,那么需要设计一个最优的路线,使旅客花费最少的时间。

三.如果旅客受到旅游费用的限制,只带来2500元,他(她)想游览尽可能多的景点,要想满足该条件,我们必须设计一条合适的路线,使旅客满意。
学新通

先收集各个景区的门票价格,以百度地图上的信息为例
再收集景点之间旅行费用,假设只靠打车这一种方式,以滴滴上的价格为例
在以百度上自驾方式的预估时间为例,收集数据,制成表格
学新通

第一问

选用蚁群算法进行智能计算,
因为所有的地方都会去一遍,因此门票费和路径选择无关,适应值函数只与车费有关
整个算法的目的让适应值最小
对代码的距离矩阵计算部分进行改动:
1.改为车费的数据集
结果如下:坐标不参与运算,可能与给的图片不太像
学新通

Best:2505
Best_path
 [[105.005776  37.478011]
 [105.45914   37.299328]
 [105.997777  36.281923]
 [105.772101  36.104501]
 [106.239451  35.688087]
 [106.345534  35.400119]
 [107.090392  37.746578]
 [105.993688  37.879801]
 [106.025836  38.448286]
 [106.027259  38.754811]
 [106.368212  38.807523]
 [106.363015  39.043122]
 [106.554914  38.572183]]

第二问

第二问要求在所有景点里选出十个,可以看作是一个特征选择问题
直接用计算智能应用于特征选择的粒子群算法和代码即可
在代码的选择特征处进行改动:
1.当景点数量不足10时,随机加上一个景点(循环此步)
2. 当景点数量超过10时,随机枪毙一个景点(循环此步)
在适应值函数也进行改动:
1.改为第一问的蚁群算法求解的最佳路径
2. 蚁群算法的距离矩阵计算改为时间花费数据
这个时间仅仅时路程上花的时间,并没有考虑每个景点内需要多少时间
学新通

Best:1582
 [[106.363015  39.043122]
 [106.368212  38.807523]
 [106.554914  38.572183]
 [106.025836  38.448286]
 [106.027259  38.754811]
 [105.993688  37.879801]
 [105.45914   37.299328]
 [105.997777  36.281923]
 [106.345534  35.400119]
 [106.239451  35.688087]]
 index: [ 0  1  3  4  5  6  7  9 10 12]  ##选择景点

学新通

第三问

第三问要求在有限的经费内选择尽可能多的景点
仍然可以选择智能计算在特征选择上的算法和代码
这一问可以选择DE差分进化算法
依旧需要对代码进行一些更改
路径部分进行更改:

  1. 二值化以后,选择第一问蚁群算法先计算最少花费
  2. 如果最少花费大于2500,随机枪毙一个景点(循环此步)

适应值函数更改:

  1. 更改为节点数目,因为代码求的是最小值,所以还要加个负号

蚁群算法更改:

  1. 距离矩阵改为车费数据
  2. 路径长度还需要加上选择的景点的门票
    学新通
Best:2462 
[[105.997777  36.281923]
 [105.772101  36.104501]
 [106.239451  35.688087]
 [106.345534  35.400119]
 [105.45914   37.299328]
 [105.993688  37.879801]
 [106.025836  38.448286]
 [106.027259  38.754811]
 [106.363015  39.043122]]
index: [ 1  2  4  6  7  9 10 11 12]

最多能去9个地方

这是代码

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgekfck
系列文章
更多 icon
同类精品
更多 icon
继续加载