数学建模零件参数的优化设计.docx
《数学建模零件参数的优化设计.docx》由会员分享,可在线阅读,更多相关《数学建模零件参数的优化设计.docx(17页珍藏版)》请在冰豆网上搜索。
![数学建模零件参数的优化设计.docx](https://file1.bdocx.com/fileroot1/2023-1/28/db9a550c-fa38-418d-adbc-c144d68c5f6e/db9a550c-fa38-418d-adbc-c144d68c5f6e1.gif)
数学建模零件参数的优化设计
;零件参数的优化设计
Companynumber[1089WT-1898YT-1W8CB-9UUT-92108]
零件参数的优化设计
摘要
本文建立了一个非线性多变量优化模型。
已知粒子分离器的参数y由零件参数=2…7)决定,参数“的容差等级决定了产品的成本。
总费用就包括y偏离刃造成的损失和零件成本。
问题是要寻找零件的标定值和容差等级的最佳搭配,使得批量生产中总费用最小。
我们将问题的解决分成了两个步骤:
1.预先给定容差等级组合,在确定容差等级的情况下,寻找最佳标定值。
2.釆用穷举法遍历所有容差等级组合,寻找最佳组合,使得在某个标定值下,总费用最小。
在第二步中,由于容差等级组合固定为108种,所以只要在第一步的基础上,遍历所有容差等级组合即可。
但是,这就要求,在第一步的求解中,需要一个最佳的模型使得求解效率尽可能的要高,只有这样才能尽量节省计算时间。
经过对模型以及matlab代码的综合优化,最终程序运行时间仅为秒。
最终计算出的各个零件的标定值为:
X厂,
等级为:
d=B、B、B、C、C、B、B
一台粒子分离器的总费用为:
元
与原结果相比较,总费用由(元/个)降低到(元/个),降幅为%,结果是令人满意的。
为了检验结果的正确性,我们用计算机产生随机数的方式对模型的最优解进行模拟检验,模拟结果与模型求解的结果基本吻合。
最后,我们还对模型进
行了误差分析,给出了改进方向,使得模型更容易推广。
关键字:
零件参数非线性规划期望方差
一、问题重述
一件产品由若干零件组装而成,标志产品性能的某个参数取决于这些零件的参数。
零件参数包括标定值和容差两部分。
进行成批生产时,标定值表示一批零件该参数的平均值,容差则给出了参数偏离其标定值的容许范围。
若将零件参数视为随机变量,则标定值代表期望值,在生产部门无特殊要求时,容差通常规定为均方差的3倍。
进行零件参数设计,就是要确定其标定值和容差。
这时要考虑两方面因素:
一是当各零件组装成产品时,如果产品参数偏离预先设定的目标值,就会造成质量损失,偏离越大,损失越大;二是零件容差的大小决定了其制造成本,容差设计得越小,成本越高。
试通过如下的具体问题给出一般的零件参数设计方法。
粒子分离器某参数(记作y)由7个零件的参数(记作xx,x2,...,x7)决定,经验公式为:
y的目标值(记作y0)为。
当y偏离y°+时,产品为次品,质量损失为1,000元;当y偏离%+时,产品为废品,损失为9,000元。
零件参数的标定值有一定的容许范围;容差分为A、B、C三个等级,用与标定值的相对值表示,A等为+1%,B等为+5%,C等为+10%。
7个零件参数标定值的容许范围,及不同容差等级零件的成本(元)如下表(符号/表示无此等级零件):
标定值容许范围
C等
B等
A等
X1
[,]
/
25
/
X:
[J
20
50
/
X3
[,]
20
50
200
Xi
[,]
50
100
500
X5
[,]
50
/
/
X6
[12,20]
10
25
100
X;
[,]
/
25
100
现进行成批生产,每批产量1,000个。
在原设计中,7个零件参数的标定值为:
X1二,X2=,X3二,X|=,Xs=>X6=16,X;二;容差均取最便宜的等级。
请你综合考虑y偏离y。
造成的损失和零件成本,重新设计零件参数(包括标定值和容差),并与原设计比较,总费用降低了多少
二、模型假设
1、将各零件参数视为随机变量,且各自服从正态分布;
2、假设组成离子分离器的各零件互不影响,即各零件参数互相独立;
3、假设小概率事件不可能发生,即认为各零件参数只可能出现在容许范围内;
4、在大批量生产过程中,整批零件都处于同一等级,。
本题可认为1000各零件都为A等、B等或C等;
5、生产过程中出质量损失外无其他形式的损失;
6、在质量损失计算过程中,认为所有函数都是连续可导的。
三、符号说明
第i类零件参数的标定值(i二1,2……7);
加,:
第i类零件参数的实际值相对目标值的偏差(i二1,2……7):
/•:
第i类零件参数的容差(i二1,2,……7);
6:
第i类零件参数的方差(i二1,2,……7);
%勺:
标定值兀的上、下限;
y:
离子分离器某参数的实际值;
儿:
离子分离器该参数的目标值;
八离子分离器某参数的均值;
Ay:
离子分离器某参数的实际值y相对平均值亍的偏差;
离子分离器某参数的方差;
片:
一批产品中正品的概率;
A:
一批产品中次品的概率;
4:
一批产品中废品的概率;
W:
—批产品的总费用(包括损失和成本费);
C.:
第i类零件对应容差等级为j的成本(j=A,B,C)单位:
元/个。
四、问题分析
由简单的线性代数式决定,而损失费涉及概率分布的非线性函数。
要求出损失费,就必须知道一批产品的次品率和废品率,结合各类零件都服从Ngb冷,可假设y也服从正态分布,联想正态分布的性质一一当各变量均服从正态分布时,其线性组合也服从正态分布。
题中所给经验公式为一复杂的非线性的公式,无法直接对其分析处理,所以需借助泰勒公式将其展开并作相应处理使其线性化。
而对于零件成本,需先确定容差等级才能求得成本费。
由容差等级和各类零件的标定值孑便可知道给类零件的容差最后,便将问题转化为兀、rf关于总目标函数的最优解的问题上。
在进行零件参数设计时,如果零件设计不妥,造成产品参数偏离预先设定值,就会造成质量损失,且偏差越大,损失也越大;零件容差的大小决定了其制造成本,容差设计得越小(即精度越高)零件成本越高。
合理的设计方案应既省费用又能满足产品的预先设定值,设计方向应该如下:
(1)设计的零件参数,要保证由零件组装成的产品参数符合该产品的预先设定值,即使有偏离也应是在满足设计最优下的容许范围。
(2)零件参数(包括标定值和容差等级)的设计应使总费用最小为优。
此外分析零件的成本及产品的质量损失不难发现,质量损失对费用的影响远大于零件成本对费用的影响,因而设计零件参数时,主要考虑提高产品质量来达到减少费用的目的。
五、模型建立
为了确定原设计中标定值(兀(=1,2,…,7)的期望值)及已给的容差对产品性能参数影响而导致的总损失w,即确定y偏离目标值儿所造成的损失和零件成本,先列出总损失的数学模型表达如下:
当然,为了确定总损失W,必须知道片、P「P.(即正品、次品及废品的
概率)。
为此,将经验公式用泰勒公式在X=x&=l,2…7)处展开并略去二次以
上高次项后来研究y的概率分布,设/«=〉,,则
将标定值兀《=1,2…7)带入经验公式即得
由于在加工零件时,在标定值知道的情况下,加工误差服从正态分布,即且山1相互独立,由正态分布性质可知
由误差传递公式得
由于容差为均方差的3倍,容差与标定值的比值为容差等级,则
y的分布密度函数为
y偏离儿±0.1的概率,即次品的概率为
p2=f》(y)d(y)+
(2)
y偏离儿±0.3的概率,即废品的概率为
p、0(刃〃(刃+匚0(y)〃(y)⑶
由于y偏离儿越远,损失越大,所以在a固定时,调整y使之等于目标值儿可降低损失。
取-儿即亍=儿,贝0
0⑴为标准正态分布函数。
综合考虑y偏离y。
造成的损失和零件成本,设计最优零件参数的模型建立如下:
目标函数
minW=1000x(工C”+10004+9000出)
./T六、模b求解
初略分析
对于原给定的设计方案,利用matlab编程计算(见附录),计算结果如
下:
正品率
次品率
废品率
成本费
损失费
总费用
200
由于按原设计方案设计的产品正品率过低,损失费过高,显然设计不够合理。
进一步分析发现,参数均值亍二偏离目标值儿二太远,致使损失过大。
尽管原设计方案保证了正本最低,但由于零件参数的精度过低,导致正品率也过低。
所以我们应综合考虑成本费和损失费。
模型的实现过程:
本模型通过matlab进行求解,我们通过理论模型求解和随机模拟的求解过程如下:
在给定容差等级的情况下,利用matlab中求解非线性规划的函数fmincon,通过多次迭代求解,最终求得一组最优解。
最初,我们设定的fmincon函数的目标函数就是总费用,约束条件为各个标定值的容许范围,以及各零件标定值带入产品参数表达式应为儿,即。
然而,在迭代过程中我们发现,求解过程十分慢,在给定容差等级的确定的情况下,计算最优标定值需要将近400秒,如果在此基础上对108种容错等级进行穷举查找最优组合,将需要大概12小时。
显然这是不合理的。
因此,我们在仔细对matlab实现代码研
究发现,求解过程之所以慢,是因为代码中存在多次调用求偏导和积分的函数,在fmincon的多次迭代中,耗费大量时间。
所以,为了提高求解速度,我们首先利用matlab中diff函数对产品参数中的各个表达式进行求偏导,然后得到多个带参表达式,利用int函数对y的概率密度函数进行积分,分别得到出现次品和废品概率的表达式,然后将这些表达式写进程序里,这样在求解过程中就不需要在每一次迭代中都要求偏导和积分了,修改后的程序运行时间大大减少。
离子分离器参数均值亍二
离子分离器参数方差%二
模型检验
对设计方案进行动态模拟,由于每种零件参数均服从正态分布,用正态分
如随机数发生器在每种零件参数允许范围内产生1000个随机数参与真实值旺的
计算随机模拟N次后结果如下:
正品率
次品率
废品率
成本费
损失费
总费用
275
143
418
根据最优解的亍二,%二画出y的概率分布图,再对x随机取样画出y的概率分布图(见图),由图可知:
两组数据所画概率分布图的拟合度相当高,进一步确保了模型的正确性。
图概率分布图对比图
通过以上数据,与原设计方案所得结果相比较,总费用由(元/个)降低到(元/个),降幅为%,结果是令人满意的。
七、误差分析
1、在建模过程中,通过泰勒公式将y=f(X)展开并略去二次及以上项使线性化,不可避免地产生了截断误差,所以展开后的式子只是原经验公式的近似关系式。
但在一般情况下,线性化和求总和在实用上具有足够的精度,所以由于函数线性化而略去的高次项可以忽略不计。
在函数关系式较复杂的情况下,将其线性化更具有明显的优势。
2、本模型忽略了小概率事件发生的可能,认为零件的参数只可能出现在允范围内,即[旺-3巧0+3巧]。
现实中,小概率事件仍有发生的可能性,但在大批量生产中,小概率事件的发生对最终结果没有影响,所以可以忽略。
3、该模型对于质量损失的计算,将所有函数都看作连续函数,而这对于每个零件参数而言是不可能的,所以其中也会产生误差。
八、模型的评价及推广
1.优点
(1)建模过程中,采用泰勒公式将经验公式简化,并假设各零件参数都服从满足大量数据的正态分布,使得整个模型的建立及求解得到大大简化。
(2)本模型运用概率统计与优化知识对零件参数进行优化设计。
通过建立一个反映设计要求的数学模型,利用MATLAB软件,经过编程来实现对设计方案参数的调整,将总费用由(元/个)降低到(元/个),降幅达到%,结果还是令人十分满意的。
(3)本模型在程序运算的过程中,做了适当处理,将每次循环本该由计算机求偏导和积分的提前人为处理,将求偏导和积分后的算式写入程序中,这样大大节约了运算时间,将运行时间由儿个小时缩短为。
2.缺点
(1)本模型在模型的求解过程中,对一些可接受范围内的误差直接进行了忽略,因而对于结果的精确性还是会有一定的影响。
(2)本模型是建立在一些假设中的,所有实用性受到了限制,在实际生产中,如果可以把更多的一些因素考虑进去应该会更好。
在已假定的条件下,本模型的优化结果是好的。
3推广
此模型有较强的应用价值。
工程中往往因为某个零件的选取不当,而影响产品的参数,使可靠性降低,造成了极大的经济损失。
所以需综合考虑零件成
本和质量,以求获得最大的经济效益。
本模型具有广泛的适用性,很容易加以推广。
模型中的设计变量
兀(心1,2,…,7)可以推广到“个的情形,即设计变量“(心1,2「丿)已川,其中设计空间川是一个”维空间。
本模不仅适用于粒子分离器参数的设计,而且也可用于类似的机构、零部件、工艺设备等的基本参数的设计问题;容差等级同样可推广应用。
参考文献
[1]韩之俊,姚平中,《概率与统计》,国防工业出版社,1985
[2]陈宝林,《最优化理论与算法》,清华大学出版社,1989
【3】裘宗燕,《数学软件系统的应用及程序设计》,北京大学出版
社,1994
【4】许波,《Matlab工程数学应用》,清华大学出版社,2001
附录:
matlab代码:
functionf=resuIt
%穷举108种容错等级组合求解全局最优解
fval=inf;
tic
%Bmin=[2333332];
%Xmin
B(l)=2;
B(5)=3;
fori=2:
3
forj=l:
3
B⑶二j;
fort二1:
3
B⑷二t;
forg二1:
3
B(6)=g;
form二1:
2
B(7)=m;
[fv,x]二getcost(B);
iffvXmin二x;
Bmin=B;
fval=fv;
end;
end;
end;
end;
end;
end;
f=fval,Xmin,Bmin,p=getP(Xmin,Bmin)
toe
simulation(Xmin,Bmin);%用随机法和计算的结果进行模拟比i<
functionf二Simulation(\IU,B)
%用随机法和计算的结果进行模拟比较
fori=l:
10000
y(i)=Yfun(getparaX(MU,B));
end;
[f,xi]=ksdensity(y);
plot(xi,f);%画经验概率密度曲线
holdon;
yO=Yfun(MU);
fc=getfcY(MU,B);
%{
x=normrnd(yO,fc,1,10000);
[fl,xj]=ksdensity(x):
plot(xj,fl,'r?
);
%}
x0=min(y):
:
max(y);
y=((2*pi)*fc)"(-1)*exp(-(x0-y0).2/2/fc2);
plot(xO,y,'r');
%{
x=min(y):
:
max(y);
yg二gaussmf(x,[fc,y0_);
plot(x,yg,'r');
%}title('对照图');
gtextC注:
蓝线为对x随机取样求得的y分祐');
gtextC红线为根据模型计算出的y分布');
xlabel(');
ylabel('y的概率密度');
holdoff;
function[f,x]二getcost(B)
%在给定容差等级的情况下求最优的标定值,使得Y的均值为yO的情况下,方差
最小
MU=[16];%给定初始的标定值
options=optimset(LargeScale,,'off','Display',off)'Tolx',;
[x,fval]=fmincon(getfcY',MU,[],[],[],[],[],[],'mycon,options,B);
x,B,f=cost(x,B)
function[c,ceq]=mycon(MU,B)
%求最优标定值时的约束条件
%c为不等式约束
%ceq为等式约束
c(l)=MU⑴;
c
(2)=
(1);
c⑶=MU⑵;c(4)=
(2);
c(5)=MU⑶;
c(6)=(3);
c⑺二MU⑷;
c(8)=(4);
c⑼=MU⑸;
c(10)=(5);
c(ll)=MU(6)-20;
c(12)=12-MU⑹;
c(13)=MU(7);
c(14)=(7);
ceq(l)=Yfun(MU);
functionf=cost(MU,B)
%当标定值为MU,容差等级为B时,求费用f=25;
p=getP(MU,B);%求正品、次品、废品的槪
if(B⑵=2)
f=f+50;
else
f=f+20;
end;
switch(B(3))
case1
f=f+200;
case2
f=f+50;
case3
f=f+20;
end;
switch(B(4))
case1f=f+500;
case2f=f+100;
case3f=f+50;
end;
f=f+50;
switch(B(6))
case1f=f+100;
case2f=f+25;
case3
f二f+10;
end;
if(B(7)==l)
f=f+100;
else
f=f+25;
end;
f=f+p
(2)*1000+p(3)*9000:
functionf=getfcY(MU,B)
%对于所给的标定值和容差求Y的方差f二0;
B=int32(B);
fori=l:
7
辻B(i)==l
sigma(i)=MU(i)*3;
end;
ifB(i)==2
sigma(i)=MU(i)*3;
end;
ifB(i)==3
sigma(i)=MU(i)*3;
end;
end;xl二MU
(1);x2=MU
(2);x3=MU(3):
x4=MU(4);x5=MU(5);x6二MU⑹;x7RIU(7);
%求丫对各变量的偏导的评分与对应的方差乘积之和
f=(pdl(xl,x2,x3,x4,x5,x6,x7)*sigma(l))2;f=f+(pd2(xl,x2,x3,x4,x5,x6,x7)*sigma
(2))2;
f=f+(pd3(xl,x2,x3,x4,x5,x6,x7)*sigma(3))2:
f=f+(pd4(xl,x2,x3,x4,x5,x
6,x7)*sigma(4))2;
f=f+(pd5(xl,x2,x3,x4,x5,x6,x7)*sigma(5))2;f二f+(pd6(xl,x2,x3,x4,x5,x
6,x7)*sigma(6))"2;
f=f+(pd7(xl,x2,x3,x4,x5,x6,x7)*sigma(7))2;
f=abs(f";
functionf=pdl(xl,x2,x3,x4,x5,x6,x7)
%丫对迅的偏导
f=8721/50/x5*(x3/(x2-xl))-(17/20)*((1-131/50*(1-9/25/...
(x4/x2厂(14/25)厂(3/2)*(x4/x2)"(29/25))/x6/x7厂(1/2)+...
148257/1000*xl/x5/(x3/(x2-xl)厂(3/20)*((1-131/50*(1-
9/25/(x4/x2)...
-(14/25))'(3/2)*(x4/x2厂(29/25))/x6/x7厂(1/2)*x3/(x2-xl)2
functionf二pd2(xl,x2,x3,x4,x5,x6,x7)
%丫对边的偏导
f=-148257/1000*xl/x5/(x3/(x2-xl))\..
(3/20)*((1-131/50*(1-9/25/(x4/x2厂(14/25))"(...
3/2)*(x4/x2)(29/25))/x6/x7)(1/2)*x3/(x2-xl)...
2+8721/100*xl/x5*(x3/(x2-xl))'(17/20)/((1-131/50*(1-9/25/...
(x4/x2厂(14/25)厂(3/2)*(x4/x2厂(29/25))/x6/x7),(1/2)*(24759/31250*...
(1-
9/25/(x4/x2厂(14/25))'(1/2)/(x4/x2厂(2/5)*x4/x2"2+3799/1250*(1-
9/25/...
(x4/x2厂(14/25))"(3/2)*(x4/x2)*(4/25)*x4/x22)/x6/x7;
functionf二pd3(xl,x2,x3,x4,x5,x6,x7)
%丫对対的偏导
f=148257/1000*xl/x5/(x3/(x2-xl)Y(3/20)*((1-131/50*...
(1-
9/25/(x4/x2)"(14/25))"(3/2)*(x4/x2厂(29/25))/x6/x7)"(1/2)/(x2-xl);
functionf二pd4(xl,x2,x3,x4,x5,x6,x7)
%丫对対的偏导
f=8721/100*xl/x5*(x3/(x2-xl))*(17/20)/((1-131/50*(1-
9/25/(x4/x2厂(14/25))“...
(3/2)*(x4/x2)"(29/25))/x6/x7)"(1/2)*(-24759/31250*(1-
9/25/(x4/x2厂(14/25))'...
(1/2)/(x4/x2)*(2/5)/x2-3799/1250*(1-
9/25/(x4/x2)"(14/25))"(3/2)*(x4/x2)"(4/25)/x2)/x6/x7;
functionf二pd5(xl,x2,x3,x4,x5,x6,x7)
f=-8721/50*xl/x5"2*(x3/(x2-xl)厂(17/20)*((1-131/50*(1-
9/25/(x4/x2厂(14/25))"(3/2)*(x4/x2厂(29/25))/x6/x7)“(1/2);
functionf二pd6(xl,x2,x3,x4,x5,x6,x7)
%丫对朋的偏导
f=-8721/100*xl/x5*(x3/(x2-xl)厂(17/20)/((1-131/50*(1-
9/25/(x4/x2厂(14/25));..
(3/2)*(x4/x2)"(29/25))/x6/x7)'(1/2)*(1-131/50*(1-
9/25/(x4/x2厂(14/25))'(3/2)*(x4/x2厂(29/25))/x6"2/x7;
functionf二pd7(xl,x2,x3,x4,x5,x6,x7)
%丫对*7的偏导
f=-8721/100*xl/x5*(x3/(x2-xl)厂(17/20)/((1-131/50*(1-9/25/...(x4/x2厂(14/25)厂(3/2)*(x4/x2厂(29/25))/x6/x7厂(1/2)*...
(1-131/50*(1-
9/25/(x4/x2厂(