首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

onLinear Programming and Monte Carlo Simulation

行业研究 229.4KB 25 需要积分: 1
立即下载

资源介绍:

数学建模
import pandas as pd import numpy as np import random import 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) # 将处理后的数据转换为DataFrame adwddaw = 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['种植地块'].values PAs = PI['地块面积'].values terwe = len(yfgr) # 计算地块数量 # 假设 CD DataFrame 包含所有作物的信息,计算作物种类数量 tuyu= len(CD) # 初始化参数 ESF = 0.8 MPA = 0.1 awerwr = 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]['地块类型']] # 避免�

资源文件列表:

支撑材料.zip 大约有19个文件
  1. 附件/
  2. 附件/第一问代码/
  3. 附件/第一问代码/K-means.m 1.5KB
  4. 附件/第一问代码/main_sobj.m 21.99KB
  5. 附件/第一问代码/main_sobj1.m 15.28KB
  6. 附件/第三问代码/
  7. 附件/第三问代码/4-问题三.py 8.4KB
  8. 附件/第三问代码/huiguixingfenxi.m 2.34KB
  9. 附件/第三问代码/julei.m 1.87KB
  10. 附件/第三问代码/ketidaixing.m 1.64KB
  11. 附件/第三问代码/yuxian_xiangsidu.m 1.12KB
  12. 附件/第三问代码/农产品聚类.fig 36.85KB
  13. 附件/第三问代码/可替代性.fig 18.56KB
  14. 附件/第二问代码/
  15. 附件/第二问代码/3-问题二.py 10.97KB
  16. 附件/附件三/
  17. 附件/附件三/result1_1.xlsx 86.8KB
  18. 附件/附件三/result1_2.xlsx 86.82KB
  19. 附件/附件三/result2.xlsx 86.85KB
0评论
提交 加载更多评论
其他资源 midea-ac-lan.zip
美的的HAAS插件,可实现基于HAAS控制美的智能设备 将最新版本中的所有 custom_components/midea_ac_lan 文件复制到您的 /custom_components/midea_ac_lan Home Assistant。,最后重启HA 添加配置过程中,系统可能会要求您输入美的帐户和密码。必须从美的云服务器检索设备信息(Token 和 Key)。配置完所有设备后,您可以删除美的账户配置,而不会影响设备的使用
PhotoDemon 图片编辑器
PhotoDemon 图片编辑器
全国地图数据资源Echart用
全国地图数据资源Echart用,适用人群,前端可视化开发人员全国地图数据资源Echart用,适用人群,前端可视化开发人员全国地图数据资源Echart用,适用人群,前端可视化开发人员全国地图数据资源Echart用,适用人群,前端可视化开发人员全国地图数据资源Echart用,适用人群,前端可视化开发人员
javaweb项目超市订单管理系统超市进销存管理系统jsp+servlet+mysql-java课程设计毕业设计java源码
本资源为JavaWeb项目超市订单管理系统,涵盖了超市的进销存管理功能,使用JSP+Servlet+MySQL技术开发,适用于Java课程设计和毕业设计的学习参考。系统包括商品管理、订单管理、库存管理、供应商管理等功能模块,支持数据的增删改查和实时更新,全面展示了Java Web开发在实际业务场景中的应用。源码注释清晰,结构合理,非常适合在校大学生深入学习Java Web开发,提升编程实践能力,同时也是Java技术爱好者提升技能、拓展知识的宝贵参考资料。
pbootcms数据库sqlite转mysql软件
将Pbootcms的默认SQLite数据库转换为MySQL数据库,包括使用SQLiteStudio导出数据库,修复表结构,通过phpMyAdmin导入到MySQL pbootcms3x+sqlite+转+mysql
mysql8.0 java驱动 mysql-connector-java-8.0.22
mysql-connector-java-8.0.22
无痕卸载工具-v1.0.zip
一款轻量化无痕卸载工具,可以轻松卸载电脑上的各种软件,无需安装,即下载即用。
基于STM32F407的W25Q128 FLASH程序
STM32使用SPI对W25Q128进行写入与读取,通过串口调试助手进行显示结果,压缩包包含了代码与显示结果图片等