本文主要是介绍2024 高教社杯 数学建模国赛 (B题)深度剖析|生产过程中的决策问题|数学建模完整代码+建模过程全解全析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题!
CS团队倾注了大量时间和心血,深入挖掘解决方案。通过贝叶斯分析、决策树分析、整数规划等算法,设计了明晰的项目,团队努力体现在每个步骤,确保方案既创新又可行,为大家提供了全面而深入的洞见噢~
让我们来看看国赛(B题)!
完整内容可以在文章末尾领取!
问题一
第一个问题是关于企业如何设计抽样检测方案,以决定是否接收从供应商购买的零配件。具体地,该问题要求企业制定一个抽样检测方案,以尽可能少的检测次数来检测零配件的次品率,且在不同的信度水平下作出决策。问题的详细要求为:
- 在95%的信度下,若检测结果显示零配件次品率超过标称值(10%),则拒收该批零配件;
- 在90%的信度下,若检测结果显示零配件次品率不超过标称值(10%),则接收该批零配件。
这要求建立相应的数学模型,设计合理的抽样方案,并提供具体的结果。
要解决第一个问题,即设计抽样检测方案,我们需要建立一个统计推断模型来判断零配件的次品率是否超过标称值(10%)。我们将采用二项抽样的方法来对这两种情况进行处理。
问题建模
-
设定参数
- 标称次品率: p 0 = 0.1 p_0 = 0.1 p0=0.1
- 真实次品率: p p p
- 抽样大小: n n n
- 抽样中合格零配件数量: k k k(合格数目)
- α:显著性水平,对于95%信度则α=0.05;90%信度则α=0.10。
-
统计量的选择
我们选择二项分布 X ∼ B ( n , p ) X \sim B(n, p) X∼B(n,p)作为我们的抽样分布,其中 X X X表示样本中合格零配件的数量。- 样本统计量计算:
- 合格率: p ^ = k n \hat{p} = \frac{k}{n} p^=nk。
- 样本统计量计算:
-
拒收和接收的条件
-
对于情况 (1):在95%信度下,如果检验的结果满足以下条件,拒绝零配件:
H 0 : p ≤ 0.1 v s H 1 : p > 0.1 H_0: p \leq 0.1 \quad vs \quad H_1: p > 0.1 H0:p≤0.1vsH1:p>0.1
决策规则为:如果 p ^ ≤ 0.1 \hat{p} \leq 0.1 p^≤0.1,则接受,反之则拒绝。 -
对于情况 (2):在90%信度下,如果检验的结果满足以下条件,接收零配件:
H 0 : p ≥ 0.1 v s H 1 : p < 0.1 H_0: p \geq 0.1 \quad vs \quad H_1: p < 0.1 H0:p≥0.1vsH1:p<0.1
决策规则为:如果 p ^ < 0.1 \hat{p} < 0.1 p^<0.1,则接受,反之则拒绝。
-
-
计算抽样大小
-
使用正态近似(中心极限定理),我们可以令:
p ^ ≈ N ( p , p ( 1 − p ) n ) \hat{p} \approx N\left(p, \sqrt{\frac{p(1-p)}{n}}\right) p^≈N(p,np(1−p)) -
对于95%信度的拒收条件,我们需要确保:
P ( p ^ > 0.1 ∣ H 0 ) ≤ 0.05 P\left(\hat{p} > 0.1 \mid H_0\right) \leq 0.05 P(p^>0.1∣H0)≤0.05
这意味着我们需要计算 n n n,使得在 p = 0.1 p = 0.1 p=0.1时,有足够的样本量来保证拒收的概率。 -
类似地,对于90%信度的接收条件:
P ( p ^ < 0.1 ∣ H 1 ) ≤ 0.10 P\left(\hat{p} < 0.1 \mid H_1\right) \leq 0.10 P(p^<0.1∣H1)≤0.10
-
-
样本大小的具体计算
采用统计量的边界,使用二项分布的临界值常数可得到以下公式:-
对于95%信度:
n ≥ ( Z α / 2 p 0 ( 1 − p 0 ) 0.1 ) 2 n \geq \left( \frac{Z_{\alpha/2} \sqrt{p_0(1 - p_0)}}{0.1} \right)^2 n≥(0.1Zα/2p0(1−p0))2
其中 Z 0.025 ≈ 1.96 Z_{0.025} \approx 1.96 Z0.025≈1.96 是95%置信水平对应的Z值。 -
对于90%信度:
n ≥ ( Z α p 0 ( 1 − p 0 ) 0.1 ) 2 n \geq \left( \frac{Z_{\alpha} \sqrt{p_0(1 - p_0)}}{0.1} \right)^2 n≥(0.1Zαp0(1−p0))2
其中 Z 0.05 ≈ 1.645 Z_{0.05} \approx 1.645 Z0.05≈1.645 是90%置信水平对应的Z值。
-
结果
-
具体结果的代入计算
-
设 p 0 = 0.1 p_0 = 0.1 p0=0.1,则 1 − p 0 = 0.9 1-p_0 = 0.9 1−p0=0.9,根据上述公式计算:
-
对于95%信度:
n ≥ ( 1.96 0.1 ⋅ 0.9 0.1 ) 2 ≈ 34 n \geq \left( \frac{1.96 \sqrt{0.1 \cdot 0.9}}{0.1} \right)^2 \approx 34 n≥(0.11.960.1⋅0.9)2≈34 -
对于90%信度:
n ≥ ( 1.645 0.1 ⋅ 0.9 0.1 ) 2 ≈ 27 n \geq \left( \frac{1.645 \sqrt{0.1 \cdot 0.9}}{0.1} \right)^2 \approx 27 n≥(0.11.6450.1⋅0.9)2≈27
-
-
-
结论
- 企业在95%信度下应进行34次抽样;在90%信度下应进行
要解决问题1,我们需要设计一个抽样检测方案,以让企业在尽可能少的检测次数内,判断零配件的次品率是否超过标称值10%。我们将使用统计学中的抽样理论,具体来说是基于二项分布的抽样检测方法。
- 企业在95%信度下应进行34次抽样;在90%信度下应进行
1. 问题背景与目标
企业的目标是以尽可能少的抽样检测次数来判断零配件的次品率。我们需要确保:
- 在95%的信度下,如果次品率超过10%,则拒收该批零配件。
- 在90%的信度下,如果次品率不超过10%,则接收该批零配件。
2. 抽样检验设计
假设从供应商处抽取的样本大小为 n n n,其中有 x x x个次品, n − x n-x n−x个合格。我们需要确定 n n n的值。
(1) 95%的信度水平
在95%的信度水平下、拒收的条件是样本中次品数量超过某个阈值。根据二项分布,我们需要计算出样本量 n n n,使得在假设物品满足次品率为10%的情况下,拒收的概率小于0.05。
设 k k k为拒收的阈值(即当样本中次品个数大于 k k k时拒收),我们可以利用二项分布:
P ( X > k ) < 0.05 , P(X > k) < 0.05, P(X>k)<0.05,
其中 X ∼ B ( n , 0.1 ) X \sim B(n, 0.1) X∼B(n,0.1)。
使用正态近似,对于 n n n样本量较大的情况下, X X X的期望为 n p = n ⋅ 0.1 np = n \cdot 0.1 np=n⋅0.1,方差为 n p ( 1 − p ) = n ⋅ 0.1 ⋅ 0.9 np(1-p) = n \cdot 0.1 \cdot 0.9 np(1−p)=n⋅0.1⋅0.9。通过查找Z表或使用计算工具找到对应于0.05拒绝区域的Z值(通常为1.645),我们可以通过以下不等式推导出 n n n:
P ( Z > k − n ⋅ 0.1 n ⋅ 0.1 ⋅ 0.9 ) = 0.05 ⇒ k − n ⋅ 0.1 n ⋅ 0.1 ⋅ 0.9 = 1.645 P\left(Z > \frac{k - n \cdot 0.1}{\sqrt{n \cdot 0.1 \cdot 0.9}} \right) = 0.05 \Rightarrow \frac{k - n \cdot 0.1}{\sqrt{n \cdot 0.1 \cdot 0.9}} = 1.645 P(Z>n⋅0.1⋅0.9k−n⋅0.1)=0.05⇒n⋅0.1⋅0.9k−n⋅0.1=1.645
即解出
k − n ⋅ 0.1 = 1.645 n ⋅ 0.1 ⋅ 0.9 k - n \cdot 0.1 = 1.645 \sqrt{n \cdot 0.1 \cdot 0.9} k−n⋅0.1=1.645n⋅0.1⋅0.9
具体选择合适的 n n n和 k k k,例如如果设定 k = 3 k = 3 k=3,通过计算,可以得出较小的 n n n例如 n = 30 n=30 n=30。
(2) 90%的信度水平
相似的思路用于90%的信度水平,只需将Z值改为1.645(对应于左侧接收)。设 k k k为接收的阈值:
P ( X ≤ k ) ≥ 0.90 P(X \leq k) \geq 0.90 P(X≤k)≥0.90
与上述方法相同可以求出样本量。
3. 抽样方案总结
- 对于95%的信度,进行30次抽样,如果出现超过3个次品则拒收。
- 对于90%的信度,进行30次抽样,如果次品数量不超过3,则接收。
结论
通过上述计算,我们设计了一个抽样检测方案,最大化了检测结果的可靠性同时保持了效率。该方案可根据供应商的具体情况下进行微调,并提供了一定的灵活性以适应不同生产环境中的实际需求。
这种基于二项分布的抽样方法为企业提供了一种可量化且有效的决策工具,从而在产品质量控制中,保持技术和经济的优势。
为了建立抽样检测方案以决定是否接收从供应商购买的零配件,我们可以使用统计方法中的假设检验来处理这一问题。这涉及到制定抽样方案,计算样本大小并进行相应的决策。
问题 1 的解答:
设我们要抽取的样本大小为 n n n,且对某种零配件的次品率用 p p p 表示。我们需要根据以下两种情况设计抽样检测方案:
情形一:95%的信度下拒收次品率超过10% 的零配件
我们的原假设( H 0 H_0 H0)和备择假设( H 1 H_1 H1)为:
- H 0 H_0 H0: 次品率 p ≤ 0.1 p \leq 0.1 p≤0.1
- H 1 H_1 H1: 次品率 p > 0.1 p > 0.1 p>0.1
根据中央极限定理,当样本量 n n n 足够大时,样本比例 p ^ \hat{p} p^ 服从正态分布,且其标准差为:
σ p ^ = p ( 1 − p ) n \sigma_{\hat{p}} = \sqrt{\frac{p(1 - p)}{n}} σp^=np(1−p)
顶点决定决定检验边界,我们可选择显著性水平 α = 0.05 \alpha = 0.05 α=0.05(对于95%的信度)。
我们要求得拒绝域的边界值,依据标准正态分布的 Z 值,我们知道当 α = 0.05 \alpha = 0.05 α=0.05 时, Z 0.05 ≈ 1.645 Z_{0.05} \approx 1.645 Z0.05≈1.645。
根据统计推断的性质,对于样本比例 p ^ \hat{p} p^,我们有:
p ^ > p 0 + Z α ⋅ σ p ^ \hat{p} > p_0 + Z_{\alpha} \cdot \sigma_{\hat{p}} p^>p0+Zα⋅σp^
将 p 0 = 0.1 p_0 = 0.1 p0=0.1 代入:
p ^ > 0.1 + 1.645 ⋅ 0.1 ( 1 − 0.1 ) n \hat{p} > 0.1 + 1.645 \cdot \sqrt{\frac{0.1(1-0.1)}{n}} p^>0.1+1.645⋅n0.1(1−0.1)
我们可以用不等式推理来计算 n n n 的最小取值。
经过化简过程,我们得到:
p ^ > 0.1 + 1.645 ⋅ 0.3 n \hat{p} > 0.1 + \frac{1.645 \cdot 0.3}{\sqrt{n}} p^>0.1+n1.645⋅0.3
⇒ n > ( 1.645 ⋅ 0.3 p ^ − 0.1 ) 2 \Rightarrow n > \left( \frac{1.645 \cdot 0.3}{\hat{p} - 0.1} \right)^2 ⇒n>(p^−0.11.645⋅0.3)2
假设检测比例 p ^ \hat{p} p^ 预期为0.1,我们需要解 n n n。
情形二:90%的信度下接收次品率不超过10% 的零配件
此时我们的假设变为:
- H 0 H_0 H0: 次品率 p ≥ 0.1 p \geq 0.1 p≥0.1
- H 1 H_1 H1: 次品率 p < 0.1 p < 0.1 p<0.1
此时显著性水平为 α = 0.1 \alpha = 0.1 α=0.1,从正态分布中得出 Z 0.1 ≈ 1.28 Z_{0.1} \approx 1.28 Z0.1≈1.28。对于接收的决策,我们有:
p ^ < p 0 − Z α ⋅ σ p ^ \hat{p} < p_0 - Z_{\alpha} \cdot \sigma_{\hat{p}} p^<p0−Zα⋅σp^
将 p 0 = 0.1 p_0 = 0.1 p0=0.1 代入:
p ^ < 0.1 − 1.28 ⋅ 0.1 ( 1 − 0.1 ) n \hat{p} < 0.1 - 1.28 \cdot \sqrt{\frac{0.1(1-0.1)}{n}} p^<0.1−1.28⋅n0.1(1−0.1)
同样地,整理得到:
n > ( 1.28 ⋅ 0.3 0.1 − p ^ ) 2 n > \left( \frac{1.28 \cdot 0.3}{0.1 - \hat{p}} \right)^2 n>(0.1−p^1.28⋅0.3)2
在规定的样本比例下选择 p p p 的临界值进行计算,决定最后需要取的 n n n。
总结
利用上述公式,企业在两种情况下需要计算出具体的样本数量 n n n。提供准则以帮助决策,确保在有效的信度下处理零配件的接收问题。注意在实际操作中还需考虑零配件的实际以及其他经济因素影响。
要解决第一个问题,我们将建立一个基于二项分布的抽样方案。主要步骤如下:
- 确定抽样大小 ( n )。
- 按照所需的信度计算拒收和接收的临界值。
- 使用二项分布计算检测次数最少的方案。
我们假设零配件的次品率为 ( p = 0.1 )(10%),并且拒收和接收的条件分别是:
- 在95%信度下拒收次品率超过0.1
- 在90%信度下接收次品率不超过0.1
为此,我们可以使用Python编写相应的代码来计算所需的抽样大小和结果。
以下是实现这一方案的Python代码:
import scipy.stats as stats
import mathdef sample_size(acceptance_rate, confidence_level):# 计算样本大小z = abs(stats.norm.ppf((1 - confidence_level) / 2)) # z值p = acceptance_rate # 次品率n = (z**2 * p * (1 - p)) / (0.01**2) # 抽样公式return math.ceil(n) # 向上取整def decision_scheme():tolerance_rate = 0.1 # 次品率10%# 问题1 (1)n1 = sample_size(tolerance_rate, 0.95) # 95%信度print(f'在95%信度下的抽样次数: {n1}')# 问题1 (2)n2 = sample_size(tolerance_rate, 0.90) # 90%信度print(f'在90%信度下的抽样次数: {n2}')decision_scheme()
在上面的代码中,我们首先定义一个计算样本大小的函数 sample_size
,它接收次品率和信度作为输入参数,并返回所需的样本数量。然后,定义 decision_scheme
函数来调用 sample_size
,并计算在不同信度下的抽样次数。
运行此代码后,它将会输出在95%和90%信度下所需的抽样次数。该方案可以帮助企业以最小的检测次数来评估采购零配件的质量。
问题二
第二个问题是关于企业在生产过程中对零配件和成品进行检测和决策的具体流程。问题分为以下几个部分:
-
对零配件(零配件 1 和/或零配件 2)是否进行检测:企业需要决定是否对某种零配件进行检测,如果选择不检测,那么这些零配件将直接进入装配环节。如果进行检测,则需丢弃检测出不合格的零配件。
-
对装配好的每一件成品是否进行检测:企业需要决定是否对装配完成的成品进行检测,不检测的话,合格的成品将直接进入市场;如果检测,则只有检测合格的成品才能进入市场。
-
对检测出的不合格成品是否进行拆解:对于检测不合格的成品,企业需决定是否拆解这些成品。若选择拆解,拆解后需要重新进行零配件的检测和成品的检测;若不拆解,则直接将不合格成品丢弃。
-
对用户购买的不合格品的处理:企业对用户退回的不合格品需要进行处理,并根据调换损失的情况作出相应决策,同时需要考虑到调整损失。
针对上述决策过程,需给出具体的决策方案以及决策的依据和相应的指标结果。
在问题2中,我们需要为企业的生产过程制定一个决策方案,包括零配件和成品的检测、处理不合格品的方式等。我们将依照以下步骤进行分析和建模:
一、决策步骤
-
零配件检测决策:
- 对于零配件1和零配件2,决策是进行检测还是不进行检测,如果进行检测,则需要丢弃不合格的零配件。
- 设计一个决策变量 D 1 D_1 D1和 D 2 D_2 D2,分别表示零配件1和零配件2的检测决策, D = 1 D = 1 D=1表示进行检测, D = 0 D = 0 D=0表示不进行检测。
-
成品检测决策:
- 对于装配完成的每一件成品,决策是进行检测还是不进行检测。
- 设计一个决策变量 D P D_{P} DP,表示成品的检测决策, D P = 1 D_{P} = 1 DP=1表示进行检测, D P = 0 D_{P} = 0 DP=0表示不进行检测。
-
不合格成品拆解决策:
- 对于检测出的不合格成品,决策选择是否拆解它们。
- 设计一个决策变量 D C D_{C} DC,表示不合格成品的拆解决策, D C = 1 D_{C} = 1 DC=1表示拆解, D C = 0 D_{C} = 0 DC=0表示不拆解。
-
用户退回不合格品的处理:
- 对于用户的不合格品,需要考虑调换损失 L L L,并相应地进行处理。
二、模型建立
1. 成本计算模型
定义各个成本参数为 C d , C m , C t , C s , C u C_d, C_m, C_t, C_s, C_u Cd,Cm,Ct,Cs,Cu:
- C d C_d Cd: 检测成本。
- C m C_m Cm: 装配成本。
- C t C_t Ct: 拆解费用。
- C u C_u Cu: 调换损失。
- C r C_r Cr: 购置成本。
最终的目标是最小化总成本 M i n i m i z e C t o t a l Minimize \ C_{total} Minimize Ctotal:
C t o t a l = C r + C d + C m + C t + C u C_{total} = C_r + C_d + C_m + C_t + C_u Ctotal=Cr+Cd+Cm+Ct+Cu
2. 利润模型
定义市场售价以 P P P 表示,以及成品的合格率 Q Q Q,则利润公式为:
P r o f i t = P ⋅ Q − C t o t a l Profit = P \cdot Q - C_{total} Profit=P⋅Q−Ctotal
3. 基于实际情况的决策:
情况 1:
- 当 D 1 = 1 D_1 = 1 D1=1, D 2 = 1 D_2 = 1 D2=1,进行双零配件检测
- 检测出的不合格品率为 r i r_i ri ( i = 1 , 2 i=1,2 i=1,2) ,二者次品率分别为 10 % 10\% 10% 、 20 % 20\% 20%,则检测合格的有效率为 0.9 0.9 0.9、 0.8 0.8 0.8。
- 成品的装配次品率如果为 10 % 10\% 10%,假设装配 N N N 件,则合格件数 $N \cdot (1 - r_1)(1 - r_2) \cdot (1 - r_{Finished}) $,将合格品售出,从而得到相应的总支出和收入。
情况 2:
- 当 D 1 = 0 D_1 = 0 D1=0, D 2 = 0 D_2 = 0 D2=0,不进行任何零配件检测。
- 成品当前的状态将严格依赖于零配件的次品率和装配的成品率。
三、决策方案示例
基于上述模型,我们给出简化决策方案如下:
-
对于检测量选择:
- 假设 D 1 = 1 D_1 = 1 D1=1且 D 2 = 1 D_2 = 1 D2=1(进行检测),则提前耗费的检测成本 C d = 8 元 C_d = 8\text{元} Cd=8元。
- 假设生产进行成品检测,则 D P = 1 D_{P} = 1 DP=1,其检测成本 C d C_d Cd也是。
-
装配阶段:
- 假设装配 N = 1000 N = 1000 N=1000,总装配成本为 1000 ⋅ 6 = 6000 元 1000 \cdot 6 = 6000\text{元} 1000⋅6=6000元。
-
处理不合格品:
- 将检测出的不合格品按比例拆解,则拆解费用计算为 C t C_t Ct。
-
综合分析:
- 根据利润模型进行各状况的分析。
- 计算不同情况下的利润和损失,根据实际结果决定采用何种检测策略。
最后,总结出对于该企业在生产过程中对零配件和成品进行检测和决策的具体流程,可以按照以下步骤进行:
问题 2 解决方案
我们根据表1中提供的情况,逐一分析各个步骤,做出决策。
步骤1:决定对零配件进行检测
方案1: 针对零配件1与零配件2的次品率,我们需要比较检测成本与潜在的损失。在出售时,若不合格零配件进入装配环节,将导致装配的成品不合格,从而会产生额外的调换损失。
若检测零配件1的情况下:
- 检测成本为2元/件,次品率为10%,则对于100件零配件,预计有10件不合格,成本即为检测成本 + 丢弃不合格品成本。
- 同样的计算针对零配件2。
可以建立以下模型:
对于零配件 $ i $ ,假设购买 $ n $ 件
- 预计次品数量:$ E[Q_i] = n \cdot p_i ,其中 ,其中 ,其中p_i$为次品率。
- 预计的总成本:$ C_i = C_{检测} + C_{丢弃} = C_{检测}(n) + C_{购买}(E[Q_i]) $,其中 $ C_{检测} $ 为检测成本,$ C_{丢弃} $ 为丢弃不合格品的成本。
根据上面的计算和比较,可以决定是否对零配件进行检测。
步骤2:决定对装配后的成品检测
方案2: 同样的逻辑可以应用于成品装配后。对成品进行检测的判断依据是:
- 成品整年次品率是10%,若进行检测,将丢弃不合格成品,并考虑调换损失。
设 p 成品 = 10 % p_{成品} = 10\% p成品=10%,
- 如果不检测,预计有 n ⋅ p 成品 n \cdot p_{成品} n⋅p成品 的不合格成品,损失为 收入 − 调换损失 收入 - 调换损失 收入−调换损失。
步骤3:决定对不合格成品拆解
方案3: 对于检测出不合格成品,企业须考虑拆解与不拆解的成本。
- 拆解费用为6元,如果选择拆解,企业需重新检测零配件与成品,增加了成本。
我们可以将拆解后的零配件再次进行上述步骤的检测与评估。
步骤4:处理不合格品
方案4: 对于消费者的退回不合格品,根据产出的合格品数量进行分析:
- 需对退回的不合格品产生的调换损失进行评估(如物流成本、信誉等)。
总决策方案示例
根据上面的步骤,展示特定实例(举例情况1):
- 对零配件1进行检测,判断其检测成本是否低于潜在损失;
- 对零配件2根据次品率与成本进行相同决策;
- 对装配的成品进行检测;
- 对检测出不合格的成品,决定是否进行拆解;
- 对用户退货的不合格品,评估对应的调换损失。
例如,在情况 1 中:
- 对零配件检测后,次品数量小于阈值,可以接收。
- 装配成品后,决策是否进行检测,计算检测与调换之间的成本,选择最佳方案。
建议决策依据:
- 成本效益分析和次品率评估
- 实际的拆解与调换损失对整体利润的影响
指标结果:
- 预计的合格产品数量
- 调换损失的预估
- 整个生产与拆解费用的控制
结论
以上决策过程展示了如何在生产过程中对零配件与成品进行有效的检测和决策,最终将使企业在成本把控与质量保障之间取得平衡。同时,灵活运用决策模型有助于在不断变化的市场中保持竞争力。
针对问题 2 的生产过程决策方案,可以按照以下步骤进行分析和决策。我们将对零配件、成品的检测与拆解进行具体选择,并提供相应的决策依据及指标结果。
问题 2 決策方案
设定
对表 1 中的各情况提供详细决策方案,并给出合理的依据:
- 零配件 1 和 2 的次品率分别为 p 1 p_1 p1 和 p 2 p_2 p2。
- 成品次品率为 p f p_{f} pf。
- 购买单价、检测成本、装配成本、市场售价、调换损失与拆解费用如表中所示。
决策步骤
-
零配件检测:
- 对于零配件 1 和 2,我们需评估是否进行检测。假设我们选择对零配件 1 进行检测。
- 若检测零配件 1,设定显著性水平 α = 0.05 \alpha = 0.05 α=0.05,针对次品率 p 1 = 10 % p_1=10\% p1=10%,通过抽样决定拒收或接收。
- 通常样本大小 n n n 可以通过以下不等式确定:
n ≥ ( Φ − 1 ( 1 − α / 2 ) ⋅ p 1 ( 1 − p 1 ) ) 2 ( p 0 − p 1 ) 2 n \geq \frac{(\Phi^{-1}(1-\alpha/2) \cdot p_1(1 - p_1))^2}{(p_{0} - p_1)^2} n≥(p0−p1)2(Φ−1(1−α/2)⋅p1(1−p1))2
其中 p 0 p_{0} p0 是我们拒收推断的上限。
-
成品检测:
- 已装配完成的成品也需要进行检测。假设我们选择进行检测,故合格成品进入市场,不合格成品根据次品率 p f p_{f} pf 进行处理。
- 检测成品的成本需被考虑,决策是否在成本效益上是值得的。
-
不合格成品的拆解决策:
- 对检测出的不合格成品进行拆解、丢弃或是重检的决策应考虑拆解费用及检测为正品的可能性。
- 若拆解可减少总体损失,且次品率较高,建议拆解。
-
调换损失评估:
- 对于用户退回的不合格商品,考虑物流成本、信誉损失等。建立期望损失模型,以此指导调换决策:
E ( L o s s ) = q × P r e c a l l E(Loss) = q \times P_{recall} E(Loss)=q×Precall
其中 q q q 为调换损失的成本, P r e c a l l P_{recall} Precall 为退回商品的概率。
- 对于用户退回的不合格商品,考虑物流成本、信誉损失等。建立期望损失模型,以此指导调换决策:
决策方案示例
情况 | 零配件 1 (检测) | 零配件 2 (检测) | 成品 (检测) | 拆解 (是否) | 调换损失 |
---|---|---|---|---|---|
1 | 是 | 是 | 是 | 否 | 6 |
2 | 是 | 是 | 否 | 是 | 6 |
3 | 是 | 是 | 是 | 否 | 30 |
4 | 否 | 否 | 否 | 否 | 30 |
5 | 是 | 否 | 是 | 是 | 10 |
6 | 是 | 是 | 否 | 否 | 10 |
依据与指标结果
- 在上述决策中,选择是否进行检测主要依据零配件及成品的次品率、市场售价和损失等进行综合考量。
- 期望利润、损失和合格率互为支撑,影响最终决策。
指标表达:
- 总成本为 C = C b u y + C t e s t + C a s s e m b l e + C r e c a l l C = C_{buy} + C_{test} + C_{assemble} + C_{recall} C=Cbuy+Ctest+Cassemble+Crecall。
- 总收入为 R = P m a r k e t ⋅ Q s e l l R = P_{market} \cdot Q_{sell} R=Pmarket⋅Qsell,其期望值可基于成品合格率 q f q_{f} qf 进行算出。
结论
通过上述决策分析,企业可依照成本-效益进行必要的检测与拆解,从而减少因不合格产品带来的损失。这不仅提高了生产过程中的效率,也增强了市场竞争力。
为了解决问题 2 的决策方案,我们需要建立一个简单的模型来决定是否对各个零配件进行检测,以及如何处理装配后的成品和不合格成品。下面是一个 Python 代码示例,旨在帮助企业做出最优的决策。
在这个示例中,我们将根据每个零配件的次品率、购买单价和检测成本计算出是否进行检测的期望成本,并最终决定对每个部件和成品的处理方式。
import numpy as np# 定义情况的参数
cases = [{'次品率1': 0.1, '购买单价1': 4, '检测成本1': 2, '次品率2': 0.1, '购买单价2': 18, '检测成本2': 3,'次品率成品': 0.1, '装配成本': 6, '检测成本成品': 3, '市场售价': 56, '调换损失': 6, '拆解费用': 5},{'次品率1': 0.2, '购买单价1': 4, '检测成本1': 2, '次品率2': 0.2, '购买单价2': 18, '检测成本2': 3,'次品率成品': 0.2, '装配成本': 6, '检测成本成品': 3, '市场售价': 56, '调换损失': 6, '拆解费用': 5},{'次品率1': 0.1, '购买单价1': 4, '检测成本1': 2, '次品率2': 0.1, '购买单价2': 18, '检测成本2': 3,'次品率成品': 0.1, '装配成本': 6, '检测成本成品': 3, '市场售价': 56, '调换损失': 30, '拆解费用': 5},{'次品率1': 0.2, '购买单价1': 4, '检测成本1': 1, '次品率2': 0.2, '购买单价2': 18, '检测成本2': 1,'次品率成品': 0.2, '装配成本': 6, '检测成本成品': 2, '市场售价': 56, '调换损失': 30, '拆解费用': 5},{'次品率1': 0.1, '购买单价1': 4, '检测成本1': 8, '次品率2': 0.2, '购买单价2': 18, '检测成本2': 1,'次品率成品': 0.1, '装配成本': 6, '检测成本成品': 2, '市场售价': 56, '调换损失': 10, '拆解费用': 5},{'次品率1': 0.05, '购买单价1': 4, '检测成本1': 2, '次品率2': 0.05, '购买单价2': 18, '检测成本2': 3,'次品率成品': 0.05, '装配成本': 6, '检测成本成品': 3, '市场售价': 56, '调换损失': 10, '拆解费用': 40}
]# 决策函数
def decision_plan(cases):results = []for case in cases:# 计算预计成本cost1_with_check = (case['次品率1'] * case['购买单价1'] + case['检测成本1']) / (1 - case['次品率1'])#见完整
问题三
第三个问题是针对某企业在生产过程中涉及的多道工序和多个零配件提出的决策问题。具体内容如下:
问题 3:对 ( m ) 道工序、( n ) 个零配件,已知零配件、半成品和成品的次品率,重复问题 2,给出生产过程的决策方案。图 1 给出了 2 道工序、8 个零配件的情况,具体数值由表 2 给出。
本问题要求针对每个零配件和半成品的生产流程进行决策,与第二个问题类似,包括检测、装配、市场销售等环节,目的是在已知各环节次品率的情况下优化生产决策,降低整体成本并提高成品的质量。
在表 2 中列出了8个零配件和它们在不同工序中的次品率、单位购买价、检测成本、半成品次品率、装配成本、以及相应的市场售价和调换损失等数据,作为决策的依据。
请根据这些数据设计出具体的决策方案,并给出决策的依据及相应的指标结果。
问题 3 的数学建模与决策方案
在本问题中,涉及 2 道工序和 8 个零配件的生产过程决策。我们的目标是优化检测、装配及市场销售等环节,以降低整体成本并提高成品质量。
1. 模型构建
设定参数:
-
对于每个零配件 ( i )(( i = 1, 2, \ldots, 8 )):
- 次品率 ( p_i )
- 购买单价 ( c_{buy,i} )
- 检测成本 ( c_{det,i} )
-
对于每个半成品 ( j )(根据工序而定):
- 半成品次品率 ( p_{f,j} )
- 装配成本 ( c_{assemble,j} )
- 检测成本 ( c_{det,f,j} )
-
成品:
- 成品次品率 ( p_{product} )
- 市场售价 ( c_{sell} )
- 调换损失 ( c_{swap} )
2. 决策变量
定义决策变量:
- ( x_{det,i} ): 是否对零配件 ( i ) 进行检测(1:检测,0:不检测)
- ( y_{assemble,j} ): 是否对半成品 ( j ) 进行检测(1:检测,0:不检测)
- ( z_{det,prod} ): 是否对成品进行检测(1:检测,0:不检测)
3. 目标函数
目标是最小化总成本,包括购买成本、检测成本、装配成本、调换损失和不合格品的处理费用。
总成本可表示为:
TotalCost = ∑ i = 1 8 ( c b u y , i + x d e t , i ⋅ c d e t , i + cost_of_scrap ( i ) ) + ∑ j = 1 2 ( y a s s e m b l e , j ⋅ c a s s e m b l e , j + y d e t , j ⋅ c d e t , f , j ) + z d e t , p r o d ⋅ c d e t , p r o d − total_revenue \text{TotalCost} = \sum_{i=1}^{8} \left( c_{buy,i} + x_{det,i} \cdot c_{det,i} + \text{cost\_of\_scrap}(i) \right) + \sum_{j=1}^{2} \left( y_{assemble,j} \cdot c_{assemble,j} + y_{det,j} \cdot c_{det,f,j} \right) + z_{det,prod} \cdot c_{det,prod} - \text{total\_revenue} TotalCost=i=1∑8(cbuy,i+xdet,i⋅cdet,i+cost_of_scrap(i))+j=1∑2(yassemble,j⋅cassemble,j+ydet,j⋅cdet,f,j)+zdet,prod⋅cdet,prod−total_revenue
其中,( \text{cost_of_scrap}(i) ) 是依据不合格率和处理方式计算的不合格品成本。
计算方法:
- 购买成本: ( \sum_{i=1}^{8} c_{buy,i} )
- 检测成本: ( \sum_{i=1}^{8} x_{det,i} \cdot c_{det,i} + \sum_{j=1}^{2} y_{det,j} \cdot c_{det,f,j} + z_{det,prod} \cdot c_{det,prod} )
- 装配成本: ( \sum_{j=1}^{2} y_{assemble,j} \cdot c_{assemble,j} )
- 调换损失和不合格品处理: 根据次品率进行相应的计算。
4. 约束条件
- 对于每个零配件 ( i ) 的次品率决定其对成品的影响:
如果 x d e t , i = 1 → 识别不合格品,降到零 \text{如果} \ x_{det,i} = 1 \ \rightarrow \ \text{识别不合格品,降到零} 如果 xdet,i=1 → 识别不合格品,降到零 - 半成品和成品的次品率同样使用相同规则。
- 生产流程中,次品率会影响整体成本和后续的市场售价或调换损失。
5. 决策依据及指标结果
在决策方案中,通过动态规划或简单的线性规划方法计算出不同方案的成本。
假设根据以上数据计算得到各个零配件和半成品的检测与不检测的最优组合:
零配件 | 检测与否 | 购买成本 | 检测成本 | 装配成本 | 收入 | 损失 |
---|---|---|---|---|---|---|
1 | 不检测 | 2 | 0 | - | 200 | 40 |
2 | 检测 | 8 | 1 | 4 | - | - |
3 | 检测 | 12 | 2 | |||
针对问题3,我们将设计一个适合于该企业生产过程中涉及的多个零配件和道工序的决策方案。在制定决策方案时,我们需要考虑每个零配件的次品率、购买单价、检测成本以及装配成本,并考虑最终成品的市场售价和调换损失,以优化决策过程以降低整体成本。 |
数据回顾
通过表2提供的数据,我们建立如下基础信息:
零配件 | 次品率 | 购买单价 | 检测成本 | 半成品次数品率 | 装配成本 | 检测成本 | 拆解费用 |
---|---|---|---|---|---|---|---|
1 | 10% | 2 | 1 | 10% | 8 | 4 | 6 |
2 | 10% | 8 | 1 | 10% | 8 | 4 | 6 |
3 | 10% | 12 | 2 | 10% | 8 | 4 | 6 |
4 | 10% | 2 | 1 | - | - | - | - |
5 | 10% | 8 | 1 | - | 10% | 8 | 6 |
6 | 10% | 12 | 2 | - | - | - | - |
7 | 10% | 8 | 1 | - | - | - | - |
8 | 10% | 12 | 2 | - | - | - | - |
假设:
- 每个零配件在进行装配之前均可选择检测。
- 容许的次品概率相同,即为10%。
- 我们在最后的市场销售环节前,需判断最终成品的检测方案是否成立。
决策方案:
-
零配件检测决策:
- 对于每个零配件,可以根据其单位购入价和检测成本来决定是否进行检测。检测当次品并丢弃不合格品,考虑每种零配件的效益。根据计算,零配件1、2、3、5、6、7、8的购买单价较高,检测成本相对较低,建议均进行检测,确保不会因为次品而影响后续产出。如果选择不检测,则市场售价将无法弥补后续调换损失。
-
半成品和成品检测决策:
- 对于半成品检测,特别是零配件1、2与3,与装配后次品率保持一致的尚可进行检测。以此类推,对于组装后的成品也应选择检测确保合格,以便减少后期调换损失。
- 成品的市场售价为200元,而调换损失为40元,因此必须确保成品的次品率尽量降低,建议进行全面检测。在决定保留次品率时,必须意识到合格品与次品产品间的调换损失率直接影响到企业收益。
-
拆解后的决策:
- 考虑到拆解费用的设置,在发现不合格成品后可选择拆解零配件进行再利用。如果在拆解后发现零配件仍可用于下一个装配,将大幅减少金钱损失。
经济效益指标及计算
我们可以通过计算每个设备的有效利用价值、实际购买与检测后的成本收益比来指导后续决策。
- 有效收益: 需要保证每个零配件的检测及合格后的收益大于其损失(包括调换损失、检测成本、装配费用)。
- 次品率控制: 形成每个环节的成本与收益模型,确保最终产品的次品率低于市场标准10%。
总成本 = 购入成本 + 检测成本 + 装配成本 + 拆解费用 \text{总成本} = \text{购入成本} + \text{检测成本} + \text{装配成本} + \text{拆解费用} 总成本=购入成本+检测成本+装配成本+拆解费用
总收益 = 市场售价 − 调换损失 \text{总收益} = \text{市场售价} - \text{调换损失} 总收益=市场售价−调换损失
小结
在实现针对每道工序和零配件的决策方案时,采用检测、精确装配及后续调换等战略
针对问题 3,我们需要制定一个生产过程的决策方案,以优化多个零配件和半成品的生产流程。为了实现这一目标,我们将按照每个零配件和半成品的次品率、成本和售价,制定是否进行检测、是否进行装配、以及是否投入市场的决策。
决策方案
-
定义变量:
- 设 x i x_i xi 为购买零配件 i i i 的决策变量,1 表示购买并检测,0 表示不购买。
- 设 y i y_i yi 为装配零配件 i i i 的决策变量,1 表示进行装配,0 表示不进行装配。
- 设 z i z_i zi 为市场销售零配件 i i i 的决策变量,1 表示进入市场,0 表示不进入市场。
-
成本模型:
- 对于每个零配件 i i i,我们需要计算相应的成本及次品率对整体经济效益的影响。可以表示为:
C i = ( P i + D i ) x i + C C i → j y j + M j z j C_i = (P_i + D_i)x_i + CC_{i \to j}y_j + M_{j}z_j Ci=(Pi+Di)xi+CCi→jyj+Mjzj
其中: - P i P_i Pi: 零配件 i i i 的购买价格
- D i D_i Di: 零配件 i i i 的检测成本
- C C i → j CC_{i \to j} CCi→j: 从零配件 i i i 到半成品 j j j 的装配成本
- M j M_{j} Mj: 半成品 j j j 的市场售价(以及相应的调换损失)
- 对于每个零配件 i i i,我们需要计算相应的成本及次品率对整体经济效益的影响。可以表示为:
-
次品率计算:
- 对于每个零配件的次品率,假设为 q i q_i qi,半成品的次品率为 q j q_j qj,我们可以定义不合格率为:
U i = q i ( 1 − x i ) U_{i} = q_i (1-x_i) Ui=qi(1−xi)
以及
U j = q j ( 1 − y j ) U_{j} = q_j (1-y_j) Uj=qj(1−yj)
- 对于每个零配件的次品率,假设为 q i q_i qi,半成品的次品率为 q j q_j qj,我们可以定义不合格率为:
-
优化目标:
- 我们的目标是最大化预期收益,减去各类成本:
Maximize Z = ∑ i ( M i z i − C i ) − ∑ j ( U j × 调换损失 ) \text{Maximize } Z = \sum_{i}(M_i z_i - C_i) - \sum_{j} (U_j \times \text{调换损失}) Maximize Z=i∑(Mizi−Ci)−j∑(Uj×调换损失)
其中: - M i M_i Mi: 零配件 i i i 的市场售价
- 调换损失: 如果不合格则需要对每个不合格品进行调换。
- 我们的目标是最大化预期收益,减去各类成本:
决策步骤
-
检测决策:
- 对于每个零配件,计算其期望收益和成本,决定是否进行检验。
- 检修要求:对于次品率较高的零配件,进行检测以维持成品质量。
-
装配决策:
- 对于通过检测的零配件,决定其是否进行装配。
- 遇到次品率较高的半成品,进行检测以确保质量。
-
市场销售决策:
- 将检测合格的成品投入市场,评估 potential refund loss.
决策示例
根据表 2 的数据,每个零配件的决策如下:
零配件 | 次品率 | 购买单价 | 检测成本 | 决策 | 备注 |
---|---|---|---|---|---|
1 | 10% | 2 | 1 | 购买并检测 | 次品损失较小 |
2 | 10% | 8 | 1 | 购买并检测 | 确保成品质量 |
3 | 10% | 12 | 2 | 不购买 | 次品率过高,装配成本与收益不匹配 |
4 | 10% | 2 | 1 | 购买 | 低成本且次品率正常 |
5 | 10% | 8 | 1 | 购买并检测 | 确保成品质量 |
6 | 10% | 12 | 2 | 不购买 | 同上 |
7 | 10% | 8 | 1 | 购买 | 正常操作 |
8 | 10% | 12 | 2 | 不购买 | 同开奖 |
总结与结论
通过对各个环节的详细计算与决策,我们可以降低整体次品率,优化生产流程,减少因不合格产品而产生的额外成本及调换损失。最终数据的反馈将为后续的生产决策提供重要参考。此外,我们可以通过每个阶段的成本与收益分析,逐步调整并优化零配件的采购策略。
import numpy as np
import pandas as pd# 数据的定义
data = {"零配件": [1, 2, 3, 4, 5, 6, 7, 8],"次品率": [0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10],"购买单价": [2, 8, 12, 2, 8, 12, 8, 12],"检测成本": [1, 1, 2, 1, 1, 2, 1, 2],"半成品次品率": [0.10, 0.10, 0.10, 0.10, 0.10, 0.10, None, None],"装配成本": [8, 8, 8, None, None, None, None, None],"装配检测成本": [4, 4, 4, None, None, None, None, None],"拆解费用": [6, 6, 6, None, None, None, None, None],"成品次品率": [0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10],"市场售价": [200, 200, 200, 200, 200, 200, 200, 200],"调换损失": [40, 40, 40, 40, 40, 40, 40, 40]
}# 将数据转换为DataFrame
df = pd.DataFrame(data)# 决策函数
def production_decision(df):decision_results = []for index, row in df.iterrows():part_name = f"零配件 {row['零配件']}"decision = {}# 检测与否决策if row['次品率'] > 0.10:decision["检测"] = "进行检测"cost_of_detection = row["检测成本"]decision["检测成本"] = cost_of_detection# 根据检测结果进行成本计算expected_yield = (1 - row['次品率']) * (1 - row['半成品次品率']) if row['半成品次品率'] is not None else (1 - row['次品率'])production_cost = row["购买单价"] + cost_of_detection + (1 - expected_yield) * (row["装配成本"] + row["拆解费用"])decision["总体成本"] = production_costelse:decision["检测"] = "不进行检测"production_cost = row["购买单价"] + row["装配成本"]decision["总体成本"] = production_cost# 收集决策结果decision_results.append({"零配件": part_name,"决策": decision["检测"],"成本": decision["总体成本"]})return decision_results# 运行决策函数
decision_results = production_decision(df)# 输出决策结果
decision_df = pd.DataFrame(decision_results)
print(decision_df)
该代码首先定义了零配件生产过程中的相关数据。在决策函数中,根据各零配件的次品率决定是否进行检测,并计算相应的成本。最后,输出生成的决策结果,供进一步分析和决策使用。
问题四
问题 4 的内容是:
假设问题 2 和问题 3 中零配件、半成品和成品的次品率均是通过抽样检测方法(例如,你在问题 1 中使用的方法)得到的,请重新完成问题 2 和问题 3。
具体说明:
在问题 4 中,要求根据前面的问题 1 中的抽样检测方法所得到的零配件、半成品和成品的次品率,重新对问题 2 和问题 3 的生产过程进行决策。即需要结合抽样检测的结果来判断零配件和成品的质量,从而制定相应的决策方案。
这个问题主要考察如何将检测到的质量信息(次品率)合理运用于公司的生产决策中,以优化生产过程和减少不合格的产品带来的损失。
问题 4 的数学建模
在此项目中,我们需要重新审视问题 2 和问题 3 中的生产过程,结合问题 1 中的抽样检测方法所得到的次品率来做出决策。以下是对这个问题的具体建模步骤。
1. 抽样检测方案
根据问题 1 中的要求,企业将使用抽样检测方法来确定每个零配件和成品的次品率。设定标称次品率为 p 0 = 10 % p_0 = 10\% p0=10%。我们可以采用二项分布来决定样本大小和检测结果:
- 令 n n n 为抽样的样本量, k k k 为检测出不合格的个体数。
- 对于信度 1 − α 1 - \alpha 1−α(例如 95% 或 90%),可以使用正态近似来进行假设检验。
根据二项分布的性质,在大样本情况下,我们可以应用中心极限定理,得到以下判别条件:
-
设 x x x 为样本中不合格品的数量,样本质量检验的接受区域为:
P ( x n ≤ p 0 + z α / 2 p 0 ( 1 − p 0 ) n ) ≥ 1 − α P\left(\frac{x}{n} \leq p_0 + z_{\alpha/2} \sqrt{\frac{p_0(1-p_0)}{n}}\right) \geq 1 - \alpha P(nx≤p0+zα/2np0(1−p0))≥1−α其中, z α / 2 z_{\alpha/2} zα/2 是标准正态分布的临界值。
-
为了保证拒绝次品率超标的概率,我们可以通过计算确定 n n n的最小值。
2. 改进的生产决策
在获得次品率的基础上,针对问题 2 和问题 3,评估是否检测零配件、半成品及成品,并提出决策方案。
2.1 决策原则
设定以下变量:
- q j q_j qj:零配件 j j j 的次品率
- C p u r c h a s e C_{purchase} Cpurchase:购买成本
- C i n s p e c t C_{inspect} Cinspect:检测成本
- C a s s e m b l e C_{assemble} Cassemble:装配成本
- C m a r k e t C_{market} Cmarket:市场售价
- C e x c h a n g e C_{exchange} Cexchange:调换损失
- C r e c y c l e C_{recycle} Crecycle:拆解费用
根据成本效益分析的原则,设定决策逻辑:
-
零配件检测 (Decision 1):
- 如果检测成本低于次品率带来的损失,则进行检测;否则,直接装配。
- 损失计算: D 1 = q j × C p u r c h a s e + C e x c h a n g e D_1 = q_j \times C_{purchase} + C_{exchange} D1=qj×Cpurchase+Cexchange
-
成品检测 (Decision 2):
- 如果成品的次品率超过正常范围,且检测造成的损失小于不合格带来的损失,则应检查成品。
- 损失计算: D 2 = P ( 次品率超标 ) × ( C a s s e m b l e + C e x c h a n g e ) D_2 = P(\text{次品率超标}) \times (C_{assemble} + C_{exchange}) D2=P(次品率超标)×(Cassemble+Cexchange)
-
拆解与循环利用 (Decision 3):
- 当检测出不合格成品后,评估拆解的成本效益: D r e c y c l e = C r e c y c l e + P ( 次品率 ) × C e x c h a n g e D_{recycle} = C_{recycle} + P(\text{次品率}) \times C_{exchange} Drecycle=Crecycle+P(次品率)×Cexchange。
-
最终决策 (Final Decision):
- 汇总各决策阶段的成本,选择总成本最低的方案。
2.2 示例决策方案
针对具体情况(如表 1 和表 2 中列出的零配件、半成品和成品),将上述决策原则逐项应用,进行抉择。例如:
- 对于第一种情况(零配件 1 和零配件 2 次品率均为 10%),是否检测依据前面步骤得出:
- 对于每个零配件,计算损失 D 1 D_1 D1,若小于购买和调换成本,则进行检测。
最终输出:
- 输出最终的决策结果,示例:
- 检测零配件 1,接收合格 remainder。
- 对成品进行检测,如果合格则出货,否则考虑拆解。
3. 数学模型描述
综合考虑上述因素,可以构建优化模型:
Minimize C t o t a l = C i n s p e c t + C a s s e m b l e + C e x c h a n g e + C r e c y c l e \text{Minimize } C_{total} = C_{inspect} + C_{assemble} + C_{exchange} + C_{recycle} Minimize Ctotal=Cinspect+Cassemble+Cexchange+Crecycle
约束条件为次品率和成本的评估。通过敏感性分析可以探索不同次品率下的最优决策变化。
总结
结合抽样检测的次品率与
为了重新完成问题 2 和问题 3,我们首先需要应用问题 1 中的抽样检测方法来确定零配件、半成品和成品的次品率。
方案概述:
-
抽样检测:对于每一种零配件或成品,采用抽样检测的方法统计其次品率,并据此进行决策。
-
决策流程:
- 针对每一种零配件判断是否检测。
- 对装配的成品进行检测。
- 根据检测结果按需采取拆解或调换措施。
问题 2 的处理方案
情况分析
根据题目,决定是否对零配件和成品进行检测,遵循以下逻辑:
- 检测零配件:
- 对于零配件 1 和 2,使用抽样检测方法,设定信心水平(如95%或90%),根据抽样结果判断是否按标称值(10%或20%)拒收或接收零配件。
- 基于问题 1 中的抽样检测结果,计算得到的零配件次品率,我们采用如下描述:
设定样本大小为 n n n,在抽样检测中:
- 计算实际次品率 p ^ \hat{p} p^ 和置信区间。如果 p ^ \hat{p} p^ 超过标称值,则拒绝该批零配件。
例如,以零配件 1 和标称值为 10% 为例,假设抽样后 p ^ = 0.14 \hat{p} = 0.14 p^=0.14(拒绝),则不接收该批次零配件;如果 p ^ = 0.08 \hat{p} = 0.08 p^=0.08(接受),则接收。
- 检测成品:
- 如果根据零配件的检测均合格,决策是否检测成品。如果检测时发现次品,亦根据抽样决策,选择拆解或不拆解。
示例决策
例如,对于情况 1:
- 零配件 1 次品率为 10%,进行检测得到 p ^ = 0.05 \hat{p} = 0.05 p^=0.05,接受。
- 零配件 2 次品率为 10%,进行检测得到 p ^ = 0.15 \hat{p} = 0.15 p^=0.15,拒绝。
- 成品检测:如果根据检测认为次品率为10%且合格,则检测成品,若不合格,决策拆解。
问题 3 的处理方案
对于问题 3,面对多个零配件和工序,重复上述逻辑。构造如下决策流程:
-
每种零配件的抽样检测:记录各个零配件的次品率,通过抽样检测确定是否进入生产环节。
-
装配半成品与成品:根据检测结果:
- 对于每种组合,决策是否通过检测合格的半成品进入下一个工序。
- 对于成品,依据抽样检测确认是否合格。
实例决策
- 如零配件 1、2 的具体次品率均为10%,根据抽样检测数据(例如 p ^ 1 = 0.08 , p ^ 2 = 0.15 \hat{p}_1=0.08, \hat{p}_2=0.15 p^1=0.08,p^2=0.15),进行下述决策:
- 接收零配件1,拒绝零配件2。
- 根据合格零配件进行成品装配,再进行成品检测。
结论
通过这种方式,我们能有效地利用抽样检测的数据来指导后续的生产流程,决策将确保产品质量,同时能够优化成本与资源的使用。最终的目标是通过减少不合格品的发生来降低企业的损失,提升整体经济效益。具体的指标结果应由每个环节的实际检测结果与相应的指标进行量化得出。
在问题4中,我们需要根据在问题1中使用的抽样检测方法得到的零配件、半成品和成品的次品率,重新进行生产过程的决策。以下是详细的步骤和数学模型。
1. 抽样检测的结果
首先,根据问题1的抽样检测方案,假设我们获得了以下零配件的次品率数据:
- 零配件1次品率: p 1 ^ \hat{p_1} p1^
- 零配件2次品率: p 2 ^ \hat{p_2} p2^
- 半成品次品率(基于装配后的结果): p s e m i ^ \hat{p_{semi}} psemi^
- 成品次品率: p f i n a l ^ \hat{p_{final}} pfinal^
具体的次品率将基于抽样检测结果而定,设定在不同情况下的次品率变化。
2. 决策模型
在重新进行决策时,我们将基于检测结果解析每个环节的决策。
2.1 零配件检测决策
对于零配件1和零配件2,决策是否进行检测。设定检测的阈值,并考虑决策成本和潜在的收益。例如:
- 如果 p 1 > 0.1 ^ \hat{p_1 > 0.1} p1>0.1^ 且 KaTeX parse error: Unexpected end of input in a macro argument, expected '}' at end of input: \hat{p_2 > 0.1 (基于阈值),则选择检测,检测费用为 C d ( 1 ) C_d^{(1)} Cd(1) 和 C d ( 2 ) C_d^{(2)} Cd(2)。
使用二项分布模型来判断需要抽样的数量。设定:
p = 0.1 , α = 1 − 0.95 p = 0.1, \alpha = 1 - 0.95 p=0.1,α=1−0.95
二项抽样的标准条件:
n = ( Z α / 2 ) 2 p ( 1 − p ) E 2 n = \frac{(Z_{\alpha/2})^2 p(1-p)}{E^2} n=E2(Zα/2)2p(1−p)
其中 E E E为可接受误差, Z α / 2 Z_{\alpha/2} Zα/2为在95%信度下的标准正态分布表中的临界值。
2.2 半成品和成品的检测决策
- 如果装配后的半成品次品率 p s e m i ^ \hat{p_{semi}} psemi^ 计入决策,如果 p s e m i ^ > T s e m i \hat{p_{semi}} > T_{semi} psemi^>Tsemi (设定的阈值) 则选择检测。
- 根据成品次品率 p f i n a l ^ \hat{p_{final}} pfinal^ 进行判断,如果不检测,则直接进入市场。
2.3 拆解和调换决策
对于检测出不合格成品:
- 决定是否进行拆解,以最优成本进行决策。拆解的成本为 C 拆解 C_{拆解} C拆解. 选择的决策可以为:
C 总 = C 损失 + C 拆解 + C 组装 − C 销售 C_{总} = C_{损失} + C_{拆解} + C_{组装} - C_{销售} C总=C损失+C拆解+C组装−C销售
2.4 具体决策方案示例
假设以下检测结果来自问题1:
- p 1 ^ = 0.08 \hat{p_1} = 0.08 p1^=0.08, p 2 ^ = 0.12 \hat{p_2} = 0.12 p2^=0.12, p s e m i ^ = 0.15 \hat{p_{semi}} = 0.15 psemi^=0.15, p f i n a l ^ = 0.10 \hat{p_{final}} = 0.10 pfinal^=0.10。
根据以上数据,我们决策如下:
- 对于零配件1,不进行检测(因为 p 1 ^ < 0.1 \hat{p_1} < 0.1 p1^<0.1)。
- 对于零配件2,选择进行检测( p 2 ^ > 0.1 \hat{p_2} > 0.1 p2^>0.1)。
- 对于成品,选择进行检测( p f i n a l ^ = 0.10 \hat{p_{final}} = 0.10 pfinal^=0.10, 并设定检测阈值也是 0.1 0.1 0.1)。
3. 指标与损失计算
- 计算调换损失和相关经济指标:
L = N ⋅ C 调换损失 L = N \cdot C_{调换损失} L=N⋅C调换损失
如果最终选择进行拆解:
C 拆解 = f ( Q 不合格 ) C_{拆解} = f(Q_{不合格}) C拆解=f(Q不合格)
结论
结合上面的步骤,我们可以得出对于不同情况下的零配件、半成品和成品的具体检测和决策方案,以减少不合格的产品带来的损失。这涵盖了资源的有效利用及减少生产过程中的浪费。整合数学模型与经济考量,可为企业提供优化生产的决策依据。
import numpy as np
import scipy.stats as statsdef sample_size(alpha, beta, p0, p1):"""Calculate minimum sample size for given alpha, beta, p0 and p1."""z_alpha = stats.norm.ppf(1 - alpha) # critical value for type I errorz_beta = stats.norm.ppf(beta) # critical value for type II error# Calculate sample size using formula for proportionn = ((z_alpha + z_beta)**2) * (p0 * (1 - p0)) / (p0 - p1)**2return int(np.ceil(n)) # round up to next whole number# Given values from problem 1
alpha_95 = 0.05 # 95% confidence level
beta_90 = 0.10 # 90% confidence level
p0 = 0.10 # claimed defect rate# Calculate sample size for the two conditions
n_95 = sample_size(alpha_95, beta_90, p0, 0.20) # Condition 1: p1 = 0.20
n_90 = sample_size(beta_90, alpha_95, p0, 0.10) # Condition 2: p1 = 0.10print("Sample size needed to reject at 95% confidence when p > 10%:", n_95)
print("Sample size needed to accept at 90% confidence when p <= 10%:", n_90)# Suppose we have the defect rates from earlier testing
def process_decision(defect_rates, purchase_prices, test_costs, assembly_costs, market_price, replace_loss, disassemble_costs):results = []for rate in defect_rates:defective_rate_1 = rate[0]defective_rate_2 = rate[1]# Decision for partsdecision_1 = "Test" if defective_rate_1 > 0.10 else "No Test"decision_2 = "Test" if defective_rate_2 > 0.10 else "No Test"# Calculate costscost_1 = purchase_prices[0] + (test_costs[0] if decision_1 == "Test" else 0)cost_2 = purchase_prices[1] + (test_costs[1] if decision_2 == "Test" else 0)# Assembly decisionif decision_1 == "No Test" and defective_rate_1 > 0:# No test, imply some defectivesexpected_defects_1 = defective_rate_1else:expected_defects_1 = 0if decision_2 == "No Test" and defective_rate_2 > 0:expected_defects_2 = defective_rate_2else:expected_defects_2 = 0# Overall assembly coststotal_cost = cost_1 + cost_2 + assembly_costs + expected_defects_1 + expected_defects_2market_income = market_price - (expected_defects_1 + expected_defects_2) * replace_lossresults.append({"Decisions": (decision_1, decision_2),"Total Cost": total_cost,"Market Income": market_income})return results# Example situation
defect_rates = [(0.10, 0.20), (0.20, 0.20), (0.10, 0.10), (0.20, 0.10), (0.10, 0.20), (0.05, 0.05)]
#见完整
更多内容具体可以看看我的下方的名片!里面包含有国赛一手资料与分析!
另外在赛中,我们也会陪大家一起解析国赛的一些方向
关注 CS数模 团队,数模不迷路~
这篇关于2024 高教社杯 数学建模国赛 (B题)深度剖析|生产过程中的决策问题|数学建模完整代码+建模过程全解全析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!