自动化车床管理方案计划的数学模型(含程序).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<600这是合理的,刀具在寿命末端生产不合格品的概率大大提高,我们在刀具寿命之前换刀。这样可以大大减少不合格零件。而检查费用较少,检查因而要密集些。6问题二的解答6.1模型III的建立6.1.1确定目标函数目标函数 :6.1.2问题(3)的约束条件由于工序正常时产出的零件不全是合格品,有2%为不合格品;而工序故障时产出的零件有40%为合格品,60%为不合格品。这样会导致2中情况:误检和漏检。误检的后果:工序正常时,由于检查到不合格品而停机,会产生一个费用。漏检的后果:工序不正常工作时由于有40%的合格品,会因为检测到合格品而不换刀,导致不合格品增加。误检的两种情况:(1)发生在正常工序阶段(2)误检产生的耗损为误检停机费用漏检的两种情况:(1)漏检只可能发生在故障之后(2)漏检的耗损为漏检导致多出的不合格品6.1.3综上所述,我们建立问题(2)的离散型随机事件模型6.1.4模型II的求解换刀前未出现故障的更新过程的单位损失费用:(1) 一次换刀费用:k (2)检查费用:单位更新周期内的检查次数乘以单次检查费用,即g1t(g1表示的整数部分)(3)由于车床在正常工作时将会产生2%的不合格产品,如果在检测时正好被检测到,将误认为有故障而停机,造成的误停机损失总费用等于误停机的次数乘以一次误停机的损失 误检测而停机的次数=总的检测次数在正常情况下不合格产品所占总产品的百分含量,即 所以,误检测而停机造成的损失费用为: (4)在工序正常运行中产生的不合格零件的损失费用=单位换刀间隔内产生的不合格零件总数与单个不合格零件的损失的乘积,即合计(1)、(2)、(3)、(4)各项的费用,即为换刀前未出现故障的更新过程的单位损耗费用 换刀前出现故障的更新过程的单位损失费用:由于故障的出现是随机的,即故障可能在的任意点发生,同模型一,系统在此单位刀具更换间隔内的平均损失费用为: 其中单位换刀间隔内的点处发生故障的平均损失费用包括:(1)发生故障前的检查费用: (表示包括故障后的那次检查的故障前所有检查次数的和)(2)发生故障前由于误检停机造成的损失费用(同一(3)中表述):(3)正常工序中2%的不合格零件造成的损失(4)发生故障后的检查所需费用:因为每次故障后要进行一次检查,而这次检查时可能检查到40%的合格品,也就是下一次是否进行检查的可能性为40%,于是对从次(记为第0次到(记为第次)进行累计作为平均检查次数,即其中等于减去除以所得的余数,即为发生故障的检查间隔内,发生故障到下次检查之间产生的零件数.这时发生故障后的检查所需费用为而当时,即换刀发生在从故障发生到下一次检查维修之间的时候,检查次数为0,所以检查费用为0(5)对故障进行维修换刀的平均损失:其中为第次检查时检查到合格品时的概率(6)发生故障后产生的不合格零件的平均损失费用:当时即当故障发生后第一次检查到合格零件而误认为是无故障发生直到检查出故障而进行换刀或维修为止的情况这时损失可分为两个部分: a发生故障产生后到第一次检查的所产生不合格零件的损失,即 b从发生故障后的第一次检查直到维修换刀时产生不合格零件的损失 于是当时,发生故障后产生的不合格零件的平均损失费用当,即固定换刀发生在从故障发生到第一次检查之间时,发生故障后产生的不合格零件的平均损失费用可得:其中x等于(1)、(2)、(3)、(4)、(5)、(6)各项损失之和。换刀前未出现故障的情况下的损失费用U1:所以换刀前未出现故障的情况下的损失费用U1合计为换刀前出现故障的情况下总的损失费用U2:所以换刀前出现故障的情况下总的损失费用其中x等于(1)、(2)、(3)、(4)、(5)、(6)各项损失之和总损失费用:合格零件总数为:(1)换刀前未发生故障所产生的总的合格零件个数:它等于换刀前未发生故障的情况下产生的零件总数与合格零件所占百分比的乘积(2)换刀前发生故障所产生的总的合格零件个数所以合格零件总数为:系统工序合格零件的单位期望损失:6.1.5问题(2)的求解结果及分析运用matlab求得:每生产32个零件就应该检查一次,每生产320个零件就换一次刀具,合格零件的损失期望为7.46元。结果分析:与(1)相比,我们发现增大了检查间隔,减小了换刀间隔。由于工序正常而误认有故障停机产生的损失费用为1500元/次,故应尽量减少停机次数,而换刀间隔减小,有利于减少不合格零件数量。7问题三的解答7.1模型III的建立问题(2)中由于工序正常时产出的零件不全是合格品,有2%为不合格品;而工序故障时产出的零件有40%为合格品,60%为不合格品。这样会导致误检和漏检,从而增加了损失。我们基于这种情况,建立当检查到合格品时再检查一零件,若任然是合格品则判定工序正常,否则,判定工序出现故障。这样虽然会增加检查成本。但是,也会大大减少误检。从而,可能使得损失减小。我们基于这样一种思想对模型II进行改进。7.1.1确定目标函数目标函数:7.1.2综上所述,建立与问题(2)相似的离散型随机事件模型其中:上式中各个参数的意义及计算过程与问题(2)相似,这里不再重述。7.1.3求解结果及分析运用matlab求解得:每隔32个零件检查一次,每隔320个零件就换一次刀具。合格零件的损失期望为6.40元。结果分析:与问题(2)求解结果比较可知检查间隔和换刀间隔没变,合格零件的损失期望为7减小了,说明改进后的模型,效益更好。8模型的评价、改进及推广8.1模型评价:优点:们根据工序实际操作流程,建立离散型随机事件模型,在一定度上减少了工序的损失。我们以合规零件平均损失期望为目标函数,求解目标函数最小值下,检查间隔和刀具更换策略。缺点:由于所给的100个数据显然太少,求得的刀具寿命的正态分布函数会有一定误差。并且,在求解过程中,我们多处用了近似,使得最总结果会有偏差。8.2模型的改进(1)查询更多的数据,以使得统计结果更正确。(2)我们求解过程中,考虑的是等间距检查,而实际操作中我们可以选择不等间距检查。8.3模型的推广我们建的模型不仅可以用于工序生产,也可用于其它资源的安排,还可用于诸如像试卷评价模型的其它类型的问题。参考文献1现代质量管理统计方法 现代质量管理统计方法组编 学术期刊出本社1988.2概率论与数理统计浙江大学 谢式千 主编高等教育出版社1979年3月版 3数学建模导论 陈理荣 主编 北京邮电大学出版社1999年版 4数学建模简明教材 张兴永编著 中国矿业大学出版社5数学分析(第三版) 华东师大数学系编 高等教育出版社6数学建模方法及其应用 韩中庚编著 高等教育出版社7数学建模案例精选 朱道元等编著 北京:科学出版社,2003.附录一表 一:100次刀具故障记录(完成的零件数)4593626245425095844337488155056124524349826407425657065936809266531644877346084281153593844527552513781474388824538862659775859755649697515628954771609402960885610292837473677358638699634555570844166061062484120447654564339280246687539790581621724531512577496468499544645764558378765666763217715310851用matlab求解期望和方差并进行拟合和假设检验clear>> 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 (Ta<Ta0)附录三 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 x0<x1 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 x0<x1 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 (Ta<Ta0) T1=T;Tc1=Tc;Ta0=Ta; else continue; end endendfprintf(最小单位损耗为:n);Ta0附录六fprintf(最有检查间隔为:n);T1fprintf(最有换刀间隔为:n);Tc1