机械优化设计作业.doc
《机械优化设计作业.doc》由会员分享,可在线阅读,更多相关《机械优化设计作业.doc(6页珍藏版)》请在冰豆网上搜索。
![机械优化设计作业.doc](https://file1.bdocx.com/fileroot1/2022-10/22/5e48b748-4f08-4fae-88ce-eaae792e8762/5e48b748-4f08-4fae-88ce-eaae792e87621.gif)
要求根据目标函数和约束条件采用适合的MATLAB优化函数求解优化问题,即线性规划问题、无约束非线性规划、约束非线性规划问题、二次规划问题。
问答题要求:
(1)对该问题进行分析,写出该问题的优化模型(包括设计变量、目标函数、约束条件);
(2)将优化模型转化为matlab程序(m文件);
(3)利用matlab软件求解该优化问题,写出最优解。
1、
解:
程序如下:
f=[-4;-1];
A=[-12;23;1-1;];
b=[4;12;3];
lb=[00];
[x,fval,exitflag]=linprog(f,A,b,[],[],lb)
优化结果:
Optimizationterminated.
x=
4.2000
1.2000
fval=
-18.0000
exitflag=
1
2、
解:
程序如下:
fun='-1*x
(1)*x
(2)*x(3)';
x0=[111];
A=[-1,-2,-2;1,2,2;-1,0,0;0,-1,0;0,0,-1];
b=[0;72;0;0;0];
Aeq=[];
beq=[];
lb=[];
ub=[];
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
优化结果:
x=
23.999712.000112.0001
fval=
-3.4560e+003
exitflag=
5
3、
解:
程序如下:
fun='(x
(1)-2)^2+(x
(2)-1)^2';
x0=[11];
A=[];
b=[];
Aeq=[12];
beq=[2];
lb=[];
ub=[];
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
优化结果:
x=
1.60000.2000
fval=
0.8000
exitflag=
1
4、
解:
建立非线性约束函数文件:
function[c,ceq]=mycon(x)
c=(x
(1)^2+x
(2)-4);
ceq=[];%无等式约束
end
编程如下:
fun='(x
(1)-2)^2+(x
(2)-1)^2';
x0=[11];
A=[];
b=[];
Aeq=[12];
beq=[2];
lb=[];
ub=[];
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,,@mycon)
优化结果:
x=
1.60040.1998
fval=
0.8000
exitflag=
5
5、求函数的极小点。
解:
编程如下:
fun='3*x
(1)^4+2*x
(1)*x
(2)+(1+5*x
(2))^2';
x0=[11];
[x,fval,exitflag]=fminunc(fun,x0)
优化结果:
x=
0.3287-0.2131
fval=
-0.1008
exitflag=
1
6、求表面积为的体积最大的长方体体积。
解:
设长方体的长宽高分别为x1、x2、x3.则体积为:
V=x
(1)*x
(2)*x(3)
建立的数学模型:
maxf(x)=x
(1)*x
(2)*x(3)
s.tx
(1)、x
(2)、x(3)>0;
2*(x
(1)*x
(2)+x
(1)*x(3)+x(3)*x
(2))=150。
先建立非线性约束函数文件:
function[c,ceq]=mycon(x)
c=[];%没有不等式约束
ceq=[2*(x
(1)*x
(2)+x
(1)*x(3)+x(3)*x
(2))-150];
end
然后编程如下:
fun='-x
(1)*x
(2)*x(3)';
x0=[111];
A=[];
b=[];
Aeq=[];
beq=[];
lb=[0;0;0];
ub=[];
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,@mycon)
优化结果:
x=
5.00005.00005.0000
fval=
-125.0000
exitflag=
5
答:
当长宽高都为5米时,体积最大,且最大体积为125立方米。
7、某车间生产甲(如轴)、乙(如齿轮)两种产品。
生产甲种产品每件需要用材料9㎏,3个工时、4kw电,可获利60元;生产乙种产品每件需要用材料4㎏、10个工时,5kw电,可获利120元。
若每天能供应材料360㎏,有300个工时,能供电200kw电,问每天生产甲、乙两种产品各多少件,才能够获得最大的利润。
解:
设生产甲乙两种产品分别为x
(1),x
(2)件,利润的表达式为:
f(x)=60*x
(1)+120*x
(2)
建立数学模型如下:
maxf(x)=60*x
(1)+120*x
(2)
s.t9*x1+4*x2≤360;
3*x1+10*x2≤300;
4*x1+5*x2≤200
x
(1),x
(2)≥0
编程如下:
fun=[-60-120];
A=[94;310;45];
b=[360;300;200];
Aeq=[];
beq=[];
lb=[0;0];
ub=[];
[x,fval,exitflag]=linprog(fun,A,b,Aeq,beq,lb,ub)
优化结果:
Optimizationterminated.
x=
20.0000
24.0000
fval=
-4.0800e+003
exitflag=
1
答:
生产甲乙两种产品分别为20件,24件时有最大利润4080元。
8、已知:
轴一端作用载荷p=1000N/cm,扭矩M=100N·m;轴长不得小于8cm;材料的许用弯曲应力[σw]=120MPa,许用扭剪应力[τ]=80MPa,许用挠度[f]=0.01cm;密度[ρ]=7.8t/m,弹性模量E=2×105MPa。
要求:
设计销轴,在满足上述条件的同时,轴的质量应为最轻。
解:
设剪切应力为x1,弯曲应力为x2,扰度为x3,直径为x4,长度为x5。
质量表达式为:
f(x)=1/4*7.8*pi*x(4)^2*x(5)*1e-6
建立数学模型如下:
minf(x)=1/4*7.8*pi*x(4)^2*x(5)*1e-6
s.tx1,x2,x3,x4,x5>0;
pi*x(4)^3*x
(1)/16≤100;
1000*x(5)^3-pi*x(4)^4*(2.5e+5)*x(3)/16≤0;
1000*x(5)-pi*x(4)^3*x
(2)/32<0;
编程如下:
先建立非线性约束函数文件:
function [c,ceq]=mycon(x)
c=[100-pi*x(4)^3*x
(1)/16;1000*x(5)^3-pi*x(4)^4*(2.5e+5)*x(3)/16;1000*x(5)-pi*x(4)^3*x
(2)/32];
ceq=[];
end
主程序如下:
fun='1/4*7.8*pi*x(4)^2*x(5)*1e-3';
x0=[2002000.5100];
A=[];
b=[];
Aeq=[];
beq=[];
lb=[000080];
ub=[801200.1infinf];
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,@mycon)
优化结果:
x=
80.0000120.00000.100033.575980.0000
fval=
552.4983
exitflag=
4
答:
当直径为33.5759mm,长度为80mm时;满足强度和安全条件。
此时质量最轻为552.4983克。