数学建模(三)—— 自动化车床管理

一、题目要求

       一道工序用自动化车床连续加工某种零件,由于刀具损坏等原因该工序会出现故障,其中刀具损坏故障占95%,其他故障仅占5%。工序出现故障是完全随机的,假定在生产任一零件时出现故障的机会均相同。工作人员通过检查零件来确定工序是否出现故障。现积累有100次刀具故障记录,故障出现时该刀具完成的零件数如附件表。现计划在刀具加工一定件数后定期更换新刀具。
       已知生产工序的费用参数如下:
       故障时产出的零件损失费用 f=200元/件;
       进行检查的费用 t=20 元/次;
       发现故障进行调节使恢复正常的平均费用 d=4000元/次(包括刀具费);
       未发现故障时更换一把新刀具的费用 k=1500元/次。
       1)假定工序故障是产出的零件均为不合格品,正常时产出的零件均为合格品,试对该工序设计效益最好的检查间隔(生产多少零件检查一次)和刀具更换策略。
       2)如果该工序正常时产出的零件不全是合格品,有2%为不合格品;而工序故障时产出的零件有40%为合格品,60%为不合格品。工序正常而误认故障停机产生的损失费用为2000元/次。对该工序设计效益最好的检查间隔和刀具更换策略。
       3)在 2)的情况,可否改进检查方式获得更高的效益。

附:100次刀具故障记录(完成的零件数)

数学建模(三)—— 自动化车床管理

二、相关的基础知识

2.1 正态分布的假设检验

       正态分布(Normal distribution)又名高斯分布,是一个非常常见的连续概率分布。正态分布的假设检验方法有很多种,本次练习中使用的是MATLAB中的lillietest函数去进行拟合度检验。
       h=lillietest(X) %对输入向量X进行Lilliefors测试,显著性水平为0.05
       h = lillietest(X,alpha) %在显著性水平alpha而非0.05下施行Lilliefors测试,alpha在0.01和0.2之间
       [h,p,l,cv] = lillietest(X,alpha) %p为接受假设的概率值,p越接近于0,则可以拒绝是正态分布的原假设;l为测试统计量的值,cv为是否拒绝原假设的临界值
说明:h为测试结果,只有0和1两种情况。若h=0,则可以认为X是服从正态分布的;若h=1,则可以认为X是不服从正态分布的。

2.2 正态分布的概率

数学建模(三)—— 自动化车床管理       正态分布概率密度函数的曲线如上图所示,若 x x x~ N ( μ , σ 2 ) N(\mu,\sigma ^{2}) N(μ,σ2),则其概率密度函数为 f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}} f(x)=2π ​σ1​e−2σ2(x−μ)2​。
       正态分布是连续型随机变量的理论分布,对于任何正态分布随机变量x落入任意区间(a,b)的概率可以表示为P(a<x<b),其概率的计算是求概率密度函数在该区间的定积分。 P ( a < x < b ) = ∫ a b 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x P(a<x<b)=\int _{a}^{b} \frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}}dx P(a<x<b)=∫ab​2π ​σ1​e−2σ2(x−μ)2​dx

三、问题分析

       本次练习主要研究的是在自动化车床生产工序中,使工序效益最好的检查间隔和刀具更换策略问题。题中给出了100 次刀具故障记录以及一些生产工序的费用参数,我们通过这些已知条件来对三个问题分别建立数学模型并进行求解,从而可以得到使工序效益最好的检查周期和换刀周期。

四、模型的建立与求解

4.1 数据处理及分析

       通过使用MATLAB对题目中给出的100次刀具故障记录数据进行处理,得到故障出现时该刀具完成的零件数分布图如图1所示。数学建模(三)—— 自动化车床管理

图1  100 次刀具故障数据分布图

       由图1可以看出这100次刀具故障数据大致服从正态分布,调用MATLAB中的lillietest函数[h,p,l,cv]=lillietest(x)对其进行拟合度检验,得到的结果为h =0,p =0.500,l =0.042,cv =0.0890,表示该数据服从正态分布。
       通过计算可求出 μ \mu μ=600, σ \sigma σ =196.6292,所以这100次刀具故障时完成的零件数近似服从 x x x~ N ( 600 , 196.629 2 2 ) N(600,196.6292 ^{2}) N(600,196.62922)的正态分布,其概率密度函数为 f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}} f(x)=2π ​σ1​e−2σ2(x−μ)2​。

       数据处理及分析的代码如下:

  • Normal_distribution.m
clear
clc
 
 % 输入数据
Fault_Record=[459,362,624,542,509,584,433,748,815,505,612,452,434,982,640,742,            
              565,706,593,680,926,653,164,487,734,608,428,1153,593,844,527,552,
              513,781,474,388,824,538,862,659,775,859,755,649,697, 515,628,954,            
              954,771,609,402,960,885,610,292,837,473,677,358,638,699,634,555,     
              570,84,416,606,1062,484,120,447,654,564,339,280,246,687,539,790,
              581,621,724,531,512,577,496,468,499,544,645,764,558,378,765,666,
              763,217,715,310,851];
 
% 画出频率直方图及频率分布曲线
figure(1);
[a,b]=hist(Fault_Record);
hist(Fault_Record)%频数直方图(肉眼看是否左右对称,中间多,两边少)
bar(b,a)%画出给定数据的频率分布曲线
hold on
plot(b,a,'-gs','LineWidth',2,'MarkerSize',10)
grid on

% 参数估计和假设检验
[h,p,l,cv]=lillietest(Fault_Record)  % H=lillietest(X)中H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布.
if h==0
    disp('该数据服从正态分布')
end

% 正态曲线拟合
mu=mean(Fault_Record)  %期望
sigma=sqrt(sum((Fault_Record-mu).^2)/(length(Fault_Record)-1))  %标准差
xx=1:1200;
y=1/(sqrt(2*pi)*sigma)*exp(-(xx-mu).^2/(2*sigma^2))*10916;
figure(1)
plot(xx,y,'r','LineWidth',2)
grid on
xlabel('刀具完成零件数')
ylabel('出现次数')
legend('刀具故障数据直方图','真实分布','拟合后曲线');

4.2 问题一模型的建立与求解

       问题一所要解决的是在工序故障时产出的零件均为不合格品,正常时产出的零件均为合格品的情况下,设计出使工序效益最好的检查周期和换刀周期策略的问题。通过分析得到100 次刀具故障记录数据符合正态分布,我们将问题一分为换刀前工序正常和换刀前工序故障这两种情况,分别求出两种情况下在一个换刀周期内损失费用总和的期望值和生产合格零件的期望值,通过二者之比的最小值确立目标函数,建立随机模型,对模型进行求解得到问题一情况下使工序效益最好的检查周期和换刀周期。

4.2.1 问题一模型的建立

       在问题一中我们以一个换刀周期内合格零件的平均损失费用的期望值E(s)作为工序效益好坏的评价指标。确立的评价指标E(s)为一个换刀周期内的损失费用期望总和E(w)与生产的合格零件的期望值E(q)之比,而一个换刀周期内合格零件平均损失费用的期望值越小,则说明效益越好,即目标函数为 m i n E ( s ) = E ( w ) E ( q ) minE(s)=\frac{E(w)}{E(q)} minE(s)=E(q)E(w)​

A.第一种情况:换刀前工序正常
数学建模(三)—— 自动化车床管理

图2  换刀前工序正常情况

       换刀前工序正常情况如图2所示,损失费用 w 1 w_{1} w1​为检查费和换刀费之和。 w 1 = [ m n ] t + k w_{1}=[\frac{m}{n}]t+k w1​=[nm​]t+k

       其中,m为一个换刀周期内生产的零件数,即换刀周期;n为一个检查周期内产生的零件数,即检查周期; [ m n ] [\frac{m}{n}] [nm​]为一个换刀周期内的检查次数;t为一次检查的费用;k为未发现故障时更换一把新刀具的费用。
       根据正态分布概率密度函数计算出第一种情况下的事件发生的概率 p 1 p_{1} p1​为
p 1 = 1 − ∫ 1 m 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x 0.95 p_{1}=1-\frac{\int _{1}^{m} \frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}}dx}{0.95} p1​=1−0.95∫1m​2π ​σ1​e−2σ2(x−μ)2​dx​

       则换刀前工序正常的损失费用期望 E 1 ( w ) E_{1}(w) E1​(w)为 E 1 ( w ) = w 1 p 1 E_{1}(w)=w_{1}p_{1} E1​(w)=w1​p1​

       换刀前工序正常所生产的合格零件数恰好等于一个换刀周期内生产的零件数,即 q 1 = m q_{1}=m q1​=m,则换刀前工序正常所生产合格零件的期望值 E 1 ( q ) E_{1}(q) E1​(q)为 E 1 ( q ) = m p 1 E_{1}(q)=mp_{1} E1​(q)=mp1​

B.第二种情况:换刀前工序故障数学建模(三)—— 自动化车床管理

图3  换刀前工序故障情况

       换刀前工序故障情况如图3所示。当换刀前工序故障,设出现故障之前已经生产了 n s n_{s} ns​ 个零件,由问题一的假定可知 n s n_{s} ns​ 个零件都为合格品,则损失费用 w 2 w_{2} w2​为检查费、故障维修费和零件损失费之和。
w 2 = ( [ n s n ] + 1 ) t + d + [ ( [ n s n ] + 1 ) n − n s ] f w_{2}=\left ([\frac{n_{s}}{n}]+1 \right )t+d+\left [\left ([\frac{n_{s}}{n}]+1 \right )n-n_{s} \right ]f w2​=([nns​​]+1)t+d+[([nns​​]+1)n−ns​]f

       其中, [ n s n ] + 1 [\frac{n_{s}}{n}]+1 [nns​​]+1为一个换刀周期内的检查次数; [ m n ] [\frac{m}{n}] [nm​]为一个换刀周期内的检查次数;d为发现故障进行调节使恢复正常的平均费用;f为故障时产出的零件损失费用。
       根据正态分布概率密度函数计算出第二种情况下的事件发生的概率 p 2 p_{2} p2​为
p 2 = ∫ n s n s + 1 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x 0.95 ≈ 1 2 π σ e − ( n s + 1 − μ ) 2 2 σ 2 0.95 p_{2}=\frac{\int _{n_{s}}^{n_{s+1}} \frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}}dx}{0.95}\approx\frac{\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(n_{s+1}-\mu )^{2}}{2\sigma ^{2}}}}{0.95} p2​=0.95∫ns​ns+1​​2π ​σ1​e−2σ2(x−μ)2​dx​≈0.952π ​σ1​e−2σ2(ns+1​−μ)2​​

       则换刀前工序故障的损失费用期望 E 2 ( w ) E_{2}(w) E2​(w)为 E 2 ( w ) = ∑ n s = 1 m − 1 w 2 p 2 E_{2}(w)=\sum _{n_{s}=1}^{m-1}w_{2}p_{2} E2​(w)=ns​=1∑m−1​w2​p2​

       换刀前工序故障所生产的合格零件数恰好等于故障之前已经生产的零件数,即 q 2 = n s q_{2}=n_{s} q2​=ns​ ,则换刀前工序故障所生产合格零件的期望值 E 2 ( q ) E_{2}(q) E2​(q)为 E 2 ( q ) = ∑ n s = 1 m − 1 n s p 2 E_{2}(q)=\sum _{n_{s}=1}^{m-1}n_{s}p_{2} E2​(q)=ns​=1∑m−1​ns​p2​

       问题一建立的模型为
m i n E ( s ) = E ( w ) E ( q ) s . t . { E ( w ) = E 1 ( w ) + E 2 ( w ) = w 1 p 1 + ∑ n s = 1 m − 1 w 2 p 2 E ( q ) = E 1 ( q ) + E 2 ( q ) = m p 1 + ∑ n s = 1 m − 1 n s p 2         \begin{matrix} minE(s)=\frac{E(w)}{E(q)}\\ s.t.\left \{ \begin{matrix} E(w)=E_{1}(w)+E_{2}(w)=w_{1}p_{1}+\sum _{n_{s}=1}^{m-1}w_{2}p_{2}\\ E(q)=E_{1}(q)+E_{2}(q)=mp_{1}+\sum _{n_{s}=1}^{m-1}n_{s}p_{2}\ _{}\ _{}\ _{}\ _{} \end{matrix} \right. \end{matrix} minE(s)=E(q)E(w)​s.t.{E(w)=E1​(w)+E2​(w)=w1​p1​+∑ns​=1m−1​w2​p2​E(q)=E1​(q)+E2​(q)=mp1​+∑ns​=1m−1​ns​p2​ ​ ​ ​ ​​​

4.2.2 问题一模型的求解

       通过MATLAB对问题一所建立的模型进行编程求解得到使工序效益最好的检查间隔和刀具更换策略如表1所示。

表1  问题一结果
换刀周期(件) 检查周期(件) 平均损失费用(元)
364 26 6.7674

       对表1进行分析可得,在问题一的情况下使工序效益最好的换刀周期为364件,检查周期为26件,此时每个零件的平均损失费用为6.7674元。

       求解问题一模型的代码如下:

  • problem_1.m
%problem 1
clear
clc 
M=600;N=600; 
t=20;d=4000;f=200;k=1500; 
sigma=196.6292;mu=600; 
for m=1:M 
    m
    for n=1:N 
        w1=t*(m/n)+k; 
        S=normcdf(m,mu,sigma); %刀具生产零件故障概率
        p1=1-S/0.95; 
        Ew1=w1*p1; 
        Ew2=0;Eq2=0; 
        for idx=1:m-1
            num=floor(idx/n)+1;
            w2=t*num+d+f*(n*num-idx); 
            p2=normpdf(idx+1,mu,sigma)/0.95; %刀具生产零件故障概率
            Ew2=Ew2+w2*p2;
            Eq2=Eq2+idx*p2; 
        end
        Ew=Ew1+Ew2;
        Eq1=m*p1;
        Eq=Eq1+Eq2; 
        E(m,n)=Ew/Eq;
    end
end
minE=min(min(E)) 
[minm,minn]=find(E==minE) 

4.3 问题二模型的建立与求解

       问题二的情况是如果该工序正常时产出的零件不全是合格品,有2%为不合格品;而工序故障时产出的零件有40%为合格品,60%为不合格品。相比于问题一,问题二无论工序正常还是故障时,都会产生一定概率的合格品和不合格品,因此在问题一的基础上我们还需要考虑到工序正常时因误检而产生停机的损失费用。同样将问题二分为换刀前工序正常和换刀前工序故障这两种情况去进行建模并求解,从而得到在问题二情况下使工序效益最好的检查周期和换刀周期。

4.3.1 问题二模型的建立

       在问题二中我们仍以一个换刀周期内合格零件的平均损失费用的期望值E(s)作为工序效益好坏的评价指标。

A.第一种情况:换刀前工序正常
数学建模(三)—— 自动化车床管理

图4  换刀前工序正常情况

       换刀前工序正常情况如图4所示,损失费用 w 1 w_{1} w1​为检查费、换刀费、误检停机费和零件损失费之和。 w 1 = [ m n ] t + k + 0.02 [ m n ] h + 0.02 m f w_{1}=[\frac{m}{n}]t+k+0.02[\frac{m}{n}]h+0.02mf w1​=[nm​]t+k+0.02[nm​]h+0.02mf

       根据正态分布概率密度函数计算出第一种情况下的事件发生的概率 p 1 p_{1} p1​为
p 1 = 1 − ∫ 1 m 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x 0.95 p_{1}=1-\frac{\int _{1}^{m} \frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}}dx}{0.95} p1​=1−0.95∫1m​2π ​σ1​e−2σ2(x−μ)2​dx​

       则换刀前工序正常的损失费用期望 E 1 ( w ) E_{1}(w) E1​(w)为 E 1 ( w ) = w 1 p 1 E_{1}(w)=w_{1}p_{1} E1​(w)=w1​p1​

       换刀前工序正常所生产的合格零件数 q 1 = 0.98 m q_{1}=0.98m q1​=0.98m,则换刀前工序正常所生产合格零件的期望值 E 1 ( q ) E_{1}(q) E1​(q)为 E 1 ( q ) = 0.98 m p 1 E_{1}(q)=0.98mp_{1} E1​(q)=0.98mp1​

B.第二种情况:换刀前工序故障数学建模(三)—— 自动化车床管理

图5  换刀前工序故障情况

       换刀前工序故障情况如图5所示。当换刀前工序故障,设出现故障之前已经生产了 n s n_{s} ns​ 个零件,由问题二的假定可知 n s n_{s} ns​个零件不全为合格品,则损失费用 w 2 w_{2} w2​ 为检查费、故障维修费、误检停机费和故障前后的零件损失费之和。
w 2 = ( [ n s n ] + 1 ) t + d + 0.02 [ n s n ] h + 0.02 n s f + 0.6 [ ( [ n s n ] + 1 ) n − n s ] f w_{2}=\left ([\frac{n_{s}}{n}]+1 \right )t+d+0.02[\frac{n_{s}}{n}]h+0.02n_{s}f+0.6\left [\left ([\frac{n_{s}}{n}]+1 \right )n-n_{s} \right ]f w2​=([nns​​]+1)t+d+0.02[nns​​]h+0.02ns​f+0.6[([nns​​]+1)n−ns​]f

       根据正态分布概率密度函数计算出第二种情况下的事件发生的概率 p 2 p_{2} p2​为
p 2 = ∫ n s n s + 1 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x 0.95 ≈ 1 2 π σ e − ( n s + 1 − μ ) 2 2 σ 2 0.95 p_{2}=\frac{\int _{n_{s}}^{n_{s+1}} \frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}}dx}{0.95}\approx\frac{\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(n_{s+1}-\mu )^{2}}{2\sigma ^{2}}}}{0.95} p2​=0.95∫ns​ns+1​​2π ​σ1​e−2σ2(x−μ)2​dx​≈0.952π ​σ1​e−2σ2(ns+1​−μ)2​​

       则换刀前工序故障的损失费用期望 E 2 ( w ) E_{2}(w) E2​(w)为 E 2 ( w ) = ∑ n s = 1 m − 1 w 2 p 2 E_{2}(w)=\sum _{n_{s}=1}^{m-1}w_{2}p_{2} E2​(w)=ns​=1∑m−1​w2​p2​

       换刀前工序故障所生产的合格零件数等于故障之前生产的合格零件数和故障发生后换刀前生产的合格零件数之和,即 q 2 = 0.98 n s + 0.4 [ ( [ n s n ] + 1 ) n − n s ] q_{2}=0.98n_{s}+0.4\left [\left ([\frac{n_{s}}{n}]+1 \right )n-n_{s} \right ] q2​=0.98ns​+0.4[([nns​​]+1)n−ns​],则换刀前工序故障所生产合格零件的期望值 E 2 ( q ) E_{2}(q) E2​(q)为 E 2 ( q ) = ∑ n s = 1 m − 1 n s p 2 E_{2}(q)=\sum _{n_{s}=1}^{m-1}n_{s}p_{2} E2​(q)=ns​=1∑m−1​ns​p2​

       问题二建立的模型为
m i n E ( s ) = E ( w ) E ( q ) s . t . { E ( w ) = E 1 ( w ) + E 2 ( w ) = w 1 p 1 + ∑ n s = 1 m − 1 w 2 p 2     E ( q ) = E 1 ( q ) + E 2 ( q ) = 0.98 m p 1 + ∑ n s = 1 m − 1 q 2 p 2 \begin{matrix} minE(s)=\frac{E(w)}{E(q)}\\ s.t.\left \{ \begin{matrix} E(w)=E_{1}(w)+E_{2}(w)=w_{1}p_{1}+\sum _{n_{s}=1}^{m-1}w_{2}p_{2}\ _{}\ _{}\\ E(q)=E_{1}(q)+E_{2}(q)=0.98mp_{1}+\sum _{n_{s}=1}^{m-1}q_{2}p_{2} \end{matrix} \right. \end{matrix} minE(s)=E(q)E(w)​s.t.{E(w)=E1​(w)+E2​(w)=w1​p1​+∑ns​=1m−1​w2​p2​ ​ ​E(q)=E1​(q)+E2​(q)=0.98mp1​+∑ns​=1m−1​q2​p2​​​

4.3.2 问题二模型的求解

       对于问题二,与问题一的求解类似,通过MATLAB对问题二所建立的模型进行编程求解得到使工序效益最好的检查间隔和刀具更换策略如表2所示。

表2  问题二结果
换刀周期(件) 检查周期(件) 平均损失费用(元)
340 68 11.4242

       对表2进行分析可得,在问题二的情况下使工序效益最好的换刀周期为340件,检查周期为68件,此时每个零件的平均损失费用为11.4242元,符合题目要求。
       与问题一结果相比,问题二求解的每个零件平均损失费用有所增加,这是由于增加了工序正常时因误检停机产生的损失费用,且相比于故障损失费、检查费和换刀费用而言,误检停机费更多,因此换刀周期有所减少,检查周期有所增大,均能够一定程度上减少误检停机费用。

       求解问题二模型的代码如下:

  • problem_2.m
%problem 2
clear
clc 
M=600; N=600; 
t=20;d=4000;f=200;k=1500; 
sigma=196.6292;mu=600; 
h=2000;
for m=1:M 
    m
    for n=1:N 
        w1=t*(m/n)+k+0.02*h*m/n+0.02*m*f; 
        S=normcdf(m,mu,sigma);  
        p1=1-S/0.95; 
        Ew1=w1*p1;
        Ew2=0;Eq2=0; 
        for idx=1:m-1 
            num=floor(idx/n)+1;
            w2=t*num+d+0.02*f*idx+0.6*f*(n*num-idx)+0.02*h*idx/n; 
            p2=1/(sqrt(2*pi)*sigma)*exp(-(idx+1-mu)^2/(2*sigma^2))/0.95; 
            Ew2=Ew2+w2*p2; 
            q2=0.98*idx+(n*num-idx)*0.4;
            Eq2=Eq2+q2*p2;
        end
        Ew=Ew1+Ew2; 
        Eq=0.98*m*p1+Eq2; 
        E(m,n)=Ew/Eq;
    end
end
minE=min(min(E)) 
[minm,minn]=find(E==minE)

4.4 问题三模型的建立与求解

       问题三所要解决的问题是在问题二所建立的优化模型的基础上进行改进优化,以获得更高的效益。为了减小问题二中工序正常时因误检产生停机的损失费用,我们在问题二的模型上使用了连续检查法优化模型,连续检查两个零件,如果两个零件均为合格品,则认为是没有故障的;如果两个零件均为不合格品,则认为是有故障的;如果两个零件中有一个合格品一个不合格品,将继续检查第三个零件看其是否合格,如果第三个零件为合格品则认为是没有故障的,如第三个零件为不合格品则认为是有故障的,这样的检查方法会降低误检率。在此检查法的基础上进行建模并求解,可以得到进一步优化后使工序效益最好的检查周期和换刀周期。

4.4.1 问题三模型的建立

       根据所使用的连续检查法,在工序正常时,两个零件均不合格和两个零件一个合格一个不合格,第三个不合格为误检情况,我们计算工序正常时误检的概率 p s p_{s} ps​为
p s = 0.02 × 0.02 + 0.02 × ( 1 − 0.02 ) × 0.02 × 2 = 0.001184 p_{s}=0.02\times 0.02+0.02\times (1-0.02)\times 0.02\times2=0.001184 ps​=0.02×0.02+0.02×(1−0.02)×0.02×2=0.001184

       在问题三中我们仍以一个换刀周期内合格零件的平均损失费用的期望值E(s)作为工序效益好坏的评价指标。

A.第一种情况:换刀前工序正常

       换刀前工序正常情况时损失费用 w 1 w_{1} w1​为检查费、换刀费、误检停机费和零件损失费之和。 w 1 = [ m n ] t + k + 0.001184 [ m n ] h + 0.02 m f w_{1}=[\frac{m}{n}]t+k+0.001184[\frac{m}{n}]h+0.02mf w1​=[nm​]t+k+0.001184[nm​]h+0.02mf

       根据正态分布概率密度函数计算出第一种情况下的事件发生的概率 p 1 p_{1} p1​为
p 1 = 1 − ∫ 1 m 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x 0.95 p_{1}=1-\frac{\int _{1}^{m} \frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}}dx}{0.95} p1​=1−0.95∫1m​2π ​σ1​e−2σ2(x−μ)2​dx​

       则换刀前工序正常的损失费用期望 E 1 ( w ) E_{1}(w) E1​(w)为 E 1 ( w ) = w 1 p 1 E_{1}(w)=w_{1}p_{1} E1​(w)=w1​p1​

       换刀前工序正常所生产的合格零件数 q 1 = 0.98 m q_{1}=0.98m q1​=0.98m,则换刀前工序正常所生产合格零件的期望值 E 1 ( q ) E_{1}(q) E1​(q)为 E 1 ( q ) = 0.98 m p 1 E_{1}(q)=0.98mp_{1} E1​(q)=0.98mp1​

B.第二种情况:换刀前工序故障

       换刀前工序故障情况时,设出现故障之前已经生产了 n s n_{s} ns​ 个零件,由问题三的假定可知 n s n_{s} ns​个零件不全为合格品,则损失费用 w 2 w_{2} w2​ 为检查费、故障维修费、误检停机费和故障前后的零件损失费之和。
w 2 = ( [ n s n ] + 1 ) t + d + 0.001184 [ n s n ] h + 0.02 n s f + 0.6 [ ( [ n s n ] + 1 ) n − n s ] f w_{2}=\left ([\frac{n_{s}}{n}]+1 \right )t+d+0.001184[\frac{n_{s}}{n}]h+0.02n_{s}f+0.6\left [\left ([\frac{n_{s}}{n}]+1 \right )n-n_{s} \right ]f w2​=([nns​​]+1)t+d+0.001184[nns​​]h+0.02ns​f+0.6[([nns​​]+1)n−ns​]f

       根据正态分布概率密度函数计算出第二种情况下的事件发生的概率 p 2 p_{2} p2​为
p 2 = ∫ n s n s + 1 1 2 π σ e − ( x − μ ) 2 2 σ 2 d x 0.95 ≈ 1 2 π σ e − ( n s + 1 − μ ) 2 2 σ 2 0.95 p_{2}=\frac{\int _{n_{s}}^{n_{s+1}} \frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(x-\mu )^{2}}{2\sigma ^{2}}}dx}{0.95}\approx\frac{\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(n_{s+1}-\mu )^{2}}{2\sigma ^{2}}}}{0.95} p2​=0.95∫ns​ns+1​​2π ​σ1​e−2σ2(x−μ)2​dx​≈0.952π ​σ1​e−2σ2(ns+1​−μ)2​​

       则换刀前工序故障的损失费用期望 E 2 ( w ) E_{2}(w) E2​(w)为 E 2 ( w ) = ∑ n s = 1 m − 1 w 2 p 2 E_{2}(w)=\sum _{n_{s}=1}^{m-1}w_{2}p_{2} E2​(w)=ns​=1∑m−1​w2​p2​

       换刀前工序故障所生产的合格零件数等于故障之前生产的合格零件数和故障发生后换刀前生产的合格零件数之和,即 q 2 = 0.98 n s + 0.4 [ ( [ n s n ] + 1 ) n − n s ] q_{2}=0.98n_{s}+0.4\left [\left ([\frac{n_{s}}{n}]+1 \right )n-n_{s} \right ] q2​=0.98ns​+0.4[([nns​​]+1)n−ns​],则换刀前工序故障所生产合格零件的期望值 E 2 ( q ) E_{2}(q) E2​(q)为 E 2 ( q ) = ∑ n s = 1 m − 1 n s p 2 E_{2}(q)=\sum _{n_{s}=1}^{m-1}n_{s}p_{2} E2​(q)=ns​=1∑m−1​ns​p2​

       问题三建立的模型为
m i n E ( s ) = E ( w ) E ( q ) s . t . { E ( w ) = E 1 ( w ) + E 2 ( w ) = w 1 p 1 + ∑ n s = 1 m − 1 w 2 p 2     E ( q ) = E 1 ( q ) + E 2 ( q ) = 0.98 m p 1 + ∑ n s = 1 m − 1 q 2 p 2 \begin{matrix} minE(s)=\frac{E(w)}{E(q)}\\ s.t.\left \{ \begin{matrix} E(w)=E_{1}(w)+E_{2}(w)=w_{1}p_{1}+\sum _{n_{s}=1}^{m-1}w_{2}p_{2}\ _{}\ _{}\\ E(q)=E_{1}(q)+E_{2}(q)=0.98mp_{1}+\sum _{n_{s}=1}^{m-1}q_{2}p_{2} \end{matrix} \right. \end{matrix} minE(s)=E(q)E(w)​s.t.{E(w)=E1​(w)+E2​(w)=w1​p1​+∑ns​=1m−1​w2​p2​ ​ ​E(q)=E1​(q)+E2​(q)=0.98mp1​+∑ns​=1m−1​q2​p2​​​

4.4.2 问题三模型的求解

       对于问题三,在问题二建立的模型基础上通过改变检查方式来获得更高的效益,通过MATLAB对问题三所建立的模型进行编程求解得到使工序效益最好的检查间隔和刀具更换策略如表3所示。

表3  问题三结果
换刀周期(件) 检查周期(件) 平均损失费用(元)
374 34 10.6321

       对表3进行分析可得,在问题三的情况下使工序效益最好的换刀周期为374件,检查周期为34件,此时每个零件的平均损失费用为10.6321元,符合题目要求。
       与问题二结果相比,每个零件的平均损失费用有所减少,说明我们改变检查方式的模型是有效的,获得了更高的效益。

       求解问题三模型的代码如下:

  • problem_3.m
% problem 3 
clear
clc 
M=600; N=600; 
t=20;d=4000;f=200;k=1500; 
sigma=196.6292;mu=600; 
h=2000; 
for m=1:M
    m
    for n=1:N 
        w1=t*(m/n)+k+0.001184*h*m/n+0.02*m*f; 
        S=normcdf(m,mu,sigma);
        p1=1-S/0.95; 
        Ew1=w1*p1;
        Ew2=0;Eq2=0; 
        for idx=1:m-1 
            num=floor(idx/n)+1; 
            w2=t*num+d+0.02*f*idx+0.6*f*(n*num-idx)+0.001184*h*idx/n;
            p2=1/(sqrt(2*pi)*sigma)*exp(-(idx+1-mu)^2/(2*sigma^2))/0.95; 
            Ew2=Ew2+w2*p2; 
            q2=0.98*idx+(n*num-idx)*0.4;
            Eq2=Eq2+q2*p2;
        end
        Ew=Ew1+Ew2; 
        Eq=0.98*m*p1+Eq2; 
        E(m,n)=Ew/Eq; 
    end
end
minE=min(min(E)) 
[minm,minn]=find(E==minE)
五、结果分析

       对三个问题分别进行建模分析求解后得到的结果对比如表4所示。

表4  三个问题结果对比表
问题 换刀周期(件) 检查周期(件) 平均损失费用(元)
问题一 364 26 6.7674
问题二 340 68 11.4242
问题三 374 34 10.6321

       通过表4进行分析可得,在三个问题的情况下分别得到的使工序效益最好的换刀周期、检查周期均符合题目要求,且每个问题得到的零件平均损失费用均较小。问题一与问题二结果对比发现,问题二比问题一零件平均损失费大,是因为增加了工序正常时因误检停机产生的损失费用。问题二与问题三结果对比发现,问题三比问题二的零件平均损失费小,证明了改变检查方法来优化模型的有效性。综上,三个模型均能够满足给定的题目要求,随着考虑的因素逐渐增多,模型的建立逐步贴近实际,模型的最优解也符合实际情况。

上一篇:AspectCore中的IoC容器和依赖注入


下一篇:性能测试JMH