2024华数杯国际赛B题高质量参考论文+所有小问数据代码+数据集整合

本文主要是介绍2024华数杯国际赛B题高质量参考论文+所有小问数据代码+数据集整合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

                                      (完整版在文末)   ICMB题

该题目出题的难度与方向都与美赛 ICM 的题型高度相似,将本次竞赛当做美赛的 练手赛,个人认为是非常合适的一种选择。同时 28 号就可以出成绩,也可以在美赛前 实现查漏补缺,提前预祝大家比赛顺利,美赛都可以取得好成绩。下面,我们开始详细 的解读一下本次竞赛的 B 题。

B 题本次的难度远低于 A 题,这势必会导致 B 题的选题认识会比 A 题多很多,但 是比赛的最终成绩是获奖率。无论都是每个赛题选择人数多少,每个赛题获奖的人数都  50%,因此不存在选择人少的赛题好获奖这种情况,都是比例获奖。我可以保证跟着 本人的思路,获奖是没有任何问题的,至于能获得什么奖项,主要还是看对于每一问选 择的模型复杂度的高低以及队伍可视化的能力。基本每一问都会给两三种实现方式,上 中下三种实现方式,即使最简单的方式,也是可以保证获奖的。但是很难保证获得很好 的奖项。

数据收集

在正式开始题目之前必须明白,对于美赛这种 ICM 题目,很大程度的上的难点并不在 于题目本身而是,需要我们自行收集数据,由于大家之前没有自己找过数据,所以这一关会 难倒很多很多的人群。本团队会为大家收集一套完整的数据,供大家选择。至于选择这套数 据集中的何种数据,就因队伍而已,因此一千个队伍可能有一千种选择方式。所以,从一开 始的选择数据开始,大家就会各不相同。因此,无需担心查重率过高的问题。

本文目前,已经为大家收集了问题一和问题四的数据,如下所示。稍后也将为大家专门 收集关于光伏发电相关的数据,完成对于问题三四的数据收集。

1.2 Yeo-Johnson  转换

为了防止建立的模型过拟合以及提高模型的泛化能力, 需要对数据的分布情况进行 探索分析,力求保证数据集分布情况一致,首先将数据导入,运用 Python 判断每一列 数据的分布类型是否属于正态分布,本代码通过 SciPy  库中的 stats.skew() 函数来 判断数据是否需要进行 Yeo-Johnson  转换。Skewness(即偏度) 是衡量某一个样本数值 相对于平均数的偏离程度的统计量, 它可以用来描述数据的分布形态是否对称。偏度为 0  表示数据分布是对称的, 偏度大于 0  表示数据分布偏向右侧, 偏度小于 0  表示数据 分布偏向左侧。

问题三代码:

import gurobipy as gp
from gurobipy import GRBdef create_photovoltaic_model(P_values, G_values, C_b_values, C_o_values, A_values, B, total_available_land):# 创建模型model = gp.Model("MaxPhotovoltaicPower")# 决策变量N = {}for i in range(len(P_values)):N[i] = model.addVar(vtype=GRB.INTEGER, name=f"N_{i}")# 目标函数model.setObjective(gp.quicksum((P_values[i] * G_values[i] - C_b_values[i] - C_o_values[i]) * N[i] for i in range(len(P_values))), sense=GRB.MAXIMIZE)# 地理约束model.addConstr(gp.quicksum(A_values[i] * N[i] for i in range(len(P_values))) <= total_available_land, name="land_constraint")# 预算约束model.addConstr(gp.quicksum((C_b_values[i] + C_o_values[i]) * N[i] for i in range(len(P_values))) <= B, name="budget_constraint")return model, Ndef solve_photovoltaic_model(model):# 求解模型model.optimize()# 输出结果if model.status == GRB.OPTIMAL:return Trueelse:print("未找到最优解")return Falsedef get_optimal_solution(N):# 获取最优解optimal_N = {i: N[i].x for i in range(len(N))}optimal_Z = model.objValreturn optimal_N, optimal_Zdef main():# 示例数据P_values = [0.1, 0.15, 0.12]G_values = [100, 120, 90]C_b_values = [2000, 2500, 1800]C_o_values = [100, 120, 80]A_values = [5000, 6000, 4500]B = 50000total_available_land = 20000# 步骤1: 创建模型model, N = create_photovoltaic_model(P_values, G_values, C_b_values, C_o_values, A_values, B, total_available_land)# 步骤2: 求解模型if solve_photovoltaic_model(model):# 步骤3: 获取最优解optimal_N, optimal_Z = get_optimal_solution(N)print("最优建设数量 (N):", optimal_N)print("最优总发电量 (Z):", optimal_Z)if __name__ == "__main__":main()

2024华数杯B题五小问完整思路+四问数据代码+数据可视化图表

 

这篇关于2024华数杯国际赛B题高质量参考论文+所有小问数据代码+数据集整合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/617389

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

Vue实现路由守卫的示例代码

《Vue实现路由守卫的示例代码》Vue路由守卫是控制页面导航的钩子函数,主要用于鉴权、数据预加载等场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、概念二、类型三、实战一、概念路由守卫(Navigation Guards)本质上就是 在路

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

Python屏幕抓取和录制的详细代码示例

《Python屏幕抓取和录制的详细代码示例》随着现代计算机性能的提高和网络速度的加快,越来越多的用户需要对他们的屏幕进行录制,:本文主要介绍Python屏幕抓取和录制的相关资料,需要的朋友可以参考... 目录一、常用 python 屏幕抓取库二、pyautogui 截屏示例三、mss 高性能截图四、Pill

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave