本文主要是介绍2024年全国大学生数学建模竞赛(B题) 建模解析|生产过程中的决策问题|小鹿学长带队指引全代码文章与思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我是鹿鹿学长,就读于上海交通大学,截至目前已经帮200+人完成了建模与思路的构建的处理了~
本篇文章是鹿鹿学长经过深度思考,独辟蹊径,实现综合建模。独创复杂系统视角,帮助你解决国赛的难关呀。
完整内容可以在文章末尾领取!
问题一
第一个问题是关于如何设计抽样检测方案,以确定一批零配件(零配件 1 或零配件 2)的次品率是否超过标称值。具体要求是:
- 当标称次品率为10%时,要求在95%的信度下,如果判定这批零配件的次品率超过标称值,则拒收该批零配件;
- 在90%的信度下,如果判定这批零配件的次品率不超过标称值,则接收该批零配件。
这个问题需要建立数学模型,优化抽样检测的次数,同时满足上述信度和决策要求。
针对问题 1,我们需要设计一种抽样检测方案,以在一定的信度下确定零配件(零配件 1 或零配件 2)的次品率是否超过标称值。以下是我们根据给定条件提出的数学模型和决策过程:
数学模型建立
设定以下参数和变量:
- 设真正的次品率为 p p p,标称次品率为 p 0 = 0.1 p_0 = 0.1 p0=0.1 (10%)。
- 设检测的样本大小为 n n n。
- 设坏品的数量为 X X X,其中 X ∼ Binomial ( n , p ) X \sim \text{Binomial}(n, p) X∼Binomial(n,p)。
- 设我们希望验证的假设:
- 原假设 H 0 : p ≤ p 0 H_0: p \leq p_0 H0:p≤p0(次品率不超过标称值)
- 备择假设 H 1 : p > p 0 H_1: p > p_0 H1:p>p0(次品率超过标称值)
(1) 95% 的信度下拒收决策
我们希望在 95 % 95\% 95% 的信度下拒绝 H 0 H_0 H0,即我们需要对样本中的次品数量 X X X 的值进行设定,以确保在 H 0 H_0 H0 为真时,拒绝 H 0 H_0 H0 的概率低于 0.05 0.05 0.05。
根据二项分布,我们可以计算拒绝区域:
P ( X ≥ k ∣ p = p 0 ) = 1 − P ( X < k ∣ p = p 0 ) = 1 − ∑ j = 0 k − 1 ( n j ) p 0 j ( 1 − p 0 ) n − j P(X \geq k \mid p = p_0) = 1 - P(X < k \mid p = p_0) = 1 - \sum_{j=0}^{k-1} \binom{n}{j} p_0^j (1 - p_0)^{n-j} P(X≥k∣p=p0)=1−P(X<k∣p=p0)=1−j=0∑k−1(jn)p0j(1−p0)n−j
我们需要找出最小的 k k k,使得:
1 − ∑ j = 0 k − 1 ( n j ) ( 0.1 ) j ( 0.9 ) n − j ≥ 0.95 1 - \sum_{j=0}^{k-1} \binom{n}{j} (0.1)^j (0.9)^{n-j} \geq 0.95 1−j=0∑k−1(jn)(0.1)j(0.9)n−j≥0.95
显然, α = 0.05 \alpha = 0.05 α=0.05 是我们允许的第一类错误的概率。
通过逐步试探邻近的样本大小 n n n 和 k k k 来满足这个条件。
(2) 90% 的信度下接收决策
接下来,我们希望在 90 % 90\% 90% 的信度下接收 H 0 H_0 H0,即我们要设定检测的样本大小 n n n 和次品数量 k k k,使得在 H 0 H_0 H0 为真时,接受 H 0 H_0 H0 的概率大于 0.90 0.90 0.90。
同样使用二项分布,我们有:
P ( X ≤ k ∣ p = p 0 ) = ∑ j = 0 k ( n j ) ( 0.1 ) j ( 0.9 ) n − j P(X \leq k \mid p = p_0) = \sum_{j=0}^{k} \binom{n}{j} (0.1)^j (0.9)^{n-j} P(X≤k∣p=p0)=j=0∑k(jn)(0.1)j(0.9)n−j
我们需要找到最小的 k k k 或最大的 n n n,使得:
P ( X ≤ k ∣ p = 0.1 ) ≥ 0.90 P(X \leq k \mid p = 0.1) \geq 0.90 P(X≤k∣p=0.1)≥0.90
总结与结果
通过上述步骤,我们可以设计检测方案。可以根据具体的数值计算工具(如 Python, R 等)进行具体的计算,以确定在相应信度下所需的样本大小 n n n 及拒收和接收决策的具体区间 ( k , n ) (k, n) (k,n)。
最终获取的样本数量和次品数量的判定将为企业的最终采购决策提供依据。需要注意的是,这一模型在实际应用中还需考虑检验费用等其他因素以实现全面的决策分析。
为了设计适合上述要求的抽样检测方案,我们可以利用假设检验的方法,特别是比例检验。下面将详细介绍如何基于给定条件进行抽样检测设计。
问题 1:抽样检测方案设计
假设设定
设零配件的次品率为 p p p。根据题目中的信息,我们需要:
- 在95%的信度下拒收次品率超过标称值10%的零配件。
- 在90%的信度下接受次品率不超过标称值10%的零配件。
这说明,我们将进行两个不同的假设检验:
-
检验1:
- 原假设 H 0 H_0 H0: p ≤ 0.10 p \leq 0.10 p≤0.10 (次品率不超过10%)
- 备择假设 H 1 H_1 H1: p > 0.10 p > 0.10 p>0.10 (次品率超过10%)
-
检验2:
- 原假设 H 0 H_0 H0: p > 0.10 p > 0.10 p>0.10 (次品率超过10%)
- 备择假设 H 1 H_1 H1: p ≤ 0.10 p \leq 0.10 p≤0.10 (次品率不超过10%)
抽样检测方案
-
样本量计算:
根据大数法则,当样本量较大时,我们可以应用正态近似进行比例的假设检验。样本量 n n n的计算可以基于以下公式:对于95%信度的检验,采用正态分布的性质,查找相应的临界值:
z α ≈ 1.96 z_{\alpha} \approx 1.96 zα≈1.96
我们要保证在假设 p = 0.10 p = 0.10 p=0.10情况下,拒绝原假设的概率为5%。
n = ( z α 2 ⋅ p ( 1 − p ) ( p 0 − p ) 2 ) n = \left(\frac{z_{\alpha}^2 \cdot p(1-p)}{(p_0 - p)^2}\right) n=((p0−p)2zα2⋅p(1−p))
其中 p 0 = 0.10 p_0 = 0.10 p0=0.10, 代入后,我们计算需要的样本量。类似地,对于90%信度的检验:
z β ≈ 1.645 z_{\beta} \approx 1.645 zβ≈1.645
使用同样的公式计算样本量。 -
具体计算:
- 设次品率 p = 0.10 p = 0.10 p=0.10,代入计算得到的 n n n分别为:
- 对于95%信度的拒收条件,样本量可计算为:
n 1 = ( 1.9 6 2 ⋅ 0.10 ⋅ 0.90 ( 0.10 − 实际次品率 ) 2 ) n_1 = \left(\frac{1.96^2 \cdot 0.10 \cdot 0.90}{(0.10 - \text{实际次品率})^2}\right) n1=((0.10−实际次品率)21.962⋅0.10⋅0.90) - 对于90%信度的接收条件,样本量为:
n 2 = ( 1.64 5 2 ⋅ 0.10 ⋅ 0.90 ( 0.10 − 实际次品率 ) 2 ) n_2 = \left(\frac{1.645^2 \cdot 0.10 \cdot 0.90}{(0.10 - \text{实际次品率})^2}\right) n2=((0.10−实际次品率)21.6452⋅0.10⋅0.90)
-
实施方案:
- 实际操作中,企业应初步决定检测样本量,然后随机抽取样本进行质量检验。如果检测试出次品率$ \hat{p} = \frac{x}{n} $, x x x为抽样检测中不合格的零配件数:
- 如果在95%信度下 p ^ > 0.10 \hat{p} > 0.10 p^>0.10,则拒收零配件。
- 如果在90%信度下 p ^ ≤ 0.10 \hat{p} \leq 0.10 p^≤0.10,则接受零配件。
- 实际操作中,企业应初步决定检测样本量,然后随机抽取样本进行质量检验。如果检测试出次品率$ \hat{p} = \frac{x}{n} $, x x x为抽样检测中不合格的零配件数:
结论
根据上述的统计理论方法,我们可以设计出一个合理的抽样检验方案,以优化抽样次数,并确保符合企业在信度下的决策要求。通过计算确定的样本量后,可以高效地进行检测,从而降低生产中的不合格风险。
为了解决第一个问题,我们需要设计一个抽样检测方案,通过建立一个统计模型来确定零配件的次品率是否超过10%。我们将使用假设检验和抽样理论进行分析。
假设检验设定
我们设定以下假设:
- 零假设( H 0 H_0 H0):次品率 p ≤ 0.10 p \leq 0.10 p≤0.10
- 备择假设( H 1 H_1 H1):次品率 p > 0.10 p > 0.10 p>0.10
抽样检测方案设计
根据抽样理论,使用二项分布进行假设检验。设定样本大小为 n n n,在样本中找到的不合格零配件的数量为 X X X。则 X X X服从二项分布:
X ∼ Binomial ( n , p ) X \sim \text{Binomial}(n, p) X∼Binomial(n,p)
其中 p p p为实际的次品率。我们将利用 p = 0.10 p=0.10 p=0.10作为临界值进行判断。
1. 决定样本大小 n n n
我们采用正态近似来估算样本大小。根据中心极限定理,当样本容量足够大时, X X X的分布可以用正态分布近似,因此我们可以写出:
Z = X − n p n p ( 1 − p ) ∼ N ( 0 , 1 ) Z = \frac{X - np}{\sqrt{np(1-p)}} \sim N(0, 1) Z=np(1−p)X−np∼N(0,1)
我们需要设定显著性水平(通常取 α = 0.05 \alpha=0.05 α=0.05,对应于 95 % 95\% 95%的信度),并且需要一个临界值:
Z α = z 0.05 ≈ 1.645 Z_{\alpha} = z_{0.05} \approx 1.645 Zα=z0.05≈1.645
我们将使用这个临界值来确认拒绝 H 0 H_0 H0的条件。因为要拒绝零假设,我们需要满足下列条件:
X − 0.10 n 0.10 ( 1 − 0.10 ) n > z 0.05 \frac{X - 0.10n}{\sqrt{0.10(1-0.10)n}} > z_{0.05} 0.10(1−0.10)nX−0.10n>z0.05
推导出X的临界值后,我们重新整理得到:
X > 0.10 n + z 0.05 0.10 ( 1 − 0.10 ) n X > 0.10n + z_{0.05} \sqrt{0.10(1-0.10)n} X>0.10n+z0.050.10(1−0.10)n
2. 计算样本容量 n n n
我们选择样本容量 n n n使得在正在进行的测试中,我们能够以95%的信心拒绝零假设。
解这个不等式使得样本容量足够大。例如,假设希望最少检出 k k k件次品(通常取决于业务,但我们取 k = 1 k=1 k=1为简单例子),我们希望两边的值相等。于是求解:
1 > 0.10 n + z 0.05 0.10 ( 0.90 ) n 1 > 0.10n + z_{0.05} \sqrt{0.10(0.90)n} 1>0.10n+z0.050.10(0.90)n
试探不同 n n n的取值,最终确定 n n n。
信心接受标准
对于问题2中“在90%的信心下认定零配件次品率不超过标称值”,我们需要类似的步骤:
- 仍然设定零假设和备择假设。
- 设定显著性水平为 α = 0.10 \alpha=0.10 α=0.10,对应的临界值 Z 0.10 ≈ 1.282 Z_{0.10} \approx 1.282 Z0.10≈1.282:
Z = X − n p n p ( 1 − p ) Z = \frac{X - np}{\sqrt{np(1-p)}} Z=np(1−p)X−np
经过类似步骤,最终也可以求出样本容量。
结论
- 设计抽样方案所需的样本大小 n n n可以通过以上的方法,根据选定的信度进行计算。
- 计算样本结果后,通过判断临界值即可决策是否接受或拒绝零配件。
这给出了一种系统化的方法来优化抽样检测过程,并决策是否接收零配件。
要设计一个抽样检测方案,以在95%的信度下确定零配件的次品率是否超过10%,并在90%的信度下判断次品率不超过10%,我们可以利用二项分布来进行推断。
下面是一个Python代码示例,用于实现此检测方案。该代码将计算所需的样本量,以满足上述信度要求:
import scipy.stats as stats
import mathdef calculate_sample_size(p0, alpha, beta):# 计算对比的p1表示真实次品率p1 = p0 + (0.1 * p0) # 下界,可以调节以获取更严格的测试z_alpha = stats.norm.ppf(1 - alpha) # 统计1-α的z值z_beta = stats.norm.ppf(beta) # 统计β的z值# 计算所需的样本量n = ((z_alpha + z_beta) ** 2 * (p1 * (1 - p1) / (p1 - p0) ** 2))return math.ceil(n)# 参数设置
p0 = 0.10 # 标称次品率
alpha1 = 0.05 # 95%信度
beta1 = 0.10 # 90%信度# 计算样本量
sample_size_alpha1 = calculate_sample_size(p0, alpha1, beta1)
print(f'在95%信度下,样本量为: {sample_size_alpha1}')# 针对另一个情况进行计算
alpha2 = 0.1 # 90%信度
beta2 = 0.2 # 80%信度(可以调节,根据具体要求)sample_size_alpha2 = calculate_sample_size(p0, alpha2, beta2)
print(f'在90%信度下,样本量为: {sample_size_alpha2}')
这段代码展示了如何计算在给定的次品率和所需的信度下,为每种情况所需的样本量。它使用了SciPy库中的统计分布函数来获取临界z值,并通过标准的样本量计算公式得出所需的样本量。请确保您已经安装了scipy
库以运行此代码。
问题二
问题 2 的描述是要求为企业在生产过程的各个阶段作出决策。具体要求包括:
-
对零配件(零配件 1 和/或零配件 2)是否进行检测:
- 如果对某种零配件不检测,该零配件将直接进入到装配环节;否则,将检测出的不合格零配件丢弃。
-
对装配好的每一件成品是否进行检测:
- 如果不检测,装配后的成品直接进入到市场;否则,只有检测合格的成品进入到市场。
-
对检测出的不合格成品是否进行拆解:
- 如果不拆解,直接将不合格成品丢弃;否则,对拆解后的零配件,重复步骤(1)和步骤(2)。
-
对用户购买的不合格品:
- 企业将无条件予以调换,并产生一定的调换损失。对于退回的不合格品,重复步骤(3)。
接着要求根据所做的决策,对于给出的情况(表 1 中的情形)提供具体的决策方案,以及决策的依据和相应的指标结果。
总结来说,问题 2 的目的是要求通过决策分析,定义在生产过程中是否对不同阶段的零配件和成品进行检测、拆解等操作,以减少不合格品的产生并优化成本和损失。
在对问题 2 进行建模时,我们将根据给定的企业生产环节和情况进行决策分析。以下是对问题 2 的具体建模步骤和决策方案。
问题概述
企业需要根据每种零配件(零配件 1 和零配件 2)是否进行检测,作出一系列决策,旨在降低不合格成品的概率,控制成本,并最大限度地减少由于不合格品造成的损失。
参数定义
- p 1 p_1 p1: 零配件 1 的次品率
- p 2 p_2 p2: 零配件 2 的次品率
- c p 1 c_{p1} cp1: 零配件 1 的购买单价
- c d 1 c_{d1} cd1: 零配件 1 的检测成本
- c p 2 c_{p2} cp2: 零配件 2 的购买单价
- c d 2 c_{d2} cd2: 零配件 2 的检测成本
- p f p_f pf: 成品的次品率
- c f c_{f} cf: 成品的装配成本
- c d f c_{d_f} cdf: 成品的检测成本
- s s s: 成品的市场售价
- l l l: 调换损失
- c s c_s cs: 拆解费用
决策变量
- x 1 x_1 x1: 是否对零配件 1 进行检测,1 表示进行检测,0 表示不进行。
- x 2 x_2 x2: 是否对零配件 2 进行检测,1 表示进行检测,0 表示不进行。
- x f x_f xf: 是否对成品进行检测,1 表示进行检测,0 表示不进行。
- x d x_d xd: 是否对不合格成品进行拆解,1 表示进行拆解,0 表示不进行。
成本与期望收益模型
我们建立一个成本效益模型以评估不同决策的成本和收益。各项成本如下:
-
采购成本:
- C p u r c h a s e = c p 1 + c p 2 C_{purchase} = c_{p1} + c_{p2} Cpurchase=cp1+cp2
-
检测成本:
- C t e s t i n g = x 1 c d 1 + x 2 c d 2 + x f c d f C_{testing} = x_1 c_{d1} + x_2 c_{d2} + x_f c_{d_f} Ctesting=x1cd1+x2cd2+xfcdf
-
不合格成品损失:
- 若不进行成品检测,成品次品率 p f p_f pf 将直接影响销售情况:根据具体次品率,期望的不合格成品总数为 N ⋅ p f N \cdot p_f N⋅pf,其中 N N N 为装配总件数。
- 若进行成品检测,期望的不合格成品为 ( 1 − ( 1 − p f ) ( 1 − x f ) ) N ⋅ p f (1 - (1 - p_f)(1 - x_f))N \cdot p_f (1−(1−pf)(1−xf))N⋅pf (考虑检测带来的影响)。
-
拆解成本:
- 若选择拆解,拆解费用为 x d c s x_d c_s xdcs。
-
调换损失:
- 调换损失与不合格成品数量成正比,为 l ⋅ E [ 不合格成品 ] l \cdot E[\text{不合格成品}] l⋅E[不合格成品]。
- 调换损失与不合格成品数量成正比,为 l ⋅ E [ 不合格成品 ] l \cdot E[\text{不合格成品}] l⋅E[不合格成品]。
目标函数
目标是最小化总成本:
min C t o t a l = C p u r c h a s e + C t e s t i n g + C s c r a p + C e x c h a n g e + C d i s a s s e m b l e \min C_{total} = C_{purchase} + C_{testing} + C_{scrap} + C_{exchange} + C_{disassemble} minCtotal=Cpurchase+Ctesting+Cscrap+Cexchange+Cdisassemble
其中:
- C s c r a p C_{scrap} Cscrap 是不合格成品带来的总损失。
- C e x c h a n g e C_{exchange} Cexchange 是调换不合格品造成的损失。
决策流程
根据上述模型,我们可以逐步确定在不同情境下的最佳决策:
-
检测零配件 1 和 2(取决于 p 1 p_1 p1, p 2 p_2 p2 和检测成本):
- 若 p 1 > 10 % p_1 > 10\% p1>10% 或 p 2 > 10 % p_2 > 10\% p2>10%,建议检测;否则可以跳过。
-
装配成品:
- 完成装配后,根据成品的次品率和检测选择是否检测成品。
-
对不合格成品的处理:
- 选择是否拆解,以回收合格零配件,并再次进行检测。
-
在最终决策中考虑调换损失:
- 选择最优方案以降低损失。
指标结果
对于每种情况(如表 1),我们将输出最终的决策及预期的经济效益、成本及潜在的损失。
决策示例
对表 1 中第一个情况进行示例决策:
针对问题 2,我们将为企业在生产过程中各个阶段作出决策,包括对零配件及成品的检测、拆解以及处理不合格品。下面将逐一分析表 1 中的情况并制定相应的具体决策方案。
表 1 中的情况分析
情况 | 零配件 1 次品率 | 零配件 1 单价 | 零配件 1 检测成本 | 零配件 2 次品率 | 零配件 2 单价 | 零配件 2 检测成本 | 成品 次品率 | 成品装配成本 | 成品检测成本 | 市场售价 | 调换损失 | 拆解费用 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 10% | 4 | 2 | 10% | 18 | 3 | 10% | 6 | 3 | 56 | 6 | 5 |
2 | 20% | 4 | 2 | 20% | 18 | 3 | 20% | 6 | 3 | 56 | 6 | 5 |
3 | 10% | 4 | 2 | 10% | 18 | 3 | 10% | 6 | 3 | 56 | 30 | 5 |
4 | 20% | 4 | 1 | 20% | 18 | 1 | 20% | 6 | 2 | 56 | 30 | 5 |
5 | 10% | 4 | 8 | 20% | 18 | 1 | 10% | 6 | 2 | 56 | 10 | 5 |
6 | 5% | 4 | 2 | 5% | 18 | 3 | 5% | 6 | 3 | 56 | 10 | 40 |
决策方案
在制定决策方案时,我们需要平衡成本、合格率以及最终市场和用户体验的影响。以下是针对每种情形的分析和决策。
情况 1
-
零配件检测:进行检测。
- 检测出不合格的比例:假设检测样本为 n n n,则不合格比例为 10 % 10\% 10%。
- 拒收判断:在95%的信度下检测,如发现次品 > 10 % >10\% >10%则拒收。
-
成品装配:进行成品的检测。
- 次品率:10%,会导致市场上也会有不合格品。
-
不合格成品处理:拆解不合格产品。
- 分析拆解成本:与处理成本对比,看是否接受。
情况 2
-
零配件检测:进行检测。
- 拒收判断:在95%的信度下检测,如发现次品 > 20 % >20\% >20%拒收。
-
成品装配:也要检测成品。
- 由于成品次品率为20%,可以考虑不装配不合格产品。
-
不合格成品处理:建议选择拆解,以减少损失。
情况 3
-
零配件检测:进行检测,次品率较低。
-
成品处理:可直接装配与检测。
-
不合格产品:由于调换损失较高(30),合理检测是更好的选择。
情况 4
-
零配件检测:应进行,因为检测费用低。
-
成品检测:应进行检测以避免高调换损失(30)。
情况 5
-
零配件检测:可以直接进入装配环节,但考虑5%的次品率,建议进行简单抽样检测。
-
成品装配:应进行检测以避免市场不合格产品。
-
处理不合格成品:捡拆解成本,如确认次品后。
情况 6
为了针对问题 2 提出决策方案,我们需要分析不同零配件和成品的次品率、成本、市场售价等因素,从而确定是否在生产过程中对零配件和成品进行质量检测,以及不合格品的处理方式。以下是详细的决策方案及其依据。
情况分析(表 1)
情况 | 零配件 1 次品率 | 零配件 1 购买单价 | 零配件 1 检测成本 | 零配件 2 次品率 | 零配件 2 购买单价 | 零配件 2 检测成本 | 成品 次品率 | 成品 装配成本 | 成品 检测成本 | 市场售价 | 调换损失 | 拆解费用 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 10% | 4 | 2 | 10% | 18 | 3 | 10% | 6 | 3 | 56 | 6 | 5 |
2 | 20% | 4 | 2 | 20% | 18 | 3 | 20% | 6 | 3 | 56 | 6 | 5 |
3 | 10% | 4 | 2 | 10% | 18 | 3 | 10% | 6 | 3 | 56 | 30 | 5 |
4 | 20% | 4 | 1 | 20% | 18 | 1 | 20% | 6 | 2 | 56 | 30 | 5 |
5 | 10% | 4 | 8 | 20% | 18 | 1 | 10% | 6 | 2 | 56 | 10 | 5 |
6 | 5% | 4 | 2 | 5% | 18 | 3 | 5% | 6 | 3 | 56 | 10 | 40 |
决策方案
对于每一种情况,我们应该考虑以下几点:
-
对零配件是否检测:
- 由于次品率和检测成本的不同,我们需要计算检测后期望的损失和收益,比较如果不检测直接进行装配的期望损失。
定义检测权衡:
- 期望损失:如果检测,则认为检测出的不合格零配件会被丢弃,计算为:
期望损失 = ( 1 − p ) × 市场售价 − 装配成本 − 检测成本 \text{期望损失} = (1 - p) \times \text{市场售价} - \text{装配成本} - \text{检测成本} 期望损失=(1−p)×市场售价−装配成本−检测成本 - 其中 p p p为合格率,合格率为 1 − 次品率 1 - \text{次品率} 1−次品率。
-
对装配完成的成品是否检测:
- 由于不合格成品的调换损失和市场售价,我们需要分析是否值得进行成品检测。
-
对不合格成品的处理:
- 拆解不合格成品的决定应基于拆解费用与预计的重新使用零配件的价值。
决策制定
情况 1:
- 零配件 1 和零配件 2 均次品率为 10%:
- 检测成本低且不做检测发送至市场,期望损失低于检测成本。
- 选择不检测。
情况 2:
- 零配件 1 和零配件 2 均次品率为 20%:
- 两种零配件的次品率均高,建议首先进行检测以避免大的调换损失。
- 建议检测两种零配件。
情况 3:
- 由于拆解后的零配件成本考虑,若次品率较低,选择拆解。
- 选择检测。
情况 4:
- 选择检测零配件 1,避免过高的调换损失。
情况 5 & 6:
- 次品率较高的情况下,建议对零配件 2 进行检测以降低风险
为了处理问题2,我们需要为企业的生产过程建立一个决策模型。以下是解决方案的Python代码,其中通过设置决策逻辑来决定是否对零配件和成品进行检测、是否拆解不合格品等。代码的核心思路是通过对不同情况进行迭代计算来决定最佳的选择。
import numpy as np# 定义情况数据
situations = [{"零配件1次品率": 0.10, "购买单价1": 4, "检测成本1": 2,"零配件2次品率": 0.10, "购买单价2": 18, "检测成本2": 3,"成品次品率": 0.10, "装配成本": 6, "检测成本成品": 3,"市场售价": 56, "调换损失": 6, "拆解费用": 5},{"零配件1次品率": 0.20, "购买单价1": 4, "检测成本1": 2,"零配件2次品率": 0.20, "购买单价2": 18, "检测成本2": 3,"成品次品率": 0.20, "装配成本": 6, "检测成本成品": 3,"市场售价": 56, "调换损失": 6, "拆解费用": 5},# 其他情况...
]def evaluate_decision(situation):# 提取情况数据rp1 = situation["零配件1次品率"]price1 = situation["购买单价1"]test_cost1 = situation["检测成本1"]rp2 = situation["零配件2次品率"]price2 = situation["购买单价2"]test_cost2 = situation["检测成本2"]rp_product = situation["成品次品率"]assembly_cost = situation["装配成本"]test_cost_product = situation["检测成本成品"]market_price = situation["市场售价"]return_loss = situation["调换损失"]disassembly_cost = situation["拆解费用"]# 逻辑判断decision_results = {}# 1. 对零配件进行检测的决策decision_results["检测零配件1"] = test_cost1 < (rp1 * price1)decision_results["检测零配件2"] = test_cost2 < (rp2 * price2)# 2. 对成品进行检测的决策decision_results["检测成品"] = test_cost_product < (rp_product * market_price)# 3. 评估潜在损失total_loss = 0if decision_results["检测零配件1"] or decision_results["检测零配件2"]:total_loss += (rp1 * price1 + rp2 * price2)if decision_results["检测成品"]:total_loss += (rp_product * (market_price - assembly_cost)) + return_loss# 4. 评估拆解决定if rp_product > 0:total_loss += disassembly_costdecision_results["预计损失"] = total_lossreturn decision_results# 执行决策评估
results = []
for situation in situations:result = evaluate_decision(situation)results.append(result)# 打印决策结果
for i, result in enumerate(results):print(f"情况 {i + 1}: {result}")
代码说明:
- 数据结构:我们使用字典来存储每种情况的属性,包括次品率、价格、检测成本等信息。
- 决策逻辑:
- 根据检测成本与潜在损失进行决策。
- 考虑对零配件和成品的检测,评估其对总损失的影响。
- 评估每种情况:对定义的每种情况进行评估,并输出相应的决策结果。
此代码的运行结果将会显示基于不同情况的检测决策及其预计损失。这为企业在决策过程中提供了数据支持和建议。
问题三
问题 3 对 m m m 道工序、 n n n 个零配件,已知零配件、半成品和成品的次品率,重复问题 2,给出生产过程的决策方案。图 1 给出了 2 道工序、8 个零配件的情况,具体数值由表 2 给出。
这个问题要求在一个更复杂的场景中,在有多个零配件和工序的情况下,制定生产决策方案,并提供决策依据及相应的指标结果。
要解答问题 3,我们首先需要对给定的情况进行分析,建立决策模型。我们有 $ m = 2 $ 道工序和 $ n = 8 $ 个零配件。对于每一个零配件、半成品和成品,我们已经知道了次品率。接下来,我们可以通过以下几个步骤构建模型。
建模步骤
-
定义变量和参数:
- 设零配件的次品率为 p 1 , p 2 , p 3 , … , p n p_1, p_2, p_3, \ldots, p_n p1,p2,p3,…,pn。
- 设半成品的次品率为 q 1 q_1 q1 和 q 2 q_2 q2(对应于每道工序)。
- 成品次品率为 r r r。
- 各个成本相关参数:
- 购买单价为 c 买 c_{\text{买}} c买
- 检测成本为 c 检 c_{\text{检}} c检
- 装配成本为 c 装 c_{\text{装}} c装
- 拆解费用为 c 拆 c_{\text{拆}} c拆
- 市场售价为 s s s
- 调换损失为 l l l
-
建立决策规则:
- 对每个零配件进行检测的决策:是否检测 $ x_i \in {0, 1} $ (0代表不检测,1代表检测)。
- 对生产出的半成品和成品进行检测的决策: 是否对半成品进行检测 $ y_i \in {0, 1} $ 和对成品进行检测 $ z \in {0, 1} $。
- 对不合格成品进行拆解的决策: 是否拆解 $ w \in {0, 1} $。
-
目标函数:
我们的目标是最大化利润。利润可以表示为:
Profit = Revenue − Cost \text{Profit} = \text{Revenue} - \text{Cost} Profit=Revenue−Cost
具体为:
Profit = s ⋅ ( 1 − r ) ⋅ Total Output − ∑ i = 1 n ( c 买 + c 检 x i ) − ∑ j = 1 m c 装 + ∑ k = 1 p ( l ⋅ Returns ) + w c 拆 \text{Profit} = s \cdot (1 - r) \cdot \text{Total Output} - \sum_{i=1}^n (c_{\text{买}} + c_{\text{检}} x_i) - \sum_{j=1}^m c_{\text{装}} + \sum_{k=1}^p (l \cdot \text{Returns}) + w c_{\text{拆}} Profit=s⋅(1−r)⋅Total Output−i=1∑n(c买+c检xi)−j=1∑mc装+k=1∑p(l⋅Returns)+wc拆 -
约束条件:
- 次品率影响计算的机制:
- 对于每个零配件和半成品,使用次品率来判断合格率:
Yield i = ( 1 − p i ) ⋅ ( 1 − q j ) (对于每个零配件和每道工序) \text{Yield}_i = (1 - p_i) \cdot (1 - q_j) \quad \text{(对于每个零配件和每道工序)} Yieldi=(1−pi)⋅(1−qj)(对于每个零配件和每道工序)
- 对于每个零配件和半成品,使用次品率来判断合格率:
- 对于不合格成品:
Rejected Products = ( 1 − Yield ) ⋅ Total Output \text{Rejected Products} = (1 - \text{Yield}) \cdot \text{Total Output} Rejected Products=(1−Yield)⋅Total Output
- 次品率影响计算的机制:
-
模型求解:
- 所得到的模型为线性规划或整数规划问题,使用合适的优化算法(如单纯形法或分支定界法)进行求解。
- 计算出最优的决策方案,包括是否检测、装配后是否检测、拆解与否等。
具体的数据和指标:
将根据表 2 中每个零配件以及它们相应的次品率、成本等进行输入计算。同时需考虑市场行情、竞争对手状况等动态因素对模型的影响。
通过对每一条工序和零配件的分析,可以最终输出销售产品的数量、检测的次数、预计损失等相关指标结果。
通过这套模型,我们可以制定出最佳的生产决策,降低不合格品的产生,从而提升企业的经济效益和市场竞争力。
在问题 3 中,我们需要对一个具有 m m m 道工序和 n n n 个零配件的生产过程进行合理的决策。根据表 2 中提供的数据,我们可以总结出零配件和半成品的次品率、购买单价、检测成本、装配成本等指标。下面给出具体的决策方案和依据。
数值整理
根据表 2,我们得到以下数据:
零配件 | 次品率 | 购买单价 | 检测成本 | 半成品 次品率 | 装配成本 | 检测成本 | 拆解费用 |
---|---|---|---|---|---|---|---|
1 | 10% | 2 | 1 | 1 | 8 | 4 | 6 |
2 | 10% | 8 | 1 | 2 | 8 | 4 | 6 |
3 | 10% | 12 | 2 | 3 | 8 | 4 | 6 |
4 | 10% | 2 | 1 | - | - | - | - |
5 | 10% | 8 | 1 | 10% | 8 | 6 | 10 |
6 | 10% | 12 | 2 | - | - | - | - |
7 | 10% | 8 | 1 | - | - | - | - |
8 | 10% | 12 | 2 | - | - | - | - |
成品的次品率是所有合格零配件(或半成品)装配后的产品次品率,且有市场售价 200 和调换损失 40。
决策方案
-
零配件检测:
- 所有零配件进行检测。
- 由于每个零配件的次品率为 10%,建议进行检测以确保合格率。如果检测成本相对合理,避免不合格零配件直接进入生产线。
-
半成品检测:
- 对于具有半成品的零配件(1、2、3、5),装配前进行检测,半成品的检测可以减少不合格成品的产生。
- 由于半成品次品率为 10%,建议在装配后的半成品上进行检测,以检测可能存在的问题。
-
成品检测:
- 成品的检测可以选择进行,与此同时,需要考虑市场风险。
- 在检测出不合格成品的情况下,可以选择进行拆解和再检测,避免直接导致大规模的不合格品。
经济效益分析
-
总成本计算:
- 设检测数量为 k k k,则检测总费用为 检测成本 × k \text{检测成本} \times k 检测成本×k。
- 若次品率高,导致的调换损失、拆解费用及后续处理费用也需考虑。
-
实例分析:
假设 1、2、3 零配件经检测后,次品率符合要求(如确认次品率 ≤ 10 % \leq 10\% ≤10%),则直接进入半成品的装配。若某个环节出现次品,需对照成本(如拆解费用与损失)来决定是否进行拆解。
决策依据
- 报价与成本比:在进行检测和装配过程中,检测成本是否低于由此带来的潜在调换损失和拆解费用。
- 次品率压力:次品率如超过设计值,则直接影响市场信誉和销售。
指标结果
- 通过计算,我们设定了各种指标(如总检测成本、预期销售收入、调换损失等),以确保在各种情况下的经济回报最大化。
- 利用决策树分析结果,可以为每一步采取合适的行动。
所有决策均应基于数据分析与经济模型的支持,从而确保生产过程尽量降低次品率带来的影响。
为了解决问题3,我们需要综合考虑零配件的次品率、购买单价、检测成本、装配成本、市场售价、调换损失和拆解费用,设计一套决策方案。下面是基于表2中的数据,具体的决策步骤和决策依据。
情景分析
首先,给出表2中的数值:
零配件 | 次品率 | 购买单价 | 检测成本 | 半成品 | 次品率 | 装配成本 | 检测成本 | 拆解费用 |
---|---|---|---|---|---|---|---|---|
1 | 10% | 2 | 1 | 1 | 10% | 8 | 4 | 6 |
2 | 10% | 8 | 1 | 2 | 10% | 8 | 4 | 6 |
3 | 10% | 12 | 2 | 3 | 10% | 8 | 4 | 6 |
4 | 10% | 2 | 1 | - | - | - | - | - |
5 | 10% | 8 | 1 | - | - | 10% | 8 | 10 |
6 | 10% | 12 | 2 | - | - | - | - | - |
7 | 10% | 8 | 1 | - | - | - | - | - |
8 | 10% | 12 | 2 | - | - | - | - | - |
决策方案
-
检测决策:
- 对所有零配件进行检测,以确保零配件质量,降低整个生产过程中的次品率。
-
装配阶段:
- 对半成品进行质量检测,确保最终产品的合格率。考虑到装配成本和结果的市场售价,建议在装配完成后进行产品检测。
-
替代方案决策:
- 对于检测出的不合格部件和成品,企业需决策是否进行拆解。拆解成本相对较高,因此拆解决策应结合整体成本收益进行权衡。
-
最终产品的市场流通:
- 装配后的成品若不进行检测,次品率将带来风险,因此需要验证成品质量。对于调换损失,应进行成本分析来决定是否以更高的检测投入换取更低的损失。
数学模型
通过数学模型,可以为每个步骤确定总成本模型,以便做出最佳决策。依照如下表达形式:
- 总成本 $ C $:
C = C 购买 + C 检测 + C 装配 + C 拆解 + C 调换损失 C = C_{\text{购买}} + C_{\text{检测}} + C_{\text{装配}} + C_{\text{拆解}} + C_{\text{调换损失}} C=C购买+C检测+C装配+C拆解+C调换损失
- 个体成本:
C 购买 = ∑ j = 1 n ( P j ⋅ ( 1 − R j ) ) 其中 R j = 合格率 C 检测 = ∑ j = 1 n C d j ⋅ D j C 装配 = ∑ 所有半成品 C a i C 拆解 = ∑ 所有不合格品 C s ⋅ S C 调换损失 = 调换品个数 ⋅ L C_{\text{购买}} = \sum_{j=1}^{n} (P_j \cdot (1 - R_{j})) \quad \text{其中 } R_j = \text{合格率} \\ C_{\text{检测}} = \sum_{j=1}^{n} C_{d_j} \cdot D_j \\ C_{\text{装配}} = \sum_{\text{所有半成品}} C_{a_i} \\ C_{\text{拆解}} = \sum_{\text{所有不合格品}} C_{s} \cdot S \\ C_{\text{调换损失}} = \text{调换品个数} \cdot L C购买=j=1∑n(Pj⋅(1−Rj))其中 Rj=合格率C检测=j=1∑nCdj⋅DjC装配=所有半成品∑CaiC拆解=所有不合格品∑Cs⋅SC调换损失=调换品个数⋅L
- 其中变量说明:
- P j P_j Pj 为购买单价
- R j R_{j} Rj 为各零配件的合格率
- C d j C_{d_j} Cdj 为检测成本
- D j D_j Dj 为检测次数
- C a i C_{a_i} Cai 为各半成品的装配成本
- C s C_{s} Cs 为拆解费用
- S S S 为需拆解的不合格品数量
- L L L 为每件不合格品的调换损失
决策依据
- 以下是问题 3 的解答,运用 Python 进行数学建模和决策制定:
import numpy as np
import pandas as pd
from scipy.stats import norm# 定义零配件、半成品和成品的相关数据
data = {'零配件': [1, 2, 3, 4, 5, 6, 7, 8],'次品率': [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1],'购买单价': [2, 8, 12, 2, 8, 12, 8, 12],'检测成本': [1, 1, 2, 1, 1, 2, 1, 2],'半成品次品率': [0.1, 0.1, 0.1, 0, 0, 0, 0, 0],'装配成本': [8, 8, 8, 0, 0, 0, 0, 0],'检验成本(半成品)': [4, 4, 4, 0, 0, 0, 0, 0],'拆解费用': [6, 6, 6, 0, 0, 0, 0, 0],'成品次品率': [0.1, 0.1, 0.1, 0, 0, 0, 0, 0],'市场售价': [200, 200, 200, 200, 200, 200, 200, 200],'调换损失': [40, 40, 40, 0, 0, 0, 0, 0]
}# 转为DataFrame
df = pd.DataFrame(data)# 决策方案
decisions = []# 计算每个零配件的期望成本
for index, row in df.iterrows():defect_rate = row['次品率']purchase_cost = row['购买单价']testing_cost = row['检测成本']# 计算期望价值expected_cost_per_unit = (purchase_cost + testing_cost) * (1 + defect_rate)decision = {'零配件': row['零配件'],
#见完整版
代码解释:
- 导入库:引入
numpy
和pandas
用于数据处理。 - 数据定义:创建一个字典,包含每个零配件的次品率、购买单价等信息。
- DataFrame 转换:将数据转为 pandas DataFrame。
- 决策计算:
- 计算每个零配件的期望成本。
- 根据期望成本与市场售价的比较,决定是否需要检测。
- 结果输出:打印每个零配件的最终决策方案以及总期望成本。
问题四
第四个问题要求重新完成问题 2 和问题 3,假设所涉及的零配件、半成品和成品的次品率都是通过抽样检测方法获得的,而这种抽样检测方法是基于在问题 1 中你所使用的检测方案。
具体来说,第四个问题的内容如下:
- 假设在问题 2 和问题 3 中,所有的零配件、半成品和成品的次品率都是通过抽样检测方法得出的,这个方法要遵循问题 1 中所设定的检测方案。
- 基于这一前提,重新审视并制定针对问题 2 和问题 3 的决策方案。
换句话说,第四个问题的重点是运用在问题 1 中设计的抽样检测方案对零配件、半成品和成品的次品率进行验证,并在获取次品率的基础上,重新进行决策分析,包括是否检测、检测结果处理和后续的拆解等。因此,解决这一问题需要建立新的模型或分析框架,考虑如何根据采样结果作出合理的生产决策。
为了解决问题4,我们需要基于问题1中设计的抽样检测方案,对问题2和问题3中的零配件、半成品、成品的次品率进行验证,并在此基础上制定新的决策方案。以下是解决方案的详细步骤。
1. 抽样检测方案回顾
首先,基于问题1中设计的抽样检测方案,我们需定义:
- 对于零配件,如果希望以95%的信心拒收,且次品率为10%,我们可以使用二项分布的方法进行检测。
假设我们对零配件的次品率进行抽样检测,设样本大小为 n n n,可接受的次品率为 r r r。则拒绝原假设的条件为:
p ^ = X n > r , \hat{p} = \frac{X}{n} > r, p^=nX>r,
其中 X X X为抽样中不合格零配件的数量。我们需要确定最小的样本量 n n n以保证在信心水平为95%的情况下拒绝次品率超过10%(即执行第1条)。
根据正态分布近似法,当样本量足够大时,样本比例 p ^ \hat{p} p^近似服从正态分布:
p ^ ∼ N ( p , p ( 1 − p ) n ) \hat{p} \sim N(p, \sqrt{\frac{p(1-p)}{n}}) p^∼N(p,np(1−p))
2. 次品率的抽样检验和决策依据
在进行抽样检测后,需根据次品率的实际测定结果进行后续决策。我们有以下几个参数:
- p i p_i pi: 第 i i i个零配件的次品率(通过抽样检验得出)
- C d C_d Cd: 检测成本
- C a C_a Ca: 装配成本
- C r C_r Cr: 调换损失
- C s C_s Cs: 拆解费用
3. 决策模型构建
3.1 决策模型概述
-
是否检测零配件:对于每个零配件,如果进行检测,则丢弃不合格的零配件。
目标是最小化期望成本:
E ( C ) = C d ⋅ (检测次数) + C a ⋅ (合格产品数) + C r ⋅ (不合格产品数) + C s ⋅ (拆解次数) E(C) = C_d \cdot \text{(检测次数)} + C_a \cdot \text{(合格产品数)} + C_r \cdot \text{(不合格产品数)} + C_s \cdot \text{(拆解次数)} E(C)=Cd⋅(检测次数)+Ca⋅(合格产品数)+Cr⋅(不合格产品数)+Cs⋅(拆解次数)
-
成品检测:在完成了零配件的检测后,需检查成品的合格性,决定是否进行成品检测。
-
对检测出不合格成品的处理:决定是否拆解不合格的成品,并进行后续的零配件检测。
3.2 具体检测步骤
对每个工序的零配件进行检测:
- 确定样本量 n n n, 使用上述的抽样方案进行检测;
- 处理抽样结果,得到 X X X,进而得出次品率 p ^ \hat{p} p^。
当对零配件进行抽样后,如果抽样结果表明次品率超过10%,则决定不接收该批次零配件;如果次品率显著低于10%,则可以接收。检测结果可以用来更新模型中的参数。
3.3 决策算法
对于每个零配件,使用以下算法:
- 进行抽样检测:执行步骤 1 1 1的抽样检测方案。
- 评估检测结果:
- 如果 X / n > 0.1 X/n > 0.1 X/n>0.1,则拒收该零配件。
- 如果 X / n ≤ 0.1 X/n \leq 0.1 X/n≤0.1, 则继续进入装配环节。
- 成品检测:基于装配的成品次品率,对成品进行检测:
- 如果成品的次品率超过 10 % 10\% 10%,则评估不合格品的处理办法(拆解或报废)。
- 重复拆解流程:对不合格的成品进行拆解,针对拆解后零配件的次品率进行再次检测。
4. 结果评估
通过以上算法,我们可以根据检测的结果得出生产过程各个环节的实际次品率,并依据次品率和生产成本制定具体的生产策略,返回相关的指标结果。
在决策过程中,还需考虑每一环节对整体生产成本的影响,并根据产品的市场售价与调换损失进行权衡,以此减少由于不合格产品所导致的经济损失。
小结
通过重新审视
根据问题4的要求,我们需要对零配件、半成品和成品的次品率进行重新验证和决策,假设这些次品率是通过在问题1中设计的抽样检测方案得到的。下面是一个针对问题4的决策方案框架。
1. 检测方案设计
在问题1中,我们有以下设定:
- 标称次品率为0.10(10%)。
- 在95%的信度下,当我们认为次品率超过这个值时,我们将拒收该批次零配件。
- 在90%的信度下,如果检测结果不超过这个标称值,则我们将接收该批次零配件。
为此,我们可以采用逐步检测的方法:
抽样检测方法
设定零配件的总数量为 N N N,抽样数量为 n n n,次品数量为 x x x。我们使用二项分布来验证次品率,考虑以下步骤:
- 首次抽样检测:
- 从总量 N N N中随机抽取 n n n个样本。
- 计算次品数量 x x x。
有以下判定标准:
- 如果 x / n > 0.10 x/n > 0.10 x/n>0.10,则以95%的信心拒绝该批零配件;否则接受。
- 进一步的次数:
- 若检测结果不合格,可能需要增加抽样次数,进行更深入的检测,确保结果的可靠性。
2. 决策方案
决策框架
对于每一个零配件的次品率,采取以下步骤决策:
-
零配件检测:
- 如果选择进行检测,则进行上述的抽样检测,产生的次品率将用于后续决策。
- 如果不进行检测,假设进料次品率为给定值直接送入装配。
-
成品装配及检测:
- 装配好的成品按照同样的方式进行检测。
- 对于次品率 R c R_c Rc,可设定同样的阈值检测标准。
-
处理不合格成品:
- 对不合格的成品选择是否拆解,考量拆解费用与潜在的回收价值。
- 拆解后分别对零配件和半成品进行同样的抽样检测。
-
用户调换损失计算:
- 无条件调换的成本需要在决策时进行评估,考虑物流成本与企业信誉价值。
3. 决策依据与指标计算
根据上述方案,我们可以定义一系列的指标来评估生产过程中的决策合理性,例如:
-
成本效益分析:
总成本 = C purchase + C inspection + C assembly + C return + C disassembly \text{总成本} = C_{\text{purchase}} + C_{\text{inspection}} + C_{\text{assembly}} + C_{\text{return}} + C_{\text{disassembly}} 总成本=Cpurchase+Cinspection+Cassembly+Creturn+Cdisassembly -
合格率:
R = N good N total ( N good 为合格品数量 ) R=\frac{N_{\text{good}}}{N_{\text{total}}} \quad (N_{\text{good}} \text{为合格品数量}) R=NtotalNgood(Ngood为合格品数量) -
利润:
P = R ⋅ Selling Price − Total Cost P = R \cdot \text{Selling Price} - \text{Total Cost} P=R⋅Selling Price−Total Cost
结论
通过上述的模型设计和决策方案,我们将基于抽样检查的次品率预测各个阶段的决策。合适的检测和丰富的决策规则将为企业在生产中遇到的质量问题提供充分应对,优化成本和提高合格率。最终的决策建议需要结合经济性和技术性分析,以确保最高的生产效率和质量控制。
为解决问题 4,我们首先根据问题 1 中设定的抽样检测方案来获取零配件、半成品和成品的次品率,并在此基础上进行新的决策分析。下面将详细阐述该过程,包括利用 LaTeX 的数学公式表达。
问题 4 模型建立与决策方案
1. 抽样检测方案的设计
根据问题 1,企业决定在 10% 的标称值下,进行抽样检测,抽样次数需要根据所要求的信度(90% 和 95%)进行设定。我们可以利用二项分布进行统计推断。
- (1) 在 95% 的信度下认定零配件的次品率超过标称值:
设 n n n 为抽样数量, k k k 为次品数最多允许运用二项分布的公式:
P ( X ≥ k ) ≤ α P(X \geq k) \leq \alpha P(X≥k)≤α
其中, X ∼ Binomial ( n , p ) X \sim \text{Binomial}(n, p) X∼Binomial(n,p),在 p = 0.1 p = 0.1 p=0.1 的情况下。
-
通过查找或计算,可得 n n n 和 k k k 的具体值以满足此条件。
-
(2) 在 90% 的信度下认定零配件的次品率不超过标称值:
同理,对于 P ( X ≤ k ) ≥ 1 − α P(X \leq k) \geq 1 - α P(X≤k)≥1−α,可以确定相应的 n n n 和 k k k 数值。
2. 次品率的获取
我们将零配件、半成品和成品的元件次品率进行检测,样本结果将作为后续决策的依据。设定:
- 零配件 i i i 的实际次品率为 p i p_i pi,通过抽样检测得到。
- 半成品的次品率 p h p_h ph 是通过装配合格的零配件获得的。在装配时可以定义:
p h = 1 − ( 1 − p 1 ) ( 1 − p 2 ) p_h = 1 - (1 - p_1)(1 - p_2) ph=1−(1−p1)(1−p2) - 成品的次品率 p f p_f pf 通过半成品装配得到,定义为:
p f = 1 − ( 1 − p h ) m p_f = 1 - (1 - p_h)^{m} pf=1−(1−ph)m
其中 m m m 为装配过程中的工序数。
3. 决策方案
-
对零配件的检测决策:
- 如果 p i > 0.1 p_i > 0.1 pi>0.1,则拒绝该零配件。
- 如果 p i ≤ 0.1 p_i \leq 0.1 pi≤0.1,则接受该零配件,并进入生产环节。
-
对成品的检测决策:
- 成品生产后,决定是否进行抽样检测。如果检测合格,则直接销售。如果不合格,则根据 p f p_f pf 决定是拆解还是丢弃。
-
对于不合格成品的拆解决策:
- 拆解后重新检测其中零配件的次品率,重新评估,并决定是否继续进入市场或再选择检验。
-
对退回的不合格品处理:
- 计算调换损失与物流成本,评估是否值得进行调换。
- 对于无条件调换的品,需要记录调换损失计算:
调换损失 = 物流成本 + 企业信誉损失 + … \text{调换损失} = \text{物流成本} + \text{企业信誉损失} + \ldots 调换损失=物流成本+企业信誉损失+…
- 经济评估:
- 可以通过损益分析,基于市场售价 P s P_s Ps 和所有成本进行整体经济效益评估:
盈利 = P s × 合格成品数 − 全部成本 \text{盈利} = P_s \times \text{合格成品数} - \text{全部成本} 盈利=Ps×合格成品数−全部成本
- 可以通过损益分析,基于市场售价 P s P_s Ps 和所有成本进行整体经济效益评估:
结论
在实施以上步骤后,企业可依据检测结果决定相应的生产环节操作。通过精准的抽样检测及后续决策方案,企业能够最大化利润并降低次品率所带来的损失。基于每个零配件和成品的实际统计结果,可以进一步微调决策方案,实现更优生产过程的控制。
针对第四个问题,我们需要重新审视问题2和问题3的决策方案,基于在问题1中设定的抽样检测方案,来确定每个零配件和成品的次品率。这里我们将设计一个新的分析框架,以便在获得结果后进行合适的决策。
问题 4:决策方案
1. 确定抽样检测方案
首先,我们依据问题1中设计的抽样检测方案,在此我们假设标称次品率为10%,并使用适当的统计方法来决定是否接受每批零配件或成品。因为标称值为10%,我们将设置如下的抽样方案:
- 显著水平设定:
- 95%的信度来检测零配件,如果次品率超过10%则拒收。
- 90%的信度来检测成品,如果次品率不超过10%则接收。
2. 决策分析
对于问题2,根据得到的次品率,我们需要进行以下步骤:
-
检测每种零配件:
- 对于零配件1和零配件2,实施抽样检测(基于设定的方案),统计次品率。
- 决定是否丢弃不合格的零配件。
-
装配检测:
- 如果对某种零配件没有选择检测,直接进入装配环节;如果检测合格,则进入市场。
-
成品检测:
- 检测成品,决定是否进入市场。
- 对于不合格成品,决定是否进行拆解。
-
拆解与调换:
- 对不合格成品进行拆解,并重复上面步骤,判断是否丢弃或恢复零配件。
- 统计退回的产品的调换损失和其他净损失。
3. 决策方案示例
以第二个问题为例:
-
对于每个零配件,执行设定的抽样检测:
- 假设对零配件1的检测结果为8个次品,3个合格;对零配件2的检测结果为3个次品,7个合格。
- 如果次品率超出10%,则拒绝接受批次。
-
对成品的检测:
- 假设经过装配后的成品经过检测结果为5个次品,15个合格,依然进入市场。
-
退款与拆解:
- 若有次品被调换,统计成本以及调换损失。
Python代码
import numpy as np# 定义函数来处理问题3
def production_decision(parts_info):total_cost = 0total_revenue = 0total_losses = 0for part in parts_info:defective_rate = part['defective_rate']buy_price = part['buy_price']detection_cost = part['detection_cost']semi_defective_rate = part.get('semi_defective_rate', None)# 估算检测决策if defective_rate > 0.1: # 比如设置检测阈值为10%total_cost += detection_cost# 如果不合格,丢弃continue# 计算装配后的半成品if semi_defective_rate is not None:total_cost += buy_pricetotal_cost += part['assembly_cost']# 假设装配后次品率保持不变if np.random.rand() < semi_defective_rate:total_losses += part['replacement_loss']# 假设市场售价total_revenue += 200 # 假设成品售价net_profit = total_revenue - total_cost - total_lossesreturn net_profit# 定义零配件信息
parts_info = [{'defective_rate': 0.1, 'buy_price': 2, 'detection_cost': 1, 'semi_defective_rate': 0.1, 'assembly_cost': 8, 'replacement_loss': 40},# 添加其他零配件信息...
]# 调用函数
profit = production_decision(parts_info)
print(f"Net Profit from production: {profit}")
更多内容可以点击下方名片详细了解,让小鹿学长带你冲刺国赛夺奖之路!
敬请期待我们的努力所做出的工作!记得关注 鹿鹿学长呀!
这篇关于2024年全国大学生数学建模竞赛(B题) 建模解析|生产过程中的决策问题|小鹿学长带队指引全代码文章与思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!