y
y表示每检查y次更换一次新刀具
x
x表示第一次故障发生时完成的零件数
a
a=1500表示程序正常而误认为有故障停机生产的损失费用
b
b=2%表示在工序正常时生产的不合格零件比率
c
c=60%表示再机床出现故障时生产的不合格零件比率
wi
wi表示一个周期的第
种情况的损失成本
Ej
Ej表示第j种情况的期望损失
pi
pi表示一个周期内的第
种情况的累积概率
Ew(T)
Ew(T)表示一个周期内的损失期望
Et(T)
Et(T)表示一个周期内的合格品期望
E(T)
E(T)表示在一个周期内单个零件的损失期望
i=1表示在最后换刀之前零件生产正常;
i=2表示在检查最后m个零件时,第x各零件出现故障;
i=3表示在最后一次检查间隔前中出现故障
j=1表示连续检查两次但不考虑其他5%的故障影响;
j=2表示连续检查两次并且考虑5%的故障影响;
j=3表示在不连续检查时考虑其他5%的故障影响
3.问题分析
本文研究的是某工序用自动化车床管理设计效益最好检查间隔及刀具更换策略的数学建模问题。
由于刀具损坏等原因导致工序出现故障,经过假设和检验,可知故障的出现是随机的,且在生产任一零件时出现的概率相同。
若检查过于频繁,可以认为工序保持正常的生产状态,可以保持较高的产品合格率,但检查费用过高;若检查间隔过长,由于发现故障不及时,生产过多的不合格品的概率就会过大,所以根据题意,需要确立合理的检查间隔和刀具更换策略使效益最好。
针对问题一:
假设每一次的检查间隔固定相等,由于未发生故障时生产的零件都是合格品,一旦检查发现有不合格品,认为有故障发生且要停机进行调节使恢复正常;若在第y次检查时没有故障发生,也需要换刀具。
这里以换一次刀具的时间间隔为一个生产周期,分三种情况进行讨论:
(1)在第y次检查间隔中未出现故障,则只换刀具不进行调整是恢复正常,总费用只包括调节费和刀具费;
(2)在第y次检查间隔中出现故障,在故障发生前已生产x件合格零件,这时总费用较第一种多了零件损失费和调节费用;(3)在前y-1次检查中的某一次检查出故障,且这时已生产x件合格零件。
最终根据这三种情况的发生概率和费用得到所求的损失期望。
最后用Matlab软件求出最优解。
针对问题二:
未出现故障时,机床生产的零件98%是合格品,2%是次品;而在出现故障时,有40%是合格品,60%是不合格品。
因为正常时可能会随机抽到不合格品而误认为存在故障,这时就会产生误认为有故障停机的损失费用,所以这时的损失期望为工序正常的损失期望加工序产生刀具故障时的损失期望以及误认为有故障停机的损失期望,将一个生产周期同样进行分段考虑,分别计算出三种情况下的总损失期望,即为所求的最优解。
针对问题三:
在问题二所给出的条件基础上,考虑若只检查一次就认为产生故障而停机检查,就会增加损失期望。
若连续检查两次均为不合格品,则可以认为机器一定发生了故障,这样就可以减少误认为有故障停机损失的费用。
同时在此基础上,考虑其他故障占5%的情况,综合比较以下四种情况:
问题二的解答情况;连续检查两次但不考虑其他故障占5%的情况;连续检查两次且考虑5%的情况;考虑其他故障占5%但不连续检查的情况。
最后求出四种情况下的最优解。
4.数据分析
定义1:
单个零件损失期望定义为在一个周期内单个零件的期望损失。
4.1损失费用过高的原因
因为在一个周期内,刀具故障率占总故障率的95%,占总故障损失的比例较大,换刀具的费用为1000元/件,调节使恢复正常(包括刀具费)的平均费用为3000元/次,其刀具损失期望就高于950元/件。
在刀具故障后与换新刀具之前的零件均为不合格品,损失费用是200元/件,若检查的间隔过大,零件的损失费用就会过大。
所以综上损失费用过高。
4.2故障前完成零件数服从正态分布
由于自动化车床的故障发生是典型的随机事件,故障前成产的零件数是典型的随机变量,所以我们先假定零件的正常生产服从正态分布,然后再利用Excel和6SQ工具进行分析与检验,我们得到的结果如下:
表2:
故障前生产零件数服从正态分布的统计检验结果
安德森-达令正态性检验
平均值
600
标准偏差
196.629
检验结果
服从正态分布
方差
38663.0303
AD统计值
0.22273681
最小值
84
P值
1.01329712
最大值
1153
根据以上的检验结果可知:
故障前生产的零件数符合正态分布。
根据所得结果知正态分布N(600,196.6292),其正态分布图如下:
图1:
故障发生前完成零件数的正态分布图
5.问题一的解答
5.1模型的建立
以上假设的期望损失由各个情况的损失数额和发生的概率共同决定的,我们假设的每m件零件检查一次,每检查t次换一次刀具.
1)第一种情况在换刀具前没有发现故障
损失总费用为
;
发生概率为
;
2)第二种情况在最后一次检查间隔中发现故障
损失总费用为
;
发生概率为
;
3)第三种情况在第n次检查间隔中发现故障
损失总费用
;
发生概率为
;
5.2模型的解答
根据模型建立所得到的总的损失期望是
,
一个周期内的合格品期望为
,
单个零件的损失期望为
,
最后经过Matlab编程得到的结果是:
最优检查间隔为:
m=19件
最优换刀策略为:
y=17次
单个零件损失期望为:
E(T)=5.0142元
5.3模型一的结果分析
在这种方案下,由结果分析知,由于检查费用较低,而换刀和调节使恢复正常的费用分别是检查费用的100倍和300倍,故可尽量增加检查密度,减少不合格零件的损失费用;又由于换刀费用比调节使恢复正常的费用要低,故可尽量在不合格零件出现前换刀,避免机器频繁进行调节使恢复正常。
最后通过MATLAB软件编程得到最优解:
最优检查间隔为:
m=19件,最优换刀策略为:
y=17次,单个零件损失期望为:
E(T)=5.0142元
6.问题二的解答
6.1模型二的建立
根据问题二,在正常生产的间隔内有2%的不合格零件,所以这时的单个零件损失为
元/件;在故障发生后的间隔内有60%的不合格品,此时的单个零件损失期望为
元/件;由于在正常生产间隔内的不合格零件为
件,所以误以为有故障而停工检查的次数为
次,所以这时的期望损失为
元。
这时候三种情况的总损失分别为
,根据问题一的解答我们可知三种情况的发生概率为
,分别有
1)第一种情况的总损失和概率为
,
2)第二种情况的总损失和概率为
,
3)第三种情况的总损失和概率为
6.2模型的求解
根据模型建立所得到的总损失期望是
,
合格品期望为
,
最后得单个零件的损失期望为
,
最后经过Matlab编程得到的结果是:
最优检查间隔为:
m=84件
最优的换刀策略为:
y=6次
单个零件损失期望为:
E(T)=7.1559元
6.3模型二结果分析
在这种方案下,由于在工序发生刀具故障时也会有40%的合格品产生,说明发生故障前完成合格的零件数比问题一增多了,故障发生后的零件损失期望变小了,故在这种情况下,最优的检查间隔应该变大,以使单个期望损失更小。
最后通过MATLAB软件编程得到最优解:
最优检查间隔为:
m=84件,最优换刀策略为:
y=6次,单个零件损失期望为:
E(T)=7.1559元
7.问题三的求解
7.1模型的建立
在模型二的基础上,考虑到三种假设:
(1)连续检查两次但不考虑其他故障占5%的影响;
(2)连续检查两次并且考虑其他故障占5%影响;(3)在不连续检查时考虑其他故障占5%影响,求得这三种情况的最优解,然后运用类比的方法,找单个零件损失期望的最小值,即为问题三的最优解。
这三种假设的单个零件期望损失分别为
。
考虑连续检查两次但不考虑其他故障占5%的模型
1)第一种情况在换刀具前没有发现故障
损失总费用为:
发生概率为
;
2)第二种情况的总损失和概率为
,
3)第三种情况的总损失和概率为
7.2模型三的解答
根据连续检查两次但不考虑其他故障占5%的模型建立所得到:
总损失期望是
,
合格品期望为
,
最后得单个零件的损失期望为
,
最后通过Matlab求解得到:
单个零件期望损失(元)
检查间隔(件)
刀具更换间隔(次)
1
7.1559
84
6
2
6.8242
84
6
3
9.1454
84
7
4
10.2161
84
6
注:
1、代表问题二的解答结果;
2、表示在问题二的基础上,连续检查两次但不考虑其他故障占5%的情况;
3、表示在问题二的基础上,连续检查两次且考虑其他故障占5%的情况;
4、表示在问题二的基础上,考虑其他故障占5%的情况但不连续检查;
通过类比得出最优解为E1=6.8242元
7.3模型三结果分析
第1、2两种情况在不考虑5%的情况下,情况2考虑连续检查两次比情况一单个期望损失更低,这是由于第一次检查为不合格品时,无法判断是工序正常时产生的是不合格品还是由于工序发生故障导致的,所以有必要连续进行两次检查,可以减少由于工序正常而误认为停机产生的损失费,所以连续检查时的单个期望损失更小。
第2、3两种情况在连续检查两次的情况下,情况3考虑了其他故障占5%的情况,从而它的单个期望损失比2高,这是由于考虑5%的其他故障时,故障发生时只能通过调节的方式使恢复正常,然而通过调节使恢复正常的费用高于更换新刀具的费用,所以情况3的单个期望损失更高。
通过第1、2的比较知,在不考虑5%的其他故障时,连续检查两次的单个期望损失更低;通过第2、3的比较知,在连续检查两个零件的情况下,不考虑5%的其他故障时单个期望损失更低。
所以在第2、4两种情况下,肯定是2的单个期望损失值更小。
故综上,第2种情况的期望损失值最优。
8.模型的评价、改进及推广
8.1模型的评价
优点:
第三问考虑模型三所涉及的四种情况下的最优解,通过类比法得出最优的检查间隔及更换策略。
缺点:
(1)在问题一二中忽略了其他5%故障所带来的影响,这样会使所求的期望损失有偏差,从而影响最终所求的最优解;
(2)由于求解过程中假设的是等间隔检查,跟故障的累积正态分布差值较大;
(3)题目所提供的数据较少,使得计算结果精确度不高
8.2模型的改进
(1)在求解第一二问时应该考虑其他5%故障的影响
(2)检查间隔以及刀具更换间隔应随时间的变化而变化
8.3模型的推广
本模型不仅适用于自动化车床的零件随机抽样,也可以用于其他的抽样,例如居民生活满意度的调查等随机事件的调查。
9.参考文献
[1]
2000.1
[2]陈怀琛,MATLAB及其在理工课程中的应用指南,西安:
西安电子科技大学出版社,2007,162-172。
[3]魏宗舒等编,概率论与数理统计教程,北京:
高等教育出版社,2008.4,112-119。
[4]谢兆鸿、范正森、王艮远编著,数学建模技术,北京:
中国水利水电出版社,2003.9,150-180。
附录
累积函数分布图:
x=[0:
.02:
1125];y1=[];y2=[];
mu1=630;sig1=196.629;sig1=sqrt(sig1);
y1=[y1,normpdf(x,mu1,sig1)];y2=[y2,normcdf(x,mu1,sig1)];
plot(x,y1),figure;plot(x,y2);title('y1');title('y2')
问题一程序源代码:
T=1;
forx=84:
600
form=1:
100
ifmod(x,m)==0
p1=1-normcdf(x,600,196.629);
w1=1000+x/m*10;
p2=normcdf(x,600,196.629)-normcdf((x/m-1)*m,600,196.629);
w2=10*x/m+200*(x-x)+1000;
forn=1:
x/m+1
p3=normcdf((x/m-1)*m,600,196.629);
w3=10*x/m+200*(n*m-x)+4000;
end
Ew(T)=w1*p1+w2*p2+w3*p3;
Et(T)=x*p1+x*p2+x*p3;
E(T)=Ew(T)/Et(T);
g(T)=x/m;
h(T)=m;
T=T+1;
else
g(T)=ceil(x/m);
end
end
end
[zt]=min(E(1:
T-1))
g(t),h(t)
z=
5.0142
t=
1247
ans=
17
ans=
19
问题二程序源代码:
T=1;
forx=84:
600
form=1:
84
ifmod(x,m)==0
p1=1-normcdf(x,600,196.629);
w1=10*x/m+200*0.02*x+1000+1500*0.02*x/m;
p2=normcdf(x,600,196.629)-normcdf(x-m,600,196.629);
w2=10*x/m+200*0.02*x+200*(x-x)*0.6+1000+1500*(x/m-1)*0.02;
forn=1:
x/m
p3=normcdf((x/m-1)*m,600,196.629);
w3=10*x/m+200*x*0.02+200*(n*m-x)*0.6+1500*0.02*(x/m-1)+200*(x-n*m)*0.02+3000+1000;
end
Ew(T)=w1*p1+w2*p2+w3*p3;
Et(T)=x*p1+x*p2+x*p3;
E(T)=Ew(T)/Et(T);
g(T)=x/m;
h(T)=m;
T=T+1;
end
end
end
[zt]=min(E(1:
T-1)),g(t),h(t)
z=
7.1559
t=
2115
ans=
6
ans=
84
问题三程序源代码:
(1)连续检查两次但不考虑其他故障占5%的情况:
T=1;
forx=84:
600
form=1:
84
ifmod(x,m)==0
p1=1-normcdf(x,600,196.629);
w1=10*x/m+200*0.02*x+1000+1500*0.02*0.02*x/m+10*0.02*0.02*x/m;
p2=normcdf(x,600,196.629)-normcdf(x-m,600,196.629);
w2=10*x/m+200*0.02*x+200*(x-x)*0.6+1000+1500*(x/m-1)*0.02*0.02+10*0.02*0.02*(x/m-1);
forn=1:
x/m
p3=normcdf((x/m-1)*m,600,196.629);
w3=10*x/m+200*x*0.02+200*(n*m-x)*0.6+1500*0.02*(x/m-1)*0.02+200*(x-n*m)*0.02+3000+10*0.02*0.02*(x/m-1);
end
Ew(T)=w1*p1+w2*p2+w3*p3;
Et(T)=x*p1+x*p2+x*p3;
E(T)=Ew(T)/Et(T);
g(T)=x/m;
h(T)=m;
T=T+1;
end
end
end
>>[zt]=min(E(1:
T-1)),g(t),h(t)
z=
6.8242
t=
2115
ans=
6
ans=
84
(2)连续检查两次且考虑5%的情况:
T=1;
forx=84:
600
form=1:
84
ifmod(x,m)==0
p1=1-normcdf(x,600*0.95,196.629*0.95);
w1=10*x/m+200*0.02*x+1000+1500*0.02*0.02*x/m+10*0.02*0.02*x/m;
p2=normcdf(x,600*0.95,196.629*0.95)-normcdf(x-m,600*0.95,196.629*0.95);
w2=10*x/m+200*0.02*x+200*(x-x)*0.6+1000+1500*(x/m-1)*0.02*0.02+10*0.02*0.02*(x/m-1);
forn=1:
x/m
p3=normcdf((x/m-1)*m,600*0.95,196.629*0.95);
w3=10*x/m+200*x*0.02+200*(n*m-x)*0.6+1500*0.02*(x/m-1)*0.02+200*(x-n*m)*0.02+3000+10*0.02*0.02*(x/m-1);
end
Ew(T)=w1*p1+w2*p2+w3*p3;
Et(T)=x*p1+x*p2+x*p3;
Ew1(T)=w1*0.05+w2*0.05+w3*0.05 ;
Et1(T)=x/2 ;
E(T)=Ew(T)/Et(T)+Ew1(T)/Et1(T);
g(T)=x/m;
h(T)=m;
T=T+1;
end
end
end
>>[zt]=min(E(1:
T-1)),g(t),h(t)
z=
9.1454
t=
2533
ans=
7
ans=
84
(3)考虑其他故障占5%的情况但不连续检查:
T=1;
forx=84:
600
form=1:
84
ifmod(x,m)==0
p1=1-normcdf(x,600*0.95,196.629*0.95);
w1=10*x/m+200*0.02*x+1000+1500*0.02*x/m;
p2=normcdf(x,600*0.95,196.629*0.95)-normcdf(x-m,600*0.95,196.629*0.95);
w2=10*x/m+200*0.02*x+