自动化车床管理方案计划的数学模型(含程序).doc
-* 自动化车床管理的数学模型摘 要本文研究的是自动化车床管理问题,该问题属于离散型随机事件的优化模型,目的是使管理得到最优化。首先我们借用maltlab中的lillietest函数对题目给出的100次刀具故障记录的数据进行了数据处理和假设检验(见附录一),样本数据与正态分布函数拟合得很好,从而接受了数据符合正态分布的假设,求得刀具寿命的概率密度函数的期望=600,标准差=196.6296,积分后求得刀具寿命的分布函数。对于问题(1),我们建立起离散型随机事件模型,以合格零件的平均损失期望作为目标函数,借用概率论与数理统计的方法列出方程组,并利用matlab以穷举法(见附录二)得出最优检查间隔为18个,最优刀具更新间隔为368个,合格零件的平均损失期望为5.17元。对于问题(2),我们建立单值目标函数最优化模型,以平均合格零件的损失期望作为目标函数,并由题所给条件列出约束条件表达式。最后借用matlab编程求解(见附录三)得出最优检查间隔为32个,最优刀具更新间隔为320个,合格零件的平均损失期望为7.46元。对于问题(3),我们采取的优化策略是:进行一次检查,如果是合格品则再进行一次检查,后一次检查为不合格品则换刀。在做定量分析时,我们将问题(2)中的目标函数和方程组在问题(3)的条件上做了相应改变,利用matlab用穷举法求解(见附录四)得出优检查间隔为32个,最优刀具更新间隔为320个,合格零件的平均损失期望为6.40元。由结果可以看出问题(3)的检查间隔和刀具更新间隔与问题(2)的结果相同,但合格零件的平均损失期望降低了1.06元。说明问题(3)的检查方式较问题(2)更优。关键词:离散型随机事件优化模型 概率理论 拟合优度 穷举法1问题重述1.1问题背景我国是一个工业化大国,其中自动化车床生产在我国工业生产中扮演着举足轻重的角色。因此能否对于自动化车床进行高效经济地管理直接关系到工业生产是否可以做到“低消耗,高产出”。对于自动化机床管理进行优化符合我国“可持续发展”的战略,同时对于环境资源的节约保护有着突出贡献。对于一个工业化企业而言,在日趋激烈的市场竞争中,“成本最小化,效率最大化”已经成为其至关重要的生存之道。所以大到国家,小至企业,对“自动化车床管理”的研究都给予了高度重视。如今,数学模型分析已经成为对该问题进行研究的主要途径。1.2需要解决的问题一道工序用自动化车床连续加工某种零件,由于刀具损坏等原因该工序会出现故障,其中刀具损坏故障占95%, 其它故障仅占5%。工序出现故障是完全随机的, 假定在生产任一零件时出现故障的机会均相同。工作人员通过检查零件来确定工序是否出现故障。现积累有100次刀具故障记录,故障出现时该刀具完成的零件数如附录表一。现计划在刀具加工一定件数后定期更换新刀具。 已知参数: (1)故障时产出的零件损失费用 f=200元/件; (2)进行检查的费用 t=10元/次; (3)发现故障进行调节使恢复正常的平均费用 d=3000元/次(包括刀具费); (4)未发现故障时更换一把新刀具的费用 k=1000元/次。 问题一:假定工序故障时产出的零件均为不合格品,正常时产出的零件均为合格品, 试对该工序设计效益最好的检查间隔(生产多少零件检查一次)和刀具更换策略。 问题二:如果该工序正常时产出的零件不全是合格品,有2%为不合格品;而工序故障时产出的零件有40%为合格品,60%为不合格品。工序正常而误认有故障停机产生的损失费用为1500元/次。对该工序设计效益最好的检查间隔和刀具更换策略.问题三:在问题三的情况下, 可否改进检查方式获得更高的效益。 2模型的假设及符号说明2.1模型的假设假设1:假设在生产任一零件时出现故障的机会均相等。假设2:假设生产刚启动时使用的刀具都是新的。假设3:假设生产任一零件时所需的时间相同。假设4:假设提供的刀具故障记录数据是独立同分布的.假设5: 假设无论刀具损坏故障还是其它故障, 发生故障并使恢复正常的平均费用均为3000元每次。假设6: 假设提供的刀具故障记录数据是独立同分布的。假设7: 假设发现故障和停机维修的时间可以忽略不计。假设8: 假设检查时不停止生产,在检查出不合格零件时才停止再进行维修。假设9: 假设每次检查只能检查一个零件。假设10:假设5%的其它故障可以忽略不计。2.2符号说明符号说明f故障时产生的零件损失费用200元/件t检查的费用10元/次d发现故障进行调节使恢复正常的平均费用3000元/次k未发现故障时更换一把新刀具的费用1000元/次刀具平均寿命样本方差Tc检查零件的单位时间间隔T定期换刀的单位时间间隔T(c)以检测时间间隔为时,系统工序合格零件的单位期望损失Tc*以经济损失最小为目标的最优检查的时间间隔T*以经济损失最小为目标的最优的换刀间隔T(c)*在和的情况下,系统工序合格零件的最小单位期望损失f(x)系统的失效概率密度F(x)累积失效概率密度,即寿命分布函数3问题分析在自动化车床生产流程中,由于刀具损坏等原因会使工序出现故障,工序故障的出现是完全随机的。工作人员通过检验零件来确定是否出现故障,并且决定在刀具加工一定的零件后更换刀具。当发生故障时要及时维修,如果检修周期太长,故障不能及时发现,会给生产带来损失;检查周期太短又会增加费用。在理论上我们首先将问题转化为概率模型。通过分析题目所给的100次刀具故障记录,我们通过绘图分析假设刀具的寿命服从正态分布。再通过假设检验,我们决定接受这一假设。问题1中我们建立离散型随机事件模型I。我们选择一个周期T。目标函数要求目标函数取最小值的情况下求解检查间隔和道具更换策略。U总分为两种情况:故障发生在换刀之前与故障发生在换刀之后。我们分别求解这两种情况。问题(2)中,可能会产生2中误判。误检:工序正常时,由于检查到不合格品而停机,会产生一个费用。漏检:工序不正常工作时由于有40%的合格品,会因为检测到合格品而不换刀,导致不合格品增加。问题(3)中,由于问题(2)中由于工序正常时产出的零件不全是合格品,有2%为不合格品;而工序故障时产出的零件有40%为合格品,60%为不合格品。这样会导致误检和漏检,从而增加了损失。我们基于这种情况,建立当检查到合格品时再检查一零件,若任然是合格品则判定工序正常,否则,判定工序出现故障。这样虽然会增加检查成本。但是,也会大大减少误检。从而,可能使得损失减小。我们基于这样一种思想对模型II进行改进。4数据处理及分析4.1刀具故障完成零件个数的数据统计分析 我们将刀具寿命统计数据绘图如下,再通过分布拟合检验法可以证明刀具故障数据近似服从正态分布。(编程见附录二)4.1.2正态分布拟合度检验:函数 lillietestH = lillietest(X) 表示对输入向量X进行Lilliefors测试,显著性水平为0.05。H = lillietest(X,alpha) 表示在水平alpha而非5%下施行Lilliefors测试,alpha在0.01和0.2之间。H,P,LSTAT,CV = lillietest(X,alpha) P为接受假设的概率值,P越接近于0,则越应该拒绝正态分布的原假设;LSTAT为测试统计量的值,CV为是否拒绝原假设的临界值。说明: H为测试结果,若H=0,则可以认为X是服从正态分布的;若H=1,则可以否定X服从正态分布。运用matlab计算可得(见附录一) h = 0 p = 0.5000 l = 0.0421cv = 0.0890h=0表示接受正态分布的假设;p=0.5000表示服从正态分布的概率很大;统计量的值l=0.421小于接受假设的临界值cv=0.0890,因而接受假设(测试水平为0.05)通过以上4个指标,可以得出结论:样本中所给的数据与正态分布函数拟合得很好,我们接受这一假设。4.1.3概率密度函数求解.绘制正态分布函数图象如下则累计失效概率密度函数(寿命分布函数)为:5问题一的解答5.1模型I的建立5.1.1确定目标函数 以合格零件单位期望为目标函数的目标函数:5.1.2问题一的求解I如果故障发生在换刀之后:换刀间隔T尚未出现故障时一次更新所消耗费用S1:(1)检查费用:检查费用等于检查的次数乘以单次检查所需的费用,即g1t一次换刀前未出现故障的过程的检查次数,等于固定换刀间隔T除以检查周期Tc所得的整数部分(2)换刀费用:k(3)不合格零件损失费用:0其中换刀前未出现故障的情况下总的损失费用为U1:换刀间隔T前尚未出现故障发生这种情况时的更新间隔均为T出现的次数等于刀具更新的总次数乘以以T为更新间隔情况下换刀前仍未出现故障的概率,即,因此定期换刀前未出现故障的情况下的总损失U1等于这种情况下的刀具更新次数乘以单位更新过程的损失费用S1即有:所以:如果故障发生在换刀之前更新过程所消耗的费用S2(1)发生故障时的维修换刀费用:d(2)故障维修前所有的损失费用:由于故障发生的随机性,因此可以发生在T内的任何位置因此这部分的损失费用等于对于周期T内任意点x处发生故障所造成的损失与在x处可能发生故障的概率的乘积进行积分的结果,即其中表示在一个换刀周期T内任意的x处发生故障概率。任意位置发生故障的损失费Wx=检查费用+零件损失费a检查费用等于检查次数乘以单次检查费用,即 (g2为发生故障x前的检查次数,等于所得的整数部分) b零件损失费用等于从发生故障到维修检查之间产生的不合格零件数乘以单个零件的损失费用,即 (H为发生故障的检查间隔内产生的合格零件数,即发生故障前的所有合格零件数除以检查间隔所得的余数)所以换刀前已出现故障的情况下的损失总费用U2:定期换刀前出现故障的情况下的总损失U2等于这种情况下的刀具更新次数乘以单位更新过程的损失费用S2,即:换刀间隔T前就出现故障这时在故障发生后进行检查并进行维修换刀,从而完成一个更新过程这种情况下总的发生次数等于总的更换次数乘以系统中发生这种情况的概率,即 ,F(T)是为以T为更新周期的情况下工序出现故障的概率,即为前面的数据处理中的累计失效概率密度函数,当t=T情况下F(T)的结果。总损失费用U总:合格零件总数: 系统工序合格零件的单位期望损失:5.1.3综上所述,我们对问题(1)建立离散型随机事件模型目标函数:其中N表示:N次更新过程(每次换刀或维修换刀为一次更新过程)。5.1.4问题(1)的求解结果及分析运用matlab求解得每隔18个零件就该检查一次,每隔368个零件换一次刀具。合格零件的平均损失期望结果分析:我们知道刀具的平均寿命为600.即每平均生产600个零件刀具就不能再使用。368 a=4593626245425095844337488155056124524349826407425657065936809266531644877346084281153593844527552513781474388824538862659775859755649697515628954771609402960885610292837473677358638699634555570844166061062484120447654564339280246687539790581621724531512577496468499544645764558378765666763217715310851; u=sum(a)/100 %求期望值 b=600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600600附录二600600600600600600600600600600600600600600600600600600600600600600600600600600600600600; sum(a-b).*(a-b)/(100-1) o=sqrt(sum(a-b).*(a-b)/(100-1) %求标准差h,p,l,cv=lillietest(a) %拟合度测试绘制正态分布函数图象clearx=200:0.1:1000;f=exp(-(x-600).2./(2*(196.62922).*(1/(sqrt(2*pi)*196.6296); plot(x,f,+r)问题一的程序syms x Ta0=100;for T=368:402 for Tc=15:19 g1=ceil(T/Tc); g2=11;%ceil(x/Tc); f=exp(-(x-600).2./(2*(196.62922)*(1/(sqrt(2*pi)*196.6296); F=int(f,x,0,T);F=subs(F); h=rem(F,Tc);k1=int(10*(g2+1).*f./F,x,0,T)+int(200*(Tc-h).*f./F,x,0,T); f1=(10*g1+1000).*(1-F)+F*(3000+subs(k1,T); a=taylor(x.*f/F,x,0,6); f2=(1-F)*T+F*int(a,x,0,T);f2=subs(f2,T); Ta=f1/f2; Ta=simplify(Ta); if (TaTa0)附录三 T1=T;Tc1=Tc;Ta0=Ta; else continue; end endendfprintf(最有检查间隔为:n);T1fprintf(最有换刀间隔为:n);Tc1在7.0以上就可以用taylor命令直接泰勒展开了,taylor(f,x,a,n)命令,使f函数泰勒展开,其中f为函数表达式,x为函数中的变量,在a点展开,n为展开的项数。要画图的话,用taylortool,默认函数xcosx,可以改。问题二的程序syms x Ta0=100;for T=301:321 for Tc=18:32 x0=ceil(T*rand(); f0=200;d=3000;t=10; g1=ceil(T/Tc); g2=11;%ceil(x/Tc); f=exp(-(x-600).2./(2*(196.62922)*(1/(sqrt(2*pi)*196.6296); %概率密度函数 F=int(f,x,0,T); %分布函数 F=subs(F); h=rem(F,Tc); x1=ceil(T-h); if x0x1 k1=int(40*(g2-1)+(1-0.4(g1-g2+1)*d+0.6*f0*(2*h+0.4*(1-0.4(g1-g2)/0.6*Tc)+(1-0.4(g1-g2+1)/0.6*t).*f./F,x,0,T)+int(taylor(200/5附录四0*x.*f./F,x,0,11),x,0,T); f1=(40*g1+1000+T*f0/50)*(1-F)+F*subs(k1,T); a=taylor(0.98*x+0.4*(2*h+0.4*(1-0.4(g1-g2)/0.6*Tc).*f/F,x,0,6); f2=(1-F)*T*0.98+F*int(a,x,0,T); f2=subs(f2,T); else k1=int(40*(g2-1)+(1-0.4(g1-g2+1)*d+0.6*f0*(2*h+0.4*(1-0.4(g1-g2)/0.6*Tc)+(1-0.4(g1-g2+1)/0.6*t).*f./F,x,0,T)+int(taylor(200/50*x.*f./F,x,0,11),x,0,T); f1=(40*g1+1000+T*f0/50)*(1-F)+F*subs(k1,T); a=taylor(0.4*T+0.58*x).*f/F,x,0,6); f2=(1-F)*T*0.98+F*int(a,x,0,T); f2=subs(f2,T);end第三问程序说明:syms x Ta0=100;for T=301:321 for Tc=18:32 x0=ceil(T*rand(); f0=200;d=3000;t=10; g1=ceil(T/Tc); g2=11;%ceil(x/Tc); f=exp(-(x-600).2./(2*(196.62922)*(1/(sqrt(2*pi)*196.6296); %概率密度函数 F=int(f,x,0,T); %分布函数 F=subs(F); h=rem(F,Tc);附录五 x1=ceil(T-h); if x0x1 k1=int(80*(g2-1)+(1-0.16(2*(g1-g2)+1)*d+0.6*f0*(2*h+0.4*(1-0.162*(g1-g2)/0.6*Tc)+(1-0.16(2*(g1-g2)+1)/0.6*t).*f./F,x,0,T)+int(taylor(200/50*x.*f./F,x,0,11),x,0,T); f1=(80*g1+1000+T*f0/50)*(1-F)+F*subs(k1,T); a=taylor(0.98*x+0.4*(2*h+0.4*(1-0.162*(g1-g2)/0.6*Tc).*f/F,x,0,6); f2=(1-F)*T*0.98+F*int(a,x,0,T); f2=subs(f2,T); else k1=int(80*(g2-1)+(1-0.16(2*(g1-g2)+1)*d+0.6*f0*(2*h+0.4*(1-0.162*(g1-g2)/0.6*Tc)+(1-0.16(2*(g1-g2)+1)/0.6*t).*f./F,x,0,T)+int(taylor(200/50*x.*f./F,x,0,11),x,0,T); f1=(80*g1+1000+T*f0/50)*(1-F)+F*subs(k1,T); a=taylor(0.4*T+0.58*x).*f/F,x,0,6); f2=(1-F)*T*0.98+F*int(a,x,0,T); f2=subs(f2,T); end Ta=f1/f2; Ta=simplify(Ta); if (TaTa0) T1=T;Tc1=Tc;Ta0=Ta; else continue; end endendfprintf(最小单位损耗为:n);Ta0附录六fprintf(最有检查间隔为:n);T1fprintf(最有换刀间隔为:n);Tc1
收藏