【2024数模国赛赛题思路公开】国赛B题第二套思路丨附可运行代码丨无偿自提

news2024/11/15 16:52:20

2024年数模国赛B题解题思路

 生产过程中的决策问题

一、问题1解析

问题1的任务是为企业设计一个合理的抽样检测方案,基于少量样本推断整批零配件的次品率,帮助企业决定是否接收供应商提供的这批零配件。具体来说,企业需要依据两个不同置信度(95% 和 90%)来判断次品率是否超过或不超过标称值(10%)。

供应商声称的次品率为不超过10%,但企业需要通过抽样检测来验证实际次品率是否符合此要求。通过设计合理的抽样方案,企业可以在不同的置信度下做出关于是否接受这批零配件的决策。

情况1:在95%的置信水平下,如果次品率超过标称值(10%),则拒收该批次零配件。

情况2:在90%的置信水平下,如果次品率不超过标称值(10%),则接收该批次零配件。

抽样检测模型

本问题可以使用统计学中的假设检验方法进行抽样检测。具体步骤如下:

1. 假设检验模型

我们可以使用二项分布或正态分布来描述抽样的过程,具体步骤如下:

零假设H0: 次品率等于10%,即 p = 0.1 。

备择假设 H1 : 次品率不同于10%。

在情况1中,我们希望拒收零配件,意味着在95%的置信水平下拒绝H0 ,即认为次品率超过10%。

在情况2中,我们希望接收零配件,意味着在90%的置信水平下不拒绝H0,即认为次品率不超过10%。

2. 检验统计量

次品率的检测可以基于样本中不合格品的比例。假设抽取的样本量为n,不合格品的数量为X,则样本次品率为:

根据二项分布,假设次品率为p,则有:

当n 较大时,二项分布可以近似为正态分布:

其中p0=0.1为标称次品率。

3. 置信区间

根据置信水平的不同,利用正态分布的累积概率可以计算出相应的抽样量 n。对于95%和90%的置信水平,分别使用:

对于95%的置信水平:使用标准正态分布的临界值Z0.95=1.645。

对于90%的置信水平:使用标准正态分布的临界值Z0.90=1.28。

我们需要确定在给定的置信度下,样本次品率是否超出10%。

4. 抽样次数n的计算

情况1:在95%的置信度下,假设次品率大于10%,我们需要拒收零配件。可以根据公式推导出所需的最小样本量n,以保证检验的灵敏度:

通过该公式,我们可以求得n 值。

情况2:在90%的置信度下,假设次品率不超过10%,我们可以接收零配件。对应的样本量n 由:

在这两个条件下,我们可以分别计算所需的样本量n,并根据抽样的结果做出决策。

5. 具体计算步骤

(1) 设定假设:基于样本中观测到的次品率,计算标准差并应用正态分布近似。

(2) 计算临界值:根据给定的置信水平(95%和90%)计算对应的Z值。

(3) 确定抽样次数:使用上述公式确定样本量 n,使得能够满足所需的置信度要求。

(4) 结果分析:在样本量n 下,根据实际检测结果判断是否接收或拒收该批次零配件。

6.总结(问题一总结)

问题1的核心在于为企业设计一个基于抽样检测的方案,以有效评估供应商所提供的零配件是否符合次品率不超过10%的标称值。该问题的解决过程可以通过统计学中的假设检验和置信区间的概念来实现。在不同置信水平(95%和90%)下,企业需要判断是否接收这批零配件。具体而言,若在95%的置信水平下,检测显示次品率超过10%,则企业应拒收该批次零配件;在90%的置信水平下,若次品率未超过10%,则可接收该批次零配件。

为了实现这一目的,本问题采用了假设检验的统计学模型。零假设(H0H0)设定为次品率等于10%,而备择假设(H1H1)则表示次品率不同于10%。通过对抽样结果进行假设检验,企业可以判断是否接受或拒绝这批零配件。使用二项分布或正态分布对样本次品率进行建模,使得在大样本条件下的样本分布可以近似为正态分布。

在计算过程中,关键在于确定样本量 nn 以确保在不同的置信水平下能有效进行检验。样本量的计算基于正态分布的标准化统计量,通过公式推导出最小的样本量,使得在给定的置信水平下,能够做出关于次品率是否超出标称值的判断。

问题1通过假设检验和置信区间分析,成功构建了企业在不同置信水平下的抽样检测方案。该方案能够在减少检测成本的前提下,准确评估供应商提供的零配件质量是否符合企业的标准,帮助企业做出科学决策。

二、问题二解析

对于问题2,题目要求对企业的生产过程中各个阶段做出决策,涉及是否对零配件和成品进行检测,以及如何处理不合格产品。这是一个生产过程中的多阶段决策问题,我们可以通过成本分析、次品率计算以及决策树模型来为企业制定合理的检测和处理策略。以下是解题思路的具体展开:

企业生产某种电子产品,使用两种零配件(零配件1和零配件2)进行装配,最终产生成品。在整个过程中,企业需要做出以下几项决策:

(1)零配件检测:是否对零配件1和零配件2进行检测,不检测的零配件直接进入装配环节。

(2)成品检测:是否对成品进行检测,检测合格的成品进入市场。

(3)不合格成品处理:是否对不合格成品进行拆解,拆解后可以回收合格的零配件并重新使用,或者直接丢弃。

(4)用户退货处理:用户退回不合格成品后,企业承担物流、信誉等成本,需要决定是否再次拆解。

1. 模型设计

决策的关键是考虑检测成本、装配成本、次品率、调换损失和拆解费用之间的权衡,以此来做出最优决策。

决策模型设计:

我们可以采用决策树模型,考虑每个环节可能的决策及其结果。每个决策的目标是最小化总成本,这包括检测成本、次品率引起的损失(包括调换损失和拆解费用)等。

步骤1:零配件检测决策

检测零配件1或零配件2可以减少进入装配环节的不合格零配件,从而减少成品的次品率。

成本与收益分析:检测成本与不检测导致的次品率的损失之间的平衡。检测的目的在于减少不合格成品的数量,因此要比较检测成本与由于不检测导致更多不合格成品的调换损失、拆解费用等。

步骤2:成品检测决策

成品检测可以避免不合格成品直接进入市场,减少调换损失。

成本与收益分析:成品检测的成本要与调换损失、企业信誉的损失相权衡。检测合格的成品可以直接进入市场,而不合格的成品要么拆解、要么丢弃。

步骤3:不合格成品拆解决策

不合格成品的拆解会产生额外的拆解费用,但拆解出的零配件可以重复使用。

成本与收益分析:拆解费用与再次利用合格零配件带来的收益之间的平衡。如果拆解出的零配件价值较大,则拆解是合理的选择;否则可以考虑直接丢弃。

步骤4:退货产品处理

退货处理涉及到物流成本和企业信誉的损失,对于退回的不合格成品,企业要决定是否进行拆解。

成本与收益分析:与前面类似,考虑调换损失与拆解费用之间的平衡。

2. 模型构建:

(1) 设定变量:

Cd:检测成本

Ca:装配成本

Ct:拆解费用

Cr:调换损失

p1、p2:零配件1和零配件2的次品率

pf成品的次品率(基于零配件次品率计算)

(2) 目标函数:最小化总成本

   总成本 = 检测成本 + 装配成本 + 不合格产品处理成本 + 调换损失 + 拆解费用

(3)约束条件:

 零配件次品率、成品次品率以及检测、拆解成本等实际情况构成了约束条件。

不同情形下的决策方案:

表1中的不同情形(如零配件次品率、装配成本、检测成本等)会影响到每个决策的选择。具体方案可以基于以下原则:

1. 检测成本 vs 不检测损失:当检测成本低于不合格成品带来的损失时,进行检测。

2. 不合格成品处理:当拆解费用低于调换损失时,选择拆解不合格成品。

3. 用户退货处理:对于退回的不合格成品,综合调换损失和拆解费用做出合理决策。

3.总结(问题二总结)

问题二的核心是如何在企业生产过程中,通过合理的决策实现成本的最小化。企业在生产过程中,需要面对多个决策点,包括是否对零配件、半成品和成品进行检测,以及如何处理不合格成品。通过权衡检测成本、次品率、装配成本和不合格品处理成本,企业可以制定出最优的生产策略。

在整个生产流程中,企业首先需要决定是否对零配件1和零配件2进行检测。如果选择检测,这将能够有效减少进入装配环节的不合格品数量,从而降低成品的次品率。企业还需决定是否对成品进行检测。成品检测的目的是避免不合格的成品进入市场,减少因次品流入市场而带来的调换损失和企业信誉的影响。此外,企业在生产过程中还面临不合格成品的处理问题。对于检测出不合格的成品,企业可以选择进行拆解,回收其中的合格零配件,或者直接丢弃这些次品。拆解虽然需要额外的费用,但能减少材料浪费。最后,企业还需处理用户退回的产品,用户退回的不合格成品可能会带来物流和信誉损失,企业需要权衡是否对这些退回的产品进行再次拆解处理。

为了应对这些决策问题,我们可以构建一个数学模型,旨在最小化总成本。模型中包含检测成本、装配成本、调换损失和拆解费用等多种成本因素。在实际计算中,企业需要评估零配件的次品率对成品次品率的影响,以及检测决策对后续装配环节的影响。

在这种多阶段决策问题中,企业可以通过决策树或成本收益分析模型,评估每一个决策点对总成本的影响。在决策过程中,次品率是一个关键的决策变量。当检测成本较低且次品率较高时,企业应优先进行检测,以减少后续环节的不合格品处理成本。而在不合格成品的处理方面,如果拆解费用低于调换损失,企业应选择拆解以回收合格零配件;若调换损失较小,则可以选择丢弃不合格成品。

在不同的生产情境下,企业的决策将随次品率、检测成本、装配成本和拆解费用等因素的变化而调整。总的来说,问题二要求我们在生产的各个环节中做出基于成本最小化的合理决策,确保在减少次品率的同时,优化检测和不合格品处理策略,从而最大程度地降低企业的整体生产成本。

【Python参考代码】

# 导入必要的库
import pandas as pd
# 情况输入,基于表1的数据
data = {
    '情境': [1, 2, 3, 4, 5, 6],
    '零配件1_次品率': [0.1, 0.2, 0.1, 0.2, 0.1, 0.05],
    '零配件1_购买单价': [4, 4, 4, 4, 4, 4],
    '零配件1_检测成本': [2, 2, 2, 1, 8, 2],
    '零配件2_次品率': [0.1, 0.2, 0.1, 0.2, 0.2, 0.05],
    '零配件2_购买单价': [18, 18, 18, 18, 18, 18],
    '零配件2_检测成本': [3, 3, 3, 1, 1, 3],
    '成品_次品率': [0.1, 0.2, 0.1, 0.2, 0.1, 0.05],
    '成品_装配成本': [6, 6, 6, 6, 6, 6],
    '成品_检测成本': [3, 3, 3, 2, 2, 3],
    '成品_市场售价': [56, 56, 56, 56, 56, 56],
    '不合格成品_调换损失': [6, 6, 30, 30, 10, 10],
    '不合格成品_拆解费用': [5, 5, 5, 5, 5, 40]
}
 
# 将数据转换为DataFrame
df = pd.DataFrame(data)
 
# 定义成本计算函数
def calculate_cost(row, detect_parts=True, detect_products=True, rework_defects=True):
    """
    计算在不同决策下的总成本
    :param row: 当前情形的数据
    :param detect_parts: 是否检测零配件
    :param detect_products: 是否检测成品
    :param rework_defects: 是否对不合格成品进行拆解
    :return: 总成本
    """
    # 获取各类成本和次品率
    part1_defect_rate = row['零配件1_次品率']
    part2_defect_rate = row['零配件2_次品率']
    product_defect_rate = row['成品_次品率']
    part1_cost = row['零配件1_购买单价']
    part2_cost = row['零配件2_购买单价']
    product_price = row['成品_市场售价']
    product_assemble_cost = row['成品_装配成本']
    product_check_cost = row['成品_检测成本']
    swap_loss = row['不合格成品_调换损失']
    rework_cost = row['不合格成品_拆解费用']
    
    # 检测零配件的成本
    part_check_cost = 0
    if detect_parts:
        part_check_cost = row['零配件1_检测成本'] + row['零配件2_检测成本']
        # 如果检测,假设不合格零配件直接丢弃
        part1_defect_rate = 0
        part2_defect_rate = 0
 
    # 成品检测成本
    product_check_total_cost = 0
    if detect_products:
        product_check_total_cost = product_check_cost
        product_defect_rate = 0  # 如果检测,直接丢弃不合格成品
 
    # 不合格成品处理成本
    product_defect_total_cost = product_defect_rate * (swap_loss + rework_cost if rework_defects else swap_loss)
    
    # 计算总成本 = 零配件成本 + 装配成本 + 检测成本 + 不合格处理成本
    total_cost = (part1_cost + part2_cost + product_assemble_cost + part_check_cost + 
                  product_check_total_cost + product_defect_total_cost)
    
    return total_cost
 
# 对每种情境计算成本
decisions = []
for index, row in df.iterrows():
    # 三种决策情况的成本计算
    cost1 = calculate_cost(row, detect_parts=True, detect_products=True, rework_defects=True)
    cost2 = calculate_cost(row, detect_parts=False, detect_products=True, rework_defects=True)
    cost3 = calculate_cost(row, detect_parts=True, detect_products=False, rework_defects=False)
    
    # 找到最小的成本决策
    min_cost = min(cost1, cost2, cost3)
    if min_cost == cost1:
        decision = "检测零配件和成品,拆解不合格成品"
    elif min_cost == cost2:
        decision = "不检测零配件,检测成品,拆解不合格成品"
    else:
        decision = "检测零配件,不检测成品,不拆解不合格成品"
    
    decisions.append(decision)
 
# 添加决策结果到DataFrame
df['最优决策'] = decisions
 
# 打印最终决策结果
import ace_tools as tools; tools.display_dataframe_to_user(name="决策结果", dataframe=df)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2110607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秋燥拜拜,中秋润起来,酒茶香中秋有“礼”

话说这初秋啊,真是个让人又爱又恨的季节! 爱它的秋高气爽,恨它的天干物燥。就像是我们刚刚结束了一个炎热的夏天,身体还没来得及适应,就被秋天的干燥给来了个“突然袭击”。鼻子干、嘴唇干、喉咙干,感觉整个…

hcip什么时候考试?一文带您了解hcip考试报名与预约流程

其他考试一般都会有固定的时间,但hcip不一样,它的考试时间并不固定,这就让考生很是疑惑:hcip什么时候考试呢?除了知道考试时间之外,还要了解hcip的报名条件、报名流程等相关内容。关于这些问题的答案,小编…

blender图像如何分层导出?blender动画云渲染

在blender渲染时产品会被其他物体影响,这时候就可以用到blender中的阻隔;分层导出图像到PS中进行校色等后期处理。 在分层前,我们需要先打开渲染属性-胶片-透明,这样导出的图像才是透明背景的,反之会变成黑色底。 第一…

使用GPU加速及配置

配置CUDA 英伟达 https://developer.nvidia.com/cuda-downloadsPython python要求3.8.x版本以上 python下载 https://www.python.org/getit/使用pytorch 查询地址: https://pytorch.org/index.html给出建议: 可以直接 pip3 install torch torchv…

如何实现思维导图简单漂亮?其实并不难

如何实现思维导图简单漂亮?思维导图是一种非常有效的思考和组织工具,它通过图形化的方式帮助我们梳理信息、激发创意。一个简单又漂亮的思维导图不仅能提高工作效率,还能让人赏心悦目。为了帮助你在学习和工作中更加得心应手,下面…

win10任务栏颜色怎么调?分享几个简单操作,附上详细图文教程

win10任务栏颜色怎么调?相信在大家的日常生活中,电脑是不可或缺的一部分。我们平时上班都需要使用到电脑,最近有个小伙伴问:Win10系统的任务栏颜色可以调整吗?答案当然是可以的。任务栏颜色调整可以帮助我们提高桌面美…

828华为云征文|部署电影收藏管理器 Radarr

828华为云征文|部署电影收藏管理器 Radarr 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 性能模式 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Radarr3.1 Radarr 介绍3.2 Docker 环境搭建3.3 Radarr 部署3.4 R…

C++11: 智能指针(unique_ptr,shared_ptr和weak_ptr的使用及简单实现)

目录 1. 为何需要智能指针? 1.1 抛异常场景 1.2 什么是内存泄漏 2. 智能指针的原理 2.1 RAII技术 2.2 补充实现 3. auto_ptr 4. unique_ptr 4.1 使用及原理 4.2 定制删除器 5. shared_ptr 5.1 shared_ptr简介及使用 5.2 shared_ptr简单实现 5.2.1 基本…

CentOS7 部署 Zabbix 监控平台———监控网络设备,Linux 主机、Windows 主机

Node 有自己的配置文件和数据库,其要做的是将配置信息和监控数据向 Master 同步。 当 Master 发生故障或损坏, Node 可以保证架构的完整性。 3)Server-Prxoy-Client 架构 Proxy 是 Server、Client 之间沟通的桥梁,Proxy 本身没…

Cortex-M3架构学习:存储器系统

存储系统功能 CM3 的存储器系统与从传统 ARM 架构的相比,进行如下改革: 它的存储器映射是预定义的,并且还规定好了哪个位置使用哪条总线。 CM3 的存储器系统支持所谓的“位带”(bit-band)操作。通过它,实…

超详细!!!electron-vite-vue开发桌面应用之创建新窗口以及主进程和子进程的通信监听(十二)

云风网 云风笔记 云风知识库 一、新建打开窗口 1、在electron/main.ts中加入主进程打开窗口逻辑代码 import { ipcMain } from "electron"; ipcMain.handle("open-win", (_, arg) > {const childWindow new BrowserWindow({webPreferences: {preloa…

代码执行漏洞-Log4j2漏洞

1.执行以下命令启动靶场环境并在浏览器访问 cd log4j/CVE-2021-44228docker-compose up -ddocker ps 2.先在自己搭建的DNSLOG平台上获取⼀个域名来监控我们注⼊的效果 3.可以发现 /solr/admin/cores?action 这⾥有个参数可以传,可以按照上⾯的原理 先构造⼀个请求…

TomCat环境配置(实验报告)

实验 Tomcat 实验环境配置 一、实验目的 1、掌握Tomcat的安装和启动 2、掌握在IntelliJ IDEA中配置Tomcat的方法 二、实验环境 1、硬件:PC电脑一台,网络正常; 2、配置:Windows10系统,内存8G及以上,硬盘…

LAN变压器的DCR

在变压器技术中,DCR代表直流电阻(DC Resistance)。它是变压器线圈在直流条件下测得的电阻值,通常用来评估变压器的质量和效率。直流电阻是线圈材料和尺寸的一个函数,它与变压器线圈的发热量和功率损耗直接相关。在变压…

在平板电脑上使用Chrome观看视频的最佳技巧

随着移动设备的普及,越来越多的人选择在平板电脑上观看视频。谷歌浏览器(Chrome)作为一款功能强大的网页浏览器,提供了许多方便的功能来优化你的视频观看体验。以下是一些在平板电脑上使用Chrome观看视频时的最佳技巧。 &#xf…

个人旅游网(2)——功能详解——用户登录注册功能

文章目录 一、用户登录1.1、接口详解1.1.1、isLogged (判断用户是否登录)1.1.2、find-by-telephone(输入手机号时校验手机号是否注册)1.1.3、send-message(发送验证码)1.1.4、login-by-telephone(登录按钮)…

给力!Python配置文件,这一篇就够了!

在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,避免在不同的模块代码中重复出现从而保持核心代码整洁。 这里插播一条粉丝福利,如果你在学习Python或者有计划…

修改设置内以及手机桌面的软件icon和名称

// 设置 - 应用和元服务内修改软件icon和名称等相关信息 // 位置: 设置 - 应用和元服务 // AppScore/app.json5// 这里不是在桌面看, 是在设置 - 应用和元服务内看的 // 模拟器内: 版本号改了之后要卸载后重新安装才能看 {"app": {"bundleName"…

【GC】垃圾回收原理分析

本文基于小许先生的编程世界学习了gc机制。 面试官:了解gc机制吗?简述一下。 我:golang为清除不再被使用的对象,回收内存的机制。采用了三色标记法混合写屏障。首先开启屏障,一旦在gc期间发生指针引用变化,…

解决启动Nginx时80端口被占用的问题

文章目录 前言 解决方法1. 搜索服务打开![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c7600d266d194bdb864f7660a5bc5890.png)2. 找到World Wide Web 发布服务这个服务,右键属性,将它的启动类型改为手动,然后停止掉该服务。3. 此…