人字架结构尺寸优化设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
% 人字架结构尺寸优化设计
% 1-主程序
% 人字架优化调用两级减速器目标函数文件与非线性约束文件
% 设计变量(钢管平均直径D和人字架高度H)的初始值
x0=[100;800];
% 设计变量(钢管平均直径D和人字架高度H)的下界与上界
Lb=[20;200];
Ub=[140;1200];
% 调用多维约束优化函数
% 线性不等式约束放入约束函数文件,参数A,b定义为空矩阵
% 没有线性等式约束,参数Aeq,beq定义为空矩阵
options=optimset('largescale','off','display','iter');
% 'largescale','off'关闭了大规模方式;
% 'display'用来控制计算过程的显示;
% 'iter'表示显示优化过程的每次计算结果。
[x,fn,exitflag,output]=fmincon(@rzjyh_f,x0,[],[],[],[],Lb,Ub,@rzjyh_g,options);
% 返回值exitflag:>0表示计算收敛,=0表示超过了最大的迭代次数,<0表示计算不收敛;% 返回值output有3个分量,其中:
% iterations是优化过程中迭代次数,funcCount是代入函数值的次数,algorithm是优化所采用的算法
disp ' ******** 人字架结构尺寸优化设计最优解********'
fprintf(' 钢管平均直径 D = %3.4f mm \n',x(1))
fprintf(' 人字架高度H = %3.4f mm \n',x(2))
fprintf(' 人字架体积V = %3.4f mm^3 \n',fn)
% 调用多维约束优化非线性约束函数(jsqyh_g)计算最优点x*的性能约束函数值
g=rzjyh_g(x);
disp ' ======== 最优点的性能约束函数值========'
fprintf(' 人字架钢管压缩强度g1 = %3.4f MPa \n',g(1))
fprintf(' 人字架钢管稳定性g2 = %3.4f MPa \n',g(2))
% 2-目标函数(rzjyh_f)
function f=rzjyh_f(x);
% 人字架跨距B;钢管厚度T;
B=1520;T=2.5;
f=2*pi*x(1)*T*sqrt((B/2)^2+x(2)^2);
% 3-约束函数(rzjyh_g)
function [g,ceq]=rzjyh_g(x);
% 人字架跨距B;钢管厚度T;载荷P;弹性模量E;许用压应力Cy;
B=1520;T=2.5;P=294300;E=2.119e5;sigma_y=690;
% 钢管压缩强度条件
Q=0.5*P*sqrt((B/2)^2+x(2)^2)/x(2); % 钢管轴向压力
sigma=Q/(pi*T*x(1)); % 钢管压应力
g(1)=sigma-sigma_y;
% 钢管稳定性条件
sigma_c=0.125*pi^2*E*(x(1)^2+T^2)/((B/2)^2+x(2)^2); % 稳定临界应力
g(2)=sigma-sigma_c;
% 钢管平均直径边界条件
g(3)=200-x(2);
g(4)=x(1)-140;
% 人字架高度边界条件
g(5)=20-x(1);
g(6)=x(2)-1200;
% 没有非线性等式约束
ceq=[];
% 4-人字架结构尺寸优化设计的几何描述
% 按等间隔矢量产生二维网格矩阵
xx1=linspace(20,140,20); % D取值范围20- 140 xx2=linspace(200,1200,200); % H取值范围200-1200 [x1,x2]=meshgrid(xx1,xx2);
% 数学模型
% 人字架跨距B;钢管厚度T;载荷P;弹性模量E;许用压应力sigma_y;
B=1520;T=2.5;P=294300;E=2.119e5;sigma_y=690;
f=2*pi.*x1*T.*sqrt((B/2)^2+x2.^2); % 目标函数f
% 目标函数值几何描述
fh=contour(x1,x2,f); % 目标函数等高线clabel(fh); % 标注目标函数值title('\rm 人字架结构尺寸优化的设计平面');
xlabel('钢管平均直径\rm D / mm ');
ylabel('人字架高度\rm H / mm ');
% 钢管压缩强度条件
Q=0.5*P*sqrt((B/2)^2+x2.^2)./x2; % 钢管轴向力
sigma=Q./(pi.*x1*T); % 钢管压应力
g1=sigma-sigma_y; % 约束函数g1
% 钢管稳定性条件
sigma_c=0.125*pi^2*E.*(x1.^2+T^2)./((B/2)^2+x2.^2); % 稳定临界应力
g2=sigma-sigma_c; % 约束函数g2
% 约束函数几何描述
hold on;
g1h=contour(x1,x2,g1);
g2h=contour(x1,x2,g2);
% 标注图形
gtext('X*');gtext('g_1(X)=0');gtext('g_2(X)=0');
计算结果: