[已更新问题二三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的种植成本、产量和价格的不确定性,可以采用蒙特卡罗模拟法,对未来不同年份的情境进行模拟。

相关推荐
算法小白(真小白)1 小时前
低代码软件搭建自学第二天——构建拖拽功能
python·低代码·pyqt
唐小旭1 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
007php0071 小时前
Go语言zero项目部署后启动失败问题分析与解决
java·服务器·网络·python·golang·php·ai编程
Chinese Red Guest2 小时前
python
开发语言·python·pygame
骑个小蜗牛2 小时前
Python 标准库:string——字符串操作
python
我爱C编程3 小时前
基于Qlearning强化学习的机器人路线规划matlab仿真
matlab·机器人·强化学习·路线规划·qlearning·机器人路线规划
黄公子学安全4 小时前
Java的基础概念(一)
java·开发语言·python
程序员一诺5 小时前
【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
后端·python
小木_.5 小时前
【Python 图片下载器】一款专门为爬虫制作的图片下载器,多线程下载,速度快,支持续传/图片缩放/图片压缩/图片转换
爬虫·python·学习·分享·批量下载·图片下载器