发布于19:25有问题后续会修正!!
问题一代码展示:
问题一部分代码分享:
#!/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)
该问题要求在保持各种农作物的亩产量、种植成本、销售价格相对稳定的前提下,分别针对两个场景制定最优的种植方案:
- 滞销浪费场景:作物产量超过预期销售量的部分将无法销售。
- 降价出售场景:超过的产量按照2023年销售价格的50%出售。
优化的目标应该是在两种场景下最大化种植的收益,同时要遵循题目给出的种植约束条件,比如不能重茬种植,三年内至少一次豆类作物等。
问题2:考虑农作物不确定性的最优方案
问题2引入了诸如农作物预期销售量增长、气候对产量的影响、种植成本和销售价格波动等不确定性因素,要求制定2024-2030年期间的最优种植方案。作物的销售量、亩产量、种植成本和价格都具有波动性,因此需要考虑这些不确定性可能带来的风险,进行优化方案调整。
问题3:考虑替代性、互补性等相关因素
现实中,农作物之间存在替代性和互补性,如种植小麦可能影响其他作物的产量和市场需求。问题3要求在问题2的基础上,综合考虑农作物之间的相关性,以及销售量、种植成本等因素的相互影响,制定出更为精细的种植策略。
数据需求
- 附件1.xlsx:乡村耕地和农作物的基本情况,如地块类型、面积、适合种植的作物等。
- 附件2.xlsx:2023年的农作物种植和统计数据,包括亩产量、销售价格、种植成本等。
- 附件3:用于填写问题解答的模板文件。
初步建模思路
-
数据处理:首先需要从附件1和附件2中提取地块信息、农作物数据(产量、销售价格、种植成本等)。建立作物与地块的对应关系,考虑每种作物在不同地块上的产量差异。
-
线性规划模型:可以利用线性规划模型(或整数规划模型)来解决最优种植问题,目标函数为总收益最大化,约束条件包括地块类型的限制、豆类作物种植要求、避免重茬种植等。
-
模拟不确定性:针对问题2和问题3的种植成本、产量和价格的不确定性,可以采用蒙特卡罗模拟法,对未来不同年份的情境进行模拟。