[已更新问题二三matlab+python]2024数学建模国赛高教社杯C题:农作物的种植策略 思路代码文章助攻手把手保姆级

发布于9.6 10:00 有问题后续会修正!!

问题一代码展示:

问题二代码结果展示:

问题三代码展示:


bash 复制代码
https://docs.qq.com/doc/DVVVlV0NmcnBDTlVJ

问题一部分代码分享:

bash 复制代码
#!/usr/bin/env python
# coding: utf-8

# In[15]:


import pandas as pd


# In[16]:


# 读取Excel文件
file_path = '附件2.xlsx'  # 请根据实际路径修改
data = pd.read_excel(file_path, sheet_name='2023年统计的相关数据')
data.head()


# In[17]:


zuowu = pd.read_excel(file_path, sheet_name='2023年的农作物种植情况')
zuowu.head()


# In[18]:


# 合并两个表格,使用作物编号作为连接键
merged_df = pd.merge(zuowu, data, on=['作物编号','作物名称'], how='left')

# 计算实际销售量(亩产量 * 种植面积)
merged_df['实际销售量/斤'] = merged_df['亩产量/斤'] * merged_df['种植面积/亩']

# 提取需要的列:作物名称、作物类型、种植面积和实际销售量
sales_data = merged_df[['作物名称', '作物类型', '种植面积/亩', '实际销售量/斤']]

# 打印结果
sales_data


# In[19]:


# 按作物名称和作物类型分组,求种植面积和实际销售量的总和
grouped_sales_data = sales_data.groupby(['作物名称', '作物类型'], as_index=False).agg({
    '种植面积/亩': 'sum',
    '实际销售量/斤': 'sum'
})

# 打印合并后的结果
grouped_sales_data


# In[20]:


import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.font_manager as fm

# 设置中文字体(确保系统中有SimHei字体)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

def plot_total_sales_and_area(df):
    plt.figure(figsize=(12, 6))
    sns.barplot(x='作物名称', y='实际销售量/斤', data=df, color='orange', label='实际销售量/斤')
    plt.xticks(rotation=45)
    plt.xlabel('作物名称')
    plt.ylabel('销售量')
    plt.title('实际销售量')
    plt.legend(loc='upper right')
    plt.tight_layout()
    plt.show()

plot_total_sales_and_area(grouped_sales_data)

c题部分思路:

问题分析基于你提供的资料------2024年全国大学生数学建模竞赛C题,其核心内容为优化一个乡村的农作物种植策略。

背景分析

该乡村位于华北山区,气候较冷,土地资源有限,存在四种地块类型(平旱地、梯田、山坡地和水浇地)以及普通和智慧大棚两种大棚。农作物的选择和种植需要根据不同地块特性进行优化,同时考虑到经济效益、便利性和可持续发展。

乡村的耕地总面积为1201亩,分散为34块不同类型的地块,另有20个大棚,种植作物的种类包括粮食作物(如小麦、玉米等)、蔬菜类和食用菌等。每种作物的产量、销售情况及种植成本都在附件中给出。

研究问题分析

问题1:最优种植方案(2024~2030)

该问题要求在保持各种农作物的亩产量、种植成本、销售价格相对稳定的前提下,分别针对两个场景制定最优的种植方案:

  1. 滞销浪费场景:作物产量超过预期销售量的部分将无法销售。
  2. 降价出售场景:超过的产量按照2023年销售价格的50%出售。

优化的目标应该是在两种场景下最大化种植的收益,同时要遵循题目给出的种植约束条件,比如不能重茬种植,三年内至少一次豆类作物等。

问题2:考虑农作物不确定性的最优方案

问题2引入了诸如农作物预期销售量增长、气候对产量的影响、种植成本和销售价格波动等不确定性因素,要求制定2024-2030年期间的最优种植方案。作物的销售量、亩产量、种植成本和价格都具有波动性,因此需要考虑这些不确定性可能带来的风险,进行优化方案调整。

问题3:考虑替代性、互补性等相关因素

现实中,农作物之间存在替代性和互补性,如种植小麦可能影响其他作物的产量和市场需求。问题3要求在问题2的基础上,综合考虑农作物之间的相关性,以及销售量、种植成本等因素的相互影响,制定出更为精细的种植策略。

数据需求

  • 附件1.xlsx:乡村耕地和农作物的基本情况,如地块类型、面积、适合种植的作物等。
  • 附件2.xlsx:2023年的农作物种植和统计数据,包括亩产量、销售价格、种植成本等。
  • 附件3:用于填写问题解答的模板文件。

初步建模思路

  1. 数据处理:首先需要从附件1和附件2中提取地块信息、农作物数据(产量、销售价格、种植成本等)。建立作物与地块的对应关系,考虑每种作物在不同地块上的产量差异。

  2. 线性规划模型:可以利用线性规划模型(或整数规划模型)来解决最优种植问题,目标函数为总收益最大化,约束条件包括地块类型的限制、豆类作物种植要求、避免重茬种植等。

  3. 模拟不确定性:针对问题2和问题3的种植成本、产量和价格的不确定性,可以采用蒙特卡罗模拟法,对未来不同年份的情境进行模拟。

相关推荐
学步_技术23 分钟前
Python编码系列—Python组合模式:构建灵活的对象组合
开发语言·python·组合模式
ac-er888837 分钟前
在Flask中处理后台任务
后端·python·flask
ac-er888843 分钟前
Flask中的钩子函数
后端·python·flask
Book_熬夜!1 小时前
Python基础(六)——PyEcharts数据可视化初级版
开发语言·python·信息可视化·echarts·数据可视化
我的运维人生1 小时前
利用Python与Ansible实现高效网络配置管理
网络·python·ansible·运维开发·技术共享
毕设木哥1 小时前
计算机专业毕业设计推荐-基于python的汽车汽修保养服务平台
大数据·python·计算机·django·汽车·毕业设计·课程设计
shiming88792 小时前
MATLAB图像处理
图像处理·计算机视觉·matlab
slandarer2 小时前
MATLAB | R2024b更新了哪些好玩的东西?
java·数据结构·matlab
2401_858120262 小时前
MATLAB中的无线通信系统部署和优化工具有哪些
开发语言·matlab
MATLAB滤波2 小时前
【PSINS】基于PSINS工具箱的EKF+UKF对比程序|三维定位|组合导航|MATLAB
开发语言·matlab