2024 年高教社杯全国大学生数学建模竞赛国赛B题_生产过程中的决策问题三四问解析(含全部代码)

B题一二问入口:

2024 年高教社杯全国大学生数学建模竞赛B题_生产过程中的决策问题一二问解析(含全部代码)-CSDN博客

题目和数据入口:

 ​‍​‌​​​⁠‬⁠​‍⁠⁠​⁠⁠​⁠‍​‌​​‌​‌​‌‌​​​​⁠​​‍‬‍2024 年高教社杯全国大学生数学建模竞赛B题 - 飞书云文档 (feishu.cn)

一:问题3

本题是依据题意将为企业生产过程的各个阶段作出决策。

首先读取数据:

import pandas as pd
# 读取文件
excel_file = pd.ExcelFile('表3_自制.xlsx')

# 获取所有表名
sheet_names = excel_file.sheet_names
# 获取指定工作表中的数据
df = excel_file.parse('Sheet1')

# 查看数据的基本信息和前几行
print('数据的基本信息:')
df.info()
print('数据的前几行:')
print(df.head())

基于执行结果,数据集包含 7 行 13 列。推测参与分析的字段及含义如下:

  • 次品率:表示产品的次品概率。
  • 检测成本:表示对产品进行检测所需的成本。
  • 购买单价:表示产品的购买价格。
  • 装配成本:表示将产品进行装配所需的成本。
  • 拆解费用:表示对产品进行拆解所需的费用。
  • 市场售价:表示产品在市场上的销售价格。
  • 调换损失:表示因产品调换而产生的损失。

接下来,我将根据上述信息,为企业生产过程的各个阶段作出决策。

# 定义一个空字典,用于存储决策结果
decisions = {}

# 零配件检测决策
for part in ['零配件1', '零配件2', '零配件3', '零配件4', '零配件5', '零配件6', '零配件7', '零配件8']:
    # 如果检测成本小于次品率乘以购买单价,则进行检测
    if df.loc[1, part] < df.loc[0, part] * df.loc[2, part]:
        decisions[f'{part}是否检测'] = '是'
    else:
        decisions[f'{part}是否检测'] = '否'

# 半成品检测决策
for semi_product in ['半成品1', '半成品2', '半成品3']:
    # 如果检测成本小于次品率乘以(半成品装配成本 + 零配件购买单价之和),则进行检测
    if df.loc[1, semi_product] < df.loc[0, semi_product] * (df.loc[3, semi_product] + df.loc[2, [f'零配件{i}' for i in range(1, 9)]].sum()):
        decisions[f'{semi_product}是否检测'] = '是'
    
### PyCharm 打开文件显示全的解决方案 当遇到PyCharm打开文件显示全的情况时,可以尝试以下几种方法来解决问题。 #### 方法一:清理缓存并重启IDE 有时IDE内部缓存可能导致文件加载异常。通过清除缓存再启动程序能够有效改善此状况。具体操作路径为`File -> Invalidate Caches / Restart...`,之后按照提示完成相应动作即可[^1]。 #### 方法二:调整编辑器字体设置 如果是因为字体原因造成的内容显示问题,则可以通过修改编辑区内的文字样式来进行修复。进入`Settings/Preferences | Editor | Font`选项卡内更改合适的字号大小以及启用抗锯齿功能等参数配置[^2]。 #### 方法三:检查项目结构配置 对于某些特定场景下的源码视图缺失现象,可能是由于当前工作空间未能正确识别全部模块所引起。此时应该核查Project Structure的Content Roots设定项是否涵盖了整个工程根目录;必要时可手动添加遗漏部分,并保存变更生效[^3]。 ```python # 示例代码用于展示如何获取当前项目的根路径,在实际应用中可根据需求调用该函数辅助排查问题 import os def get_project_root(): current_file = os.path.abspath(__file__) project_dir = os.path.dirname(current_file) while not os.path.exists(os.path.join(project_dir, '.idea')): parent_dir = os.path.dirname(project_dir) if parent_dir == project_dir: break project_dir = parent_dir return project_dir print(f"Current Project Root Directory is {get_project_root()}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值