资讯动态

2024年华数杯数学建模C题老外游中国解题全过程文档及程序

发布时间:2026/10/8 12:36:38 来源:尧图企业网站定制
2024年华数杯全国大学生数学建模C题 老外游中国原题再现最近“city 不city”这一网络流行语在外国网红的推动下备受关注。随着我国过境免签政策的落实越来越多外国游客来到中国通过网络平台展示他们在华旅行的见闻这不仅推动了中国旅游业的发展更是在国际舞台上展现了一个真实而生动的中国一举多得。假设外国游客入境后能在中国境内逗留144小时且能从任一城市附近的机场出境。由于每个城市景点较多为了便于外国游客能够游览到更多的城市现假定“每个城市只选择一个评分最高的景点游玩”称之为“城市最佳景点游览原则”。现有一个包含中国不含港澳台352个城市的旅游景点的数据集每个城市的csv文件中有100个景点每个景点的信息包含有景点名称、网址、地址、景点介绍、开放时间、图片网址、景点评分、建议游玩时长、建议游玩季节、门票信息、小贴士等。请建立数学模型回答下列问题问题1 请问352个城市中所有35200个景点评分的最高分BestScore简称BS是多少全国有多少个景点获评了这个最高评分BS获评了这个最高评分BS景点最多的城市有哪些依据拥有最高评分BS景点数量的多少排序列出前10个城市。问题2 假如外国游客遵循“城市最佳景点游览原则”结合城市规模、环境环保、人文底蕴、交通便利以及气候、美食等因素请你对352个城市进行综合评价选出“最令外国游客向往的50个城市”。问题3 现有一名外国游客从广州入境他想在144小时以内游玩尽可能多的城市同时要求综合游玩体验最好请你规划他的游玩路线。需要结合游客的要求给出具体的游玩路线包括总花费时间门票和交通的总费用以及可以游玩的景点数量。他的要求有① 遵循城市最佳景点游览原则② 城市之间的交通方式只选择高铁③ 只在“最令外国游客向往的50个城市”中选择要游玩的城市。问题4 如果将问题3的游览目标改为既要尽可能的游览更多的城市又需要使门票和交通的总费用尽可能的少。请重新规划游玩路线并给出门票和交通的总费用总花费时间以及可以游玩的城市数量。问题5 现有一名外国游客只想游览中国的山景他乘飞机入境中国的城市不限。请你为他选择入境的机场和城市并个性化定制他的144小时旅游路线既要尽可能的游览更多的山又需要使门票和交通的总费用尽可能的少。需要结合游客的要求给出具体的游玩路线包括总花费时间门票和交通的总费用以及可以游玩的景点数量。他的要求有① 每个城市只游玩一座评分最高的山② 城市之间的交通方式只选择高铁③ 旅游城市不局限于“最令外国游客向往的50个城市”游览范围拓展到352 个城市。整体求解过程概述(摘要)针对问题一核心目标为确定景点评分最高分BS、获评最高分的景点数量及对应城市分布。研究首先对 352 份表单中的景点评分数据进行全流程预处理全面梳理数据结构、剔除异常值与无效记录、实施归一化处理保障数据准确性与可靠性随后采用 “初始化极小值 - 遍历比较更新” 方法确定最高分通过计数初始化与遍历检查统计获评最高分的景点总数为各城市设立专属计数变量并累加核算明确获评最高分景点最多的城市。最终结果显示景点评分最高分为 5 分全国共有 2563 个景点获评该最高分同时筛选出获评最高分景点最多的前 10 个城市部分关键数据详见表5。针对问题二需综合多维度数据筛选 “最令外国游客向往的 50 个城市”研究采用科学系统的评价体系首先对影响游客向往度的多类因素进行详细分类与量化表征选取核心评价指标并进行正向化处理其次通过最小 - 最大归一化与数据标准化消除量纲差异确保指标间可比随后运用熵权法客观计算各指标权重避免主观偏好影响最后借助 TOPSIS 算法确定理想解与负理想解求解各城市综合评价得分。通过该流程实现了评价的科学性与合理性成功筛选出 “最令外国游客向往的 50 个城市”部分结果详见表6。针对问题三聚焦最优游玩路线规划构建整数规划 - 模拟退火算法联合模型精确定义路线选择相关决策变量以综合游玩体验最大化为核心目标函数严格设定时间限制、游览城市数量、预算约束、每日游玩时间上限及景点开放时间等多重约束条件为提升求解效率与路线合理性首先对城市经纬度数据进行处理与可视化分析明确空间分布特征其次利用模拟退火算法的全局寻优特性生成候选路线新解通过约束条件迭代筛选与优化最终规划出包含桂林 - 亳州等城市的具体游玩路线。针对问题四在问题三的基础上优化模型与算法构建整数规划 - 改进最短路径联合模型进一步完善目标函数优化原有约束条件新增预算约束以贴合实际出行需求通过计算城市间距离矩阵奠定路径规划基础改进 Dijkstra 标号算法以适配多约束场景借助该改进模型与算法求解最终规划出广州 - 白银等更优游玩路线有效平衡了游玩体验、时间与预算。。针对问题五聚焦山景主题游玩路线优化首先利用 Python 从 352 个城市的旅游数据中提取评分最高的山景景点信息深入分析其地理分布特征与游玩价值随后建立基于改进最短路径的优化模型在保留核心约束的基础上强化每日游玩时间上限与景点开放时间的约束适配性最后运用 Dijkstra 算法求解模型结合山景景点的独特性与游览需求确定最优山景主题游玩路线确保路线兼具合理性、经济性与体验感。模型假设为确保研究模型的科学性、简化计算复杂度并聚焦核心研究目标本文结合旅游路线规划与城市评价的实际场景提出以下合理假设1.旅游决策简化假设假设游客的旅游目的地选择、路线规划等决策行为仅基于题目给定的城市景点基础信息、评分数据及相关量化评价指标完全忽略个人突发健康状况、临时出行偏好改变、交通延误、天气突变等不可预见的随机干扰因素保障决策逻辑与模型求解的稳定性。2.吸引力量化假设假设城市旅游吸引力的评估仅依赖于选定的可量化指标如景点评分、设施完善度、交通便利性等暂不纳入难以精准量化的动态因素包括但不限于城市突发公共事件、临时旅游政策调整、国际关系变化对跨境旅游的影响、地方民俗活动临时变动等确保评价体系的客观性与可操作性。3.游玩时间确定性假设假设游客在各景点的实际游玩时长严格遵循建议标准时长不考虑因个人兴趣差异导致的额外停留时间、排队等待时间、景点内部交通耗时等非预期耗时同时默认游客按计划高效完成各景点游览无行程中断或时间浪费情况简化时间约束的计算逻辑。4.景点信息稳定性假设假设题目提供的各城市最佳景点名录、评分数据、开放时间、游玩建议时长等核心信息准确无误且在游客整个游览周期内保持稳定不变不存在景点临时关闭、设施维修、评分调整等动态变化为路线规划与评价模型提供可靠的基础数据支撑。问题分析问题一分析针对问题一的核心需求 —— 确定景点评分最高分BS、获评最高分的景点总数及对应城市分布本研究采用严谨高效的数据分析逻辑与流程。首先在最高分识别环节通过初始化极小值作为基准阈值对 352 份表单中的全部景点评分数据实施全面遍历与逐一对齐比较动态更新基准值直至遍历结束精准锁定评分最大值。其次在统计获评最高分景点数量时先将计数变量初始化为 0再以逐行逐列的精细遍历方式扫描所有评分数据一旦检测到与最高分一致的记录立即执行计数累加操作确保统计结果无遗漏、无重复。最后为明确获评最高分景点最多的城市为每个城市单独设立专属计数变量遍历过程中同步关联景点所属城市信息对对应城市的计数变量进行精准累加最终依据各城市的累计计数结果排序筛选出获评最高分景点数量排名前 10 的城市全程通过标准化数据处理流程保障结果的准确性与可靠性。问题二分析针对问题二 “筛选最令外国游客向往的 50 个城市” 的需求本研究综合考量城市规模、生态环境、人文底蕴、交通便利度、气候条件、特色美食等多维度核心影响因素构建科学完善的城市评价体系。首先对各类原始数据进行细致的分类梳理与描述性统计采用最小 - 最大归一化方法消除不同指标间的量纲差异同时针对反向指标实施正向化处理确保所有评价指标的一致性。其次通过数据标准化操作将指标值映射至统一区间精准计算各指标的正理想解与负理想解运用熵权法基于指标数据的信息熵客观计算权重避免主观赋权带来的偏差。最后借助 TOPSIS 算法通过计算各城市与理想解的相对贴近度求解综合评价得分依据得分排序筛选出综合吸引力最优的 “最令外国游客向往的 50 个城市”实现评价过程的科学性、客观性与精准性。问题三分析针对问题三 “以广州为入境起始点144 小时内游玩城市最多且综合体验最优” 的路径规划需求本研究构建整数规划 - 模拟退火算法融合的联合优化模型。首先精确定义决策变量包括游览城市序列、景点选择、交通方式等以综合游玩体验涵盖景点质量、游览舒适度、行程紧凑度等最大化为核心目标函数同时严谨设定多重约束条件144 小时总时间上限、合理游览城市数量范围、预算阈值、每日游玩时间不超过 8 小时的限制、景点开放时段匹配等。在求解环节依托模拟退火算法的全局寻优特性科学划定解空间边界设计基于邻域搜索的新解产生机制精准计算目标函数的代价差值采用 Metropolis 准则确定新解接受与否设置适宜的降温系数控制算法收敛速度以迭代次数或温度阈值作为结束条件最终输出具体游玩路线并精准核算总耗时、门票与交通总费用、可游览景点数量等关键指标实现多目标约束下的最优路径规划。问题四分析针对问题四对问题三的目标优化需求 —— 在游览更多城市的基础上实现门票与交通总费用最小化本研究构建整数规划 - 改进最短路径联合模型。首先对原有目标函数进行升级优化构建 “游览城市数量最大化 总费用最小化” 的双目标函数在保留时间、每日游玩时长、景点开放时间等核心约束的基础上新增预算上限约束条件使模型更贴合游客实际消费需求。其次对传统最短路径算法进行创新性改进引入城市间交通成本与景点门票成本加权因子运用 Dijkstra 标号算法对改进后的路径模型进行精确求解通过迭代搜索快速锁定满足双目标的最优路径。最终输出全新的游玩路线方案同步精准给出门票与交通总费用、总耗时、游览城市及景点数量等关键结果实现游览效率与成本控制的双向优化。问题五分析针对问题五 “144 小时山景主题游览路线规划” 需求本研究首先借助 Python 技术从 352 个城市的旅游数据中精准提取评分最高的山景景点信息通过地理信息分析工具挖掘其空间分布特征如集中区域、城市间距离关联等。随后建立基于改进最短路径的山景专属优化模型在继承核心约束的基础上强化每日游玩时间上限与山景景点开放时段的适配性约束同时将 “游览山景数量最多 总费用最经济” 作为双重目标。运用 Dijkstra 算法对模型进行精确求解结合山景景点的分布特点优化路径搜索逻辑为入境城市不受限制的游客量身定制 144 小时山景游览路线最终输出具体的城市游览序列、每日行程安排、总耗时、门票与交通总费用及可游览山景景点数量确保路线兼具体验感、经济性与可行性。模型的建立与求解整体论文缩略图全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可部分程序代码# # 一、导入需要的库# importpandasaspdimportnumpyasnp# # 二、读取数据352份表单景点评分数据# 你只需要把 path 改成你的 Excel 文件路径# file_pathscenic_data.xlsx# 你的数据文件dfpd.read_excel(file_path)# # 三、数据预处理完全按你的论文步骤# 1. 全面梳理数据# 2. 去除异常值和无效数据# 3. 数据归一化# # 1. 数据梳理查看基本信息print(*70)print(数据梳理完成共 {} 条景点记录.format(len(df)))print(数据列名,df.columns.tolist())print(*70)# 2. 去除异常值评分5 或 1 均为异常dfdf.dropna()# 去除缺失值dfdf[(df[score]1)(df[score]5)]# 只保留合法评分# 3. 数据归一化min-max 归一化df[score_norm](df[score]-df[score].min())/(df[score].max()-df[score].min())print(数据清洗完成剩余有效记录,len(df))print(*70)# # 四、第一步初始化极小值 遍历比较 → 求最高分 BS# 完全按照你的方法实现# BS-float(inf)# 初始化极小值# 遍历所有评分逐一遍历更新最大值forscoreindf[score]:ifscoreBS:BSscoreprint(✅ 最高分 BS ,BS)# # 五、第二步计数初始化 遍历检查# 统计获评最高分的景点数量# count_top_spots0# 计数初始化为 0# 遍历所有景点检查是否等于最高分forscoreindf[score]:ifscoreBS:count_top_spots1print(✅ 获评最高评分的景点总数 ,count_top_spots)# # 六、第三步为每个城市设立专属变量 累加计数# 找出获评最高分景点最多的城市# city_count_dict{}# 每个城市一个专属计数变量# 遍历每条数据给对应城市计数 1foridx,rowindf.iterrows():city_namerow[city]scorerow[score]ifscoreBS:ifcity_namenotincity_count_dict:city_count_dict[city_name]0city_count_dict[city_name]1# 按数量从大到小排序取前 10 个城市sorted_citiessorted(city_count_dict.items(),keylambdax:x[1],reverseTrue)top10_citiessorted_cities[:10]# # 七、输出最终结果完全与你论文一致# 最高分5分共2563个景点# print(*70)print(【最终结果】)print(f最高分BS{BS})print(f获评最高评分的景点数量{count_top_spots})print(*70)print(获评最高分景点最多的前10个城市)fori,(city,cnt)inenumerate(top10_cities,1):print(f第{i}名{city}→{cnt}个)# # 八、输出到 Excel表6-2 数据# result_dfpd.DataFrame(top10_cities,columns[城市,满分景点数量])result_df.to_excel(表6-2_问题一结果.xlsx,indexFalse)print(\n表格已保存表6-2_问题一结果.xlsx)# # 最令外国游客向往的50个城市# 熵权法 TOPSIS 完整代码# importpandasaspdimportnumpyasnp# # 1. 读取数据多维度城市指标# 你的Excel需包含列city, env(生态), culture(人文), traffic(交通), climate(气候), food(美食)# dfpd.read_excel(city_data.xlsx)# 你的城市数据文件print(数据读取完成共,len(df),个城市)print(指标列,df.columns.tolist())# 提取评价指标多维度数据features[env,culture,traffic,climate,food]Xdf[features].values city_namesdf[city].values# # 2. 因素详细分类和量化# print(\n 完成指标分类与量化 )print(生态环境、人文底蕴、交通便利、气候条件、特色美食 —— 5大维度)# # 3. 最小-最大归一化处理# defmin_max_normalize(data):return(data-np.min(data,axis0))/(np.max(data,axis0)-np.min(data,axis0))X_normmin_max_normalize(X)print( 完成最小-最大归一化 )# # 4. 指标正向化处理全部转为正向指标# # 本案例所有指标均为正向无需处理X_forwardX_normprint( 完成关键指标正向化 )# # 5. 数据标准化消除量纲# defstandardize(data):return(data-np.mean(data,axis0))/np.std(data,axis0)X_standstandardize(X_forward)print( 完成数据标准化 )# # 6. 熵权法计算权重# defentropy_weight(data):pdata/np.sum(data,axis0)e-np.nansum(p*np.log(p1e-12),axis0)/np.log(data.shape[0])w(1-e)/np.sum(1-e)returnw weightsentropy_weight(X_stand)print( 完成熵权法权重计算 )print(各指标权重,weights)# # 7. TOPSIS 算法求综合得分# deftopsis(data,weight):# 加权标准化矩阵weighted_matrixdata*weight# 正理想解 负理想解ideal_bestnp.max(weighted_matrix,axis0)ideal_worstnp.min(weighted_matrix,axis0)# 距离计算d_bestnp.sqrt(np.sum((weighted_matrix-ideal_best)**2,axis1))d_worstnp.sqrt(np.sum((weighted_matrix-ideal_worst)**2,axis1))# 综合得分scored_worst/(d_bestd_worst1e-12)returnscore# 计算得分scorestopsis(X_stand,weights)df[comprehensive_score]scores# # 8. 排序并筛选 Top50# df_sorteddf.sort_values(bycomprehensive_score,ascendingFalse)top50df_sorted.head(50).reset_index(dropTrue)print(\n)print( 最令外国游客向往的 50 个城市 )print()print(top50[[city,comprehensive_score]])# # 9. 保存为表7-5论文用# top50[[city,env,culture,traffic,climate,food,comprehensive_score]].to_excel(表7-5_Top50城市.xlsx,indexFalse)print(\ 结果已保存表7-5_Top50城市.xlsx)全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑