【2024高教社杯全国大学生数学建模竞赛】B题 生产过程中的决策问题——解题思路 代码 论文
目录
- 问题 1:抽样检测方案的设计
- 问题 2:生产过程中的决策
- 问题 3:多工序、多零配件的生产决策
- 问题 4:重新分析次品率
- 题目难度分析
- 1. 统计检测方案设计的复杂性(问题 1)
- 2. 多阶段生产决策的复杂性(问题 2 & 3)
- 3. 多工序、多零配件的组合复杂性(问题 3)
- 4. 次品率估计的重新决策(问题 4)
- 参考模型
问题 1:抽样检测方案的设计
目标是为企业设计抽样检测方案,以尽可能少的检测次数判定零配件次品率是否超过标称值。
- 假设检测过程服从二项分布,即抽取一定数量的样本,根据样本中不合格零配件的数量推断整体次品率。
- 根据标称值和信度水平 ,应用统计学中的假设检验理论。这里可以采用 假设检验的双侧检验,设置:
零假设:次品率不超过标称值;
备择假设:次品率超过标称值。 - 检验方案设计:
通过计算置信区间,结合企业的次品率要求以及信度水平(95%和90%),确定需要的样本量。
可采用 样本量计算公式 来确定最少的检测次数,确保在给定信度下可以得出正确结论。
问题 2:生产过程中的决策
为生产过程中不同阶段做出决策,包含零配件检测、成品检测、不合格成品处理等。
-
零配件检测:
计算检测成本与不检测带来的潜在风险损失(如不合格零配件进入装配过程会导致更多的成品不合格)。
通过分析次品率、检测成本等因素,决定是否对零配件进行检测。若检测成本较高且次品率较低,可能选择不检测。 -
成品检测:
需要权衡成品的市场售价、检测成本以及调换不合格成品的损失。
通过建模计算各决策方案下的总成本,找出最优的检测方案(检测或不检测)。 -
不合格成品拆解: 分析拆解费用与次品率,判断拆解零配件的价值是否高于直接报废不合格成品。对于高拆解费用但零配件较贵的情况,可以选择拆解,否则直接报废。
-
退回的成品处理:同样使用成本效益分析,对退回产品的处理(拆解或丢弃)做出最优决策。
问题 3:多工序、多零配件的生产决策
本问题在问题 2 的基础上增加了更多复杂度,要求考虑多道工序及更多零配件的生产决策。
-
多工序影响:
各道工序会影响零配件和半成品的次品率,需要建立更为复杂的模型。
通过 马尔科夫链或蒙特卡洛模拟 等方法预测不同工序下的质量演变,计算各工序的最优策略。 -
多零配件决策:
不同零配件的次品率和成本不一,对每个零配件进行单独决策。
根据总装配成本、检测成本和市场售价,优化整体生产链的成本结构。
问题 4:重新分析次品率
在问题 4 中,假设问题 2 和问题 3 中的次品率是通过抽样检测方法得到的。这意味着需要重新结合问题 1 中设计的抽样检测方案,重新计算次品率并基于此调整各个决策。
-
结合抽样检测数据 :
使用问题 1 中得出的检测方案,得到更为精确的次品率估计值。
将这些估计值替换到问题 2 和问题 3 中的模型,重新做出决策。 -
决策调整:
可能由于次品率估计值的变化,导致某些阶段的检测方案或处理策略需要调整。需再次优化总成本模型。总结
该题的解决思路可以通过 建立统计模型与成本分析模型 来解决。关键在于:
问题 1 采用假设检验与抽样检测设计。
问题 2 和问题 3 结合成本效益分析,优化生产各环节的检测与处理方案。
问题 4 结合前面问题中的抽样检测结果,重新校正生产决策。
题目难度分析
本题涉及抽样检测、生产决策优化以及多阶段、多零配件的质量管理等问题,难度主要体现在以下几个方面:
1. 统计检测方案设计的复杂性(问题 1)
问题 1 要求设计一个抽样检测方案,并且在给定信度下最小化检测次数。挑战在于:
假设检验的设计 :需要在不同的置信度要求下分别给出拒收或接收的检测标准,涉及到统计学中的假设检验、置信区间计算以及样本量估计。
优化抽样数量 :最小化样本量的同时,确保置信区间能够准确反映实际次品率。这要求考察统计分布(如二项分布或正态分布)的性质,并进行优化计算。
2. 多阶段生产决策的复杂性(问题 2 & 3)
生产过程的各阶段决策需考虑到多种成本(检测成本、装配成本、拆解成本等)与潜在收益的平衡,且各个阶段的决策互相关联。这部分的难点包括:
零配件与成品的次品率关联 :成品次品率不仅取决于零配件的质量,还会受到装配过程的影响,因此需要建立合理的模型来预测成品的次品率。多阶段决策的递归性 :在每个阶段做出的决策都会影响后续的阶段,这使得问题呈现出递归结构,适合使用动态规划或马尔科夫决策过程等递归方法解决。
3. 多工序、多零配件的组合复杂性(问题 3)
多道工序、多零配件的组合进一步增加了问题的复杂度:
次品率与装配的复杂组合 :问题 3 中的生产过程由多个工序和多个零配件组成,导致次品率的累积效应较难精确计算。
决策空间增大 :随着零配件数量和工序数量的增加,决策变量也大幅增加,需要更为有效的搜索算法,如启发式算法、遗传算法等,来寻找最优解。
4. 次品率估计的重新决策(问题 4)
本问题要求结合抽样检测的结果,重新进行生产决策:
动态调整次品率 :在实际生产过程中,次品率是通过抽样检测得到的,且会随着生产的进行动态变化,如何利用新的次品率数据调整生产流程是一个难点
重新优化决策 :每次重新估计次品率后,都需要重新进行多阶段的决策优化,这增加了问题的动态性和复杂性。
参考模型
-
假设检验模型
描述 :用于问题 1 中抽样检测的设计。
参考模型 :二项分布假设检验、正态分布近似、置信区间计算。 -
成本效益分析模型
描述 :用于问题 2 和问题 3 中的生产过程决策。
参考模型 :在经济学和管理科学中的成本效益分析模型。 -
动态规划模型
描述 :用于分阶段的决策优化问题(如问题 2 和问题 3),特别适合多阶段递归性问题。
参考模型 :Bellman提出的动态规划框架,常用于求解多阶段决策问题。 -
马尔科夫决策过程 (MDP)
描述 :用于多工序、多阶段、多零配件的生产过程决策。
参考模型 :马尔科夫决策过程(MDP)是处理多阶段决策的标准工具之一。 -
蒙特卡洛模拟
描述 :用于应对生产过程中的不确定性,可以通过模拟大量次品率和生产过程,评估不同决策下的平均成本。 -
启发式算法
描述 :适用于多工序和多零配件的复杂决策问题。
参考模型 :模拟退火算法、遗传算法等启发式搜索方法。 -
贝叶斯更新模型
描述 :用于问题 4 中基于新的检测数据更新次品率的估计。
参考模型 :贝叶斯统计推断模型,通过新的数据不断调整先验概率。
本题的难度主要在于综合应用统计分析、生产决策优化、动态规划等多种模型和算法,处理多阶段、多零配件生产中的决策复杂性和不确定性 。在解题过程中,合理选择并结合这些经典的参考模型,能够有效解决该问题中的多个挑战。
A-E题的解题思路、模型代码,论文持续更新中!
相关文章:
【2024高教社杯全国大学生数学建模竞赛】B题 生产过程中的决策问题——解题思路 代码 论文
目录 问题 1:抽样检测方案的设计问题 2:生产过程中的决策问题 3:多工序、多零配件的生产决策问题 4:重新分析次品率题目难度分析1. 统计检测方案设计的复杂性(问题 1)2. 多阶段生产决策的复杂性(…...
JUnit 5和Mockito进行单元测试!
1. JUnit 5 基础 JUnit 5是最新的JUnit版本,它引入了许多新特性,包括更灵活的测试实例生命周期、参数化测试、更丰富的断言和假设等。 1.1 基本注解 Test:标记一个方法为测试方法。 BeforeEach:在每个测试方法之前执行。 AfterEac…...
LeetCode 算法:完全平方数 c++
原题链接🔗:完全平方数难度:中等⭐️⭐️ 题目 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的…...
深入CSS 布局——WEB开发系列29
CSS 页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置。 一、正常布局流(Normal Flow) CSS的布局基础是“正常流”,也就是页面元素在没有特别指定布局方式时的默认排列…...
视频的容器格式和编码格式详解
视频的容器格式和编码格式是视频文件的两个核心概念,它们相互关联但具有不同的功能。以下是详细的解释: 1. 容器格式 (Container Format) 容器格式,又称封装格式,指的是视频文件的外壳或容器,它用于封装视频、音频、…...
Elasticsearch Mapping 详解
1 概述 映射的基本概念 Mapping 也称之为映射,定义了 ES 的索引结构、字段类型、分词器等属性,是索引必不可少的组成部分。 ES 中的 mapping 有点类似与DB中“表结构”的概念,在 MySQL 中,表结构里包含了字段名称,字…...
WPF 利用视觉树获取指定名称对象、指定类型对象、以及判断是否有验证错误
1.利用视觉树获取指定名称对象 /// <summary> /// Finds a Child of a given item in the visual tree. /// </summary> /// <param name"parent">A direct parent of the queried item.</param> /// <typeparam name"T">T…...
了解`re`模块的`split()`, `sub()`, `subn()`方法的作用
在Python中,re模块(即正则表达式模块)提供了强大的字符串处理能力,允许你通过模式匹配来执行复杂的文本搜索、替换和分割等操作。其中,split(), sub(), 和 subn() 方法是re模块中非常实用的几个函数,它们各…...
机器学习交通流量预测实现方案
机器学习交通流量预测实现方案 实现方案 1. 数据预处理 2. 模型选择 3. 模型训练与评估 代码实现 代码解释 小结 🎈边走、边悟🎈迟早会好 交通流量预测是机器学习在智能交通系统中的典型应用,通常用于预测道路上的车辆流量、速度和拥…...
QNN:基于QNN+example重构之后的yolov8det部署
QNN是高通发布的神经网络推理引擎,是SNPE的升级版,其主要功能是: 完成从Pytorch/TensorFlow/Keras/Onnx等神经网络框架到高通计算平台的模型转换; 完成模型的低比特量化(int8),使其能够运行在高…...
Redis实战宝典:开发规范与最佳实践
目录标题 Key命名设计:可读性、可管理性、简介性Value设计:拒绝大key控制Key的生命周期:设定过期时间时间复杂度为O(n)的命令需要注意N的数量禁用命令:KEYS、FLUSHDB、FLUSHALL等不推荐使用事务删除大key设置合理的内存淘汰策略使…...
RPC的实现原理架构
RPC(Remote Procedure Call,远程过程调用)是一种允许程序调用位于不同地址空间或网络上的函数或方法的技术,尽管这些调用看起来像是本地调用。RPC 的实现极大地简化了分布式系统中的通信,避免了开发人员直接处理底层网…...
OpenXR Monado Hello_xr提交Frame
OpenXR Monado Hello_xr提交Frame @src/tests/hello_xr/openxr_program.cpp RenderFrame())xrWaitFrame(m_session, &frameWaitInfo, &frameState)xrBeginFrame(m_session, &frameBeginInfo)std::vector<XrCompositionLayerBaseHeader*> layers;std::vecto…...
huggingface快速下载模型及其配置
大家知道,每次进huggingface里面一个个手动下载文件然后再上传到我们的服务器是很麻烦的。其实huggingface提供了下载整个包的命令,很简单,如下: 1. 进入huggingface官网,随便搜索一个模型,点击右上角的三…...
虚幻5|不同骨骼受到不同伤害|小知识(2)
1.蓝图创建一个结构,B_BoneDamage 结构里添加一个浮点变量,表示伤害倍数 2.当我们创建了一个结构,就需要创建一个数据表格,数据表格可以选择对应的结构 不同骨骼不同倍数伤害,骨骼要对应骨骼网格体的名称 3.把我们br…...
达梦SQL 优化简介
目录 一、定位慢 SQL (一)开启跟踪日志记录 1.跟踪日志记录配置 (二)通过系统视图查看 1.SQL 记录配置 2.查询方式 二、SQL分析方法 (一)执行计划 1.概述 2.查看执行计划 (二&#x…...
题解:CF1070B Berkomnadzor
CF1070B Berkomnadzor 题解 解题思路 不难想到将 IP 地址转化为二进制后插入一个字典树中,转化后二进制的长度就是 x x x 的长度。我们需要记录每个串结尾的颜色,不妨设黑名单为 1 1 1,白名单为 0 0 0,初始时每个位置的颜色是…...
shell 学习笔记:数组
目录 1. 定义数组 2. 读取数组元素值 3. 关联数组 4. 在数组前加一个感叹号 ! 可以获取数组的所有键 5. 在数组前加一个井号 # 获取数组的长度 6. 数组初始化的时候,也可以用变量 7. 循环输出数组的方法 7.1 for循环输出 7.2 while循环输出 7.2.1 …...
计算机基础知识复习9.5
数据交换 电路交换:交换信息的两个主机之间简历专用通道,传输时延小,实时性强,效率低,无法纠正错误。 报文交换:信息拆分成小包(报文)大小无限制,有目的/源等信息提高利用率。有转…...
spark.sql
from pyspark.sql import SparkSession from pyspark.sql.functions import col, count, mean, rank, row_number, desc from pyspark.sql.window import Window from pyspark.sql.types import StructType, StructField, StringType, IntegerType# 初始化 SparkSession 对象 s…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
