支撑材料.zip
大小:229.4KB
价格:23积分
下载量:0
评分:
5.0
上传者:2302_82264763
更新日期:2025-09-22

onLinear Programming and Monte Carlo Simulation

资源文件列表(大概)

文件名
大小
附件/
-
附件/第一问代码/
-
附件/第一问代码/K-means.m
1.5KB
附件/第一问代码/main_sobj.m
21.99KB
附件/第一问代码/main_sobj1.m
15.28KB
附件/第三问代码/
-
附件/第三问代码/4-问题三.py
8.4KB
附件/第三问代码/huiguixingfenxi.m
2.34KB
附件/第三问代码/julei.m
1.87KB
附件/第三问代码/ketidaixing.m
1.64KB
附件/第三问代码/yuxian_xiangsidu.m
1.12KB
附件/第三问代码/农产品聚类.fig
36.85KB
附件/第三问代码/可替代性.fig
18.56KB
附件/第二问代码/
-
附件/第二问代码/3-问题二.py
10.97KB
附件/附件三/
-
附件/附件三/result1_1.xlsx
86.8KB
附件/附件三/result1_2.xlsx
86.82KB
附件/附件三/result2.xlsx
86.85KB

资源内容介绍

数学建模
import pandas as pdimport numpy as npimport randomimport re# 读取作物耕地信息filename = '附件1-2.xlsx'CLD = pd.read_excel(filename)# 初始化列表,用于存储处理后的数据LTA, SA, CUD, CNA, CTA = [], [], [], [], []# 遍历作物耕地数据,提取并处理地块类型和季节信息for i in range(len(CLD)): asdaw = str(CLD.iloc[i]['种植耕地']).replace('↵', '').strip() if asdaw: tokens = re.findall(r'(\S+)\s+(\S+)', asdaw) # 使用正则表达式提取地块类型和季节 for LT, season in tokens: seasons = season.split() for dwa in seasons: CUD.append(CLD.iloc[i]['作物编号']) CNA.append(CLD.iloc[i]['作物名称']) CTA.append(CLD.iloc[i]['作物类型']) LTA.append(LT) SA.append(dwa)# 将处理后的数据转换为DataFrameadwddaw = pd.DataFrame({ '作物编号': CUD, '作物名称': CNA, '作物类型': CTA, '地块类型': LTA, '季节': SA})# 将处理后的数据保存到Excel文件adwddaw.to_excel('分解后的作物地块和季节信息.xlsx', index=False)# 定义函数,根据地块信息、作物数据等计算最佳作物def find_best_crop(SC, CD, PA, ESF, MPA): BR = -float('inf') BCI = 0 for CI in range(len(SC)): CN = SC.iloc[CI]['作物名称'] CDF = CD[CD['作物名称'] == CN] if notCDF.empty: dawsd =CDF.iloc[0]['亩产量/斤'] asdaw =CDF.iloc[0]['销售单价/(元/斤)'] cost =CDF.iloc[0]['种植成本/(元/亩)'] adasdaw = dawsd * PA sdwer = ESF * adasdaw wdwtrt = max(0, adasdaw - sdwer) daswgffa = min(adasdaw, sdwer) revenue = daswgffa * asdaw +wdwtrt * (asdaw * 0.5) - cost * PA if revenue > BR and PA >= MPA: BR = revenue BCI = CD.index[CD['作物名称'] == CN][0] return BCI, BR# 读取地块信息LF = '附件1-1.xlsx'LD = pd.read_excel(LF)# 定义地块类型LTS= ['普通大棚', '智慧大棚', '平旱地', '梯田', '山坡地', '水浇地']PI = pd.DataFrame()# 提取每种地块类型的信息for LT in LTS: names = LD[LD['地块类型'] == LT]['地块名称'] areas = LD[LD['地块类型'] == LT]['地块面积'] temp_df = pd.DataFrame({'种植地块': names, '地块类型': LT, '地块面积': areas}) PI = pd.concat([PI, temp_df])# 导入2023年种植数据dxvacwf = '附件2-1导入.xlsx'xcxassdaw = pd.read_excel(dxvacwf)# 将地块信息与种植计划数据合并xcxassdaw = pd.merge(xcxassdaw, PI, on='种植地块', how='left')# 读取清洗后的作物数据crop_filename = '附件2-2清洗后数据.xlsx'CD = pd.read_excel(crop_filename)# 导入和处理作物-土地适用数据filename = '附件1-2.xlsx'CLD = pd.read_excel(filename)# 分解作物适用地块和季节LTA, SA, CUD, CNA, CTA = [], [], [], [], []for i in range(len(CLD)): asdaw = str(CLD.iloc[i]['种植耕地']).replace('↵', '').strip() if asdaw: tokens = re.findall(r'(\S+)\s+(\S+)', asdaw) for LT, season in tokens: seasons = season.split() for dwa in seasons: CUD.append(CLD.iloc[i]['作物编号']) CNA.append(CLD.iloc[i]['作物名称']) CTA.append(CLD.iloc[i]['作物类型']) LTA.append(LT) SA.append(dwa)adwddaw = pd.DataFrame({ '作物编号': CUD, '作物名称': CNA, '作物类型': CTA, '地块类型': LTA, '季节': SA})# 导出结果adwddaw.to_excel('分解后的作物地块和季节信息.xlsx', index=False)# 豆科植物列表legume_crops = ['黄豆', '豇豆', '芸豆', '红豆', '黑豆', '绿豆', '爬豆', '刀豆']# 谷物作物列表xadss = ['小麦', '玉米']# 蔬菜作物列表daw = ['白菜', '生菜', '菠菜', '番茄']# 真菌类作物列表fungi_crops = ['蘑菇', '羊肚菌']# 根据作物名称和年份调整销售、产量、成本和价格def adjust_parameters(CN, year, swdwr, sdwdwe, wewe, xdwasdw): # 调整预期销售量 if CN in xadss: sales_growth_rate = random.uniform(0.05, 0.10) # 小麦和玉米的增长率 5%~10% sales = swdwr * (1 + sales_growth_rate) ** (year - 2023) else: sales_change_rate = random.uniform(-0.05, 0.05) # 其他作物 ±5% 的变化 sales = swdwr * (1 + sales_change_rate) # 调整亩产量(所有作物±10%波动) yield_change_rate = random.uniform(-0.10, 0.10) dawsd = sdwdwe * (1 + yield_change_rate) # 调整种植成本(每年增长5%) cost = wewe * (1 + 0.05) ** (year - 2023) # 调整销售价格 if CN in xadss: price = xdwasdw # 粮食类价格稳定 elif CN in daw: price = xdwasdw * (1 + 0.05) ** (year - 2023) # 蔬菜类每年增长5% elif CN == '羊肚菌': price = xdwasdw * (1 - 0.05) ** (year - 2023) # 羊肚菌每年下降5% elif CN in sd: price = xdwasdw * random.uniform(0.95, 0.99) # 其他食用菌每年下降1%~5% else: price = xdwasdw # 其他作物价格稳定 return sales, dawsd, cost, price# 找到最适合种植的作物def find_best_crop(SC, CD, PA, year, ESF, MPA): BR = -float('inf') BCI = 0 # 遍历每个作物,计算收益 for CI in range(len(SC)): CN = SC.iloc[CI]['作物名称'] CDF = CD[CD['作物名称'] == CN] if notCDF.empty: # 获取基础数据 swdwr =CDF.iloc[0]['亩产量/斤'] sdwdwe =CDF.iloc[0]['亩产量/斤'] wewe =CDF.iloc[0]['种植成本/(元/亩)'] xdwasdw =CDF.iloc[0]['销售单价/(元/斤)'] # 调整参数 sales, dawsd, cost, price = adjust_parameters(CN, year, swdwr, sdwdwe, wewe,xdwasdw) # 计算总产量和预期销售量 adasdaw = dawsd * PA sdwer = ESF * adasdaw # 计算超出部分的产量 wdwtrt = max(0, adasdaw - sdwer) daswgffa = min(adasdaw, sdwer) # 收益 = 正常销售的部分 + 降价后的超出部分 revenue = daswgffa * price +wdwtrt * (price * 0.5) - cost * PA # 确保逻辑条件是标量 if revenue > BR and PA >= MPA: BR = revenue BCI = CD.index[CD['作物名称'] == CN][0] return BCI, BR# 定义年份列表years = list(range(2024, 2031))tyt = len(years) # 计算年份数量# 从 PI DataFrame 中获取地块名称和地块面积yfgr = PI['种植地块'].valuesPAs = PI['地块面积'].valuesterwe = len(yfgr) # 计算地块数量# 假设 CD DataFrame 包含所有作物的信息,计算作物种类数量tuyu= len(CD)# 初始化参数ESF = 0.8MPA = 0.1awerwr = np.empty((terwe, tyt), dtype=object) # 记录每个地块每年种植的作物hfgf = np.zeros(terwe) # 记录每个地块最后一次种植豆类的年份# 初始化用于存储每年种植方案的列表yearly_plans = []# 遍历每个年份for year_idx in range(tyt): print(f"正在处理年份:{years[year_idx]}") # 打印当前处理的年份 # 初始化当前年份的第一季和第二季种植方案矩阵 adw1 = np.zeros((terwe, num_crops)) adwe1 = np.zeros((terwe, num_crops)) # 遍历每个地块 for qwedqw2 in range(terwe): plot_name = yfgr[qwedqw2] # 地块名称 PA = PAs[qwedqw2] # 地块面积 # 根据地块类型筛选适用的作物 wedw = adwddaw[adwddaw['地块类型'] == PI.iloc[qwedqw2]['地块类型']] # 避免�

用户评论 (0)

发表评论

captcha

相关资源

midea-ac-lan.zip

美的的HAAS插件,可实现基于HAAS控制美的智能设备将最新版本中的所有 custom_components/midea_ac_lan 文件复制到您的 /custom_components/midea_ac_lan Home Assistant。,最后重启HA添加配置过程中,系统可能会要求您输入美的帐户和密码。必须从美的云服务器检索设备信息(Token 和 Key)。配置完所有设备后,您可以删除美的账户配置,而不会影响设备的使用

138.27KB27积分

PhotoDemon 图片编辑器

PhotoDemon 图片编辑器

18.52MB34积分

全国地图数据资源Echart用

全国地图数据资源Echart用,适用人群,前端可视化开发人员全国地图数据资源Echart用,适用人群,前端可视化开发人员全国地图数据资源Echart用,适用人群,前端可视化开发人员全国地图数据资源Echart用,适用人群,前端可视化开发人员全国地图数据资源Echart用,适用人群,前端可视化开发人员

1.16MB31积分

javaweb项目超市订单管理系统超市进销存管理系统jsp+servlet+mysql-java课程设计毕业设计java源码

本资源为JavaWeb项目超市订单管理系统,涵盖了超市的进销存管理功能,使用JSP+Servlet+MySQL技术开发,适用于Java课程设计和毕业设计的学习参考。系统包括商品管理、订单管理、库存管理、供应商管理等功能模块,支持数据的增删改查和实时更新,全面展示了Java Web开发在实际业务场景中的应用。源码注释清晰,结构合理,非常适合在校大学生深入学习Java Web开发,提升编程实践能力,同时也是Java技术爱好者提升技能、拓展知识的宝贵参考资料。

12.69MB37积分