【2024高教社杯国赛C题】数学建模国赛建模过程+完整代码论文全解全析

本文主要是介绍【2024高教社杯国赛C题】数学建模国赛建模过程+完整代码论文全解全析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你是否在寻找数学建模比赛的突破点?数学建模进阶思路!

作为经验丰富的数学建模团队,我们将为你带来2024国赛数学建模竞赛(C题)的全面解析。这个解决方案包不仅包括完整的代码实现,还有详尽的建模过程和解析,帮助你全面理解并掌握如何解决类似问题。

完整内容在文章末尾阅读全文获取!

C题的第一问是:

假定各种农作物未来的预期销售量、种植成本、亩产量和销售价格相对于 2023 年保持稳定,每季种植的农作物在当季销售。如果某种作物每季的总产量超过相应的预期销售量,超过部分不能正常销售。请针对以下两种情况,分别给出该乡村 2024~2030 年农作物的最优种植方案,将结果分别填入 result1_1.xlsx 和 result1_2.xlsx 中:

(1) 超过部分滞销,造成浪费; (2) 超过部分按 2023 年销售价格的 50%降价出售。 为了解决问题 1,我们需要建立一个优化模型来决定在乡村的耕地上种植哪种农作物,以最大化收益。我们将考虑两种销售情况:一是超过部分滞销,二是超过部分按50%的价格降价出售。

1. 变量定义

  • $X_{ij}$: 农作物 $i$ 在地块 $j$ 上种植的面积(亩),$i \in {1, 2, ..., n}$,$j \in {1, 2, ..., m}$。

  • $Y_i$: 农作物 $i$ 每季的预期销售量(斤)。

  • $C_i$: 农作物 $i$ 的种植成本(元/亩)。

  • $P_i$: 农作物 $i$ 的销售价格(元/斤)。

  • $A_{ij}$: 农作物 $i$ 在地块 $j$ 上的亩产量(斤/亩)。

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

代码demo

import pulp# 示例数据(需根据实际数据替换)
crops = ['wheat', 'rice', 'vegetables', 'beans']  # 作物种类
land_types = ['dry', 'irrigated', 'terrace', 'slope']  # 地块类型
years = range(2024, 2031)
seasons = [1, 2]# 每种作物的参数(需根据实际数据替换)
crop_data = {'wheat': {'cost': 100, 'yield': 1.5, 'price': 200},'rice': {'cost': 120, 'yield': 2.0, 'price': 180},'vegetables': {'cost': 80, 'yield': 2.5, 'price': 150},'beans': {'cost': 90, 'yield': 1.8, 'price': 160}
}# 地块信息(需根据实际数据替换)
land_data = {'land1': {'type': 'dry', 'area': 10},'land2': {'type': 'irrigated', 'area': 15},# 添加更多地块
}# 定义问题
problem = pulp.LpProblem("Crop_Planning", pulp.LpMaximize)# 定义决策变量
x = pulp.LpVariable.dicts("crop_area", ((land, crop, year, season)for land in land_datafor crop in cropsfor year in yearsfor season in seasons), lowBound=0, cat='Continuous')# 目标函数
if scenario == 1:# 滞销情况profit = pulp.lpSum((crop_data[crop]['yield'] * crop_data[crop]['price'] * x[land, crop, year, season]- crop_data[crop]['cost'] * x[land, crop, year, season])for land in land_data for crop in crops for year in years for season in seasons)
else:# 降价销售profit = pulp.lpSum(((crop_data[crop]['yield'] * crop_data[crop]['price'] * x[land, crop, year, season] * 0.5) - crop_data[crop]['cost'] * x[land, crop, year, season])for land in land_data for crop in crops for year in years for season in seasons)problem += profit# 约束条件
for land in land_data:for year in years:for season in seasons:# 地块适用性和面积限制problem += pulp.lpSum(x[land, crop, year, season] for crop in crops) <= land_data[land]['area']# 豆类作物种植for year_block in range(2024, 2031, 3):problem += pulp.lpSum(x[land, 'beans', year, season] for year in range(year_block, year_block + 3) for season in seasons) >= 1# 求解
problem.solve()# 输出结果
for v in problem.variables():if v.varValue > 0:print(v.name, "=", v.varValue)print("Total Profit = ", pulp.value(problem.objective))

问题 2是综合考虑各种农作物的预期销售量、亩产量、种植成本和销售价格的不确定性以及潜在的种植风险,给出该乡村2024~2030年农作物的最优种植方案。

问题重述:在华北山区的某乡村,有四种类型的耕地,包括平旱地、梯田、山坡地和水浇地,共计1201亩。每年只能种植一季农作物,且每种作物在同一地块(含大棚)都不能连续重茬种植。另外,每个地块(含大棚)的所有土地三年内至少种植一次豆类作物。根据农作物的生长规律,种植方案应考虑到方便耕种作业和田间管理。现有16个普通大棚和4个智慧大棚,每个大棚耕地面积为0.6亩。2023年的农作物种植和相关统计数据如附件2所示。小麦和玉米未来的预期销售量有增长的趋势,平均年增长率介于5%到10%之间,其他农作物未来每年的预期销售量相对于2023年大约有±5%的变化。农作物的亩产量往往会受气候等因素的影响,每年会有±10%的变化。因受市场条件影响,农作物的种植成本平均每年增长5%左右。粮食类作物的销售价格基本稳定;蔬菜类作物的销售价格有增长的趋势,平均每年增长5%左右。食用菌的销售价格稳中有降,大约每年可下降1%~5%,特别是羊肚菌的销售价格每年下降幅度为5%。 根据以上信息,建立数学模型,综合考虑各种农作物的预期销售量、亩产量、种植成本和销售价格的不确定性以及潜在的种植风险,给出该乡村2024~2030年农作物的最优种植方案。

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

问题3初步可视化:

更多内容具体可以看看我的主页!
和 《小天数模》 团队,同名公众号 一起拿奖!里面包含本次竞赛全部思路与分析!

包含本次比赛全部题目和单题思路与代码,代码和文章会不断更新

关注小天数模,你们的支持是我更新的动力!

这篇关于【2024高教社杯国赛C题】数学建模国赛建模过程+完整代码论文全解全析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf