昨天只做了第一问哈,已经转战A题了。
一、问题
2024年华数杯全国大学生数学建模竞赛的C题主要包含以下几个问题:
-
问题1:找出352个城市中所有35200个景点评分的最高分(Best Score,简称BS),并确定获得这个最高评分的景点数量。找出获评最高评分景点最多的城市,并按拥有最高评分景点数量排序,列出前10个城市。
-
问题2:根据外国游客遵循的“城市最佳景点游览原则”,结合城市规模、环境环保、人文底蕴、交通便利以及气候、美食等因素,对352个城市进行综合评价,选出“最令外国游客向往的50个城市”。
-
问题3:为一名从广州入境的外国游客规划144小时内的游玩路线,要求尽可能多地游玩城市,同时保证综合游玩体验最好。路线规划需考虑:
- 遵循城市最佳景点游览原则;
- 城市间交通方式只选择高铁;
- 只在“最令外国游客向往的50个城市”中选择游玩城市。
-
问题4:将问题3的游览目标改为既要尽可能游览更多城市,又要使门票和交通的总费用尽可能少,重新规划游玩路线,并给出相应的费用、时间和城市数量。
-
问题5:为一名只想游览中国山景的外国游客定制144小时的旅游路线,要求尽可能多地游览山景,同时使门票和交通的总费用尽可能少。路线规划需考虑:
- 每个城市只游玩一座评分最高的山;
- 城市间交通方式只选择高铁;
- 旅游城市不局限于“最令外国游客向往的50个城市”,而是拓展到352个城市。
请使用WPS打开CSV文件,官方的CSV用excel打开是乱码的,或者你直接加载到python或matlab里面看。
二、问题一
部分code:
......
% 所有城市得分最大值
score = max(all_city_bsinfo.BS);
disp(['所有城市景点评分最大值:',num2str(score)])
% 获得最高分的景点数
num = sum(all_city_bsinfo(:,3));
disp(['获得最高分的景点数:',num2str(num.num)]);
% 按照获得最高分的景点数量对城市排序
sorted_bsinfo = sortrows(all_city_bsinfo,3,'descend');
first_10_city=sorted_bsinfo.city(1:10,1);
disp('获得最高分景点数量最多的前10个城市有:')
for i=1:10
disp([first_10_city{i,1},' ',num2str(sorted_bsinfo.num(i))])
end
writetable(sorted_bsinfo,'Q1_result.csv');
很简单:
三、数据获取方法
后面几问主要是获取这300多个城市的各种数据,然后建立综合评价模型、路径规划等。问题不难,主要是数据收集:
我会在作品提供各个主要金融经济数据库的账号,包括:EPS数据平台、中经统计、国泰安、RESSET瑞思、国研网、统计年鉴。
第一问代码和结果,以及数据库账号获取:https://mbd.pub/o/bread/ZpmWl5xu