优化设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
专业:机械设计制造及其自动化
班级:072145
科目:优化设计
姓名:小土逗
学号:20141000***
指导老师:陈祯
目录
第一题 (3)
第二题 (4)
第三题 (6)
附录 (8)
1、求解如下最优化问题
subject 221≤+x x
22-21≤+x x 021≥x x ,
解:由题意分析可得:
该题所求函数 )(x f 的最小值,对函数 )(x f 进行分析可得该
函数属于二次规划问题,因此可以直接编程求解。程序如下:
>>H=[2 -2;-2 4];f=[-2;-6];
>>A=[1 1;-1 2];b=[2;2];
>>lb=zeros(2,1);
>>[x,fval]=quadprog(H,f,A,b,[],[],lb)
运行结果:
2、某农场拟修建一批半球壳顶的圆筒形谷仓,计划每座谷仓容积为
222121212262)(m in x x x x x x x f +-+--
=
300立方米,圆筒半径不得超过3米,高度不得超过10米。半球壳
顶的建筑造价为每平方米150元,圆筒仓壁的造价为每平方米120元,
地坪造价为每平方米50元,求造价最小的谷仓尺寸为多少?
解:由题意可设圆筒半径为 1x ,圆筒高度为 2x ,圆筒形谷仓
造价为 )(x f 。
则圆筒形谷仓造价 )(x f 与圆筒半径 1x 和圆筒高度 2x 的关
系为:
5015021202)(***212
121x x x x x f πππ++= 由题意可得圆筒半径与圆筒高度的限制为:
31≤x
102≤x
3003
231221=+x x x ππ
可得该问题的数学模型为:
5015021202)(m in ***212
121x x x x x f πππ++= ..t s 31≤x
102≤x
3003
231221=+x x x ππ
则可对该数学模型进行编程求解,由于该题中含有多变量二次等式约
束条件,则应使用fmincon ,程序如下:
调用函数文件:
function f = zaojia( x )
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
f=2*pi*x(1)*x(2)*120+2*pi*x(1)^2*150+pi*x(1)^2*50;
end
function [ c,ceq ] = one( x)
%UNTITLED4 Summary of this function goes here
% Detailed explanation goes here
c=[];
ceq=pi*x(1)^2*x(2)+(2/3)*pi*x(1)^3-300;
end
主程序:
>>A=[1 0;0 1];
>>b=[3;10];
>>[x,fval]=fmincon(@(x) zaojia(x),[2;2],A,b,[],[],[],[],@(x)one(x)) 运行结果:
3、已知轴一端作用载荷F=1000N,扭矩T=100Nm,轴长不小于8cm,材料的许用弯曲应力为120MPa,许用扭剪应力为80MPa,许用挠度为0.01cm,密度为7.8t/m3,弹性模量为2×10^5MPa,设计该轴,使得满足上述条件,且重量最轻。
解:设该轴的轴长为1x,轴的半径为2x,轴的质量为)
f。
(x
由题意可得:
由许用弯曲应力可得,该轴的弯曲应力在轴根处最大,最大值为:
32
11*832x Fx W Fx Z π= 由题意可得:
6321110*120*832≤=x Fx W Fx Z π 由许用扭剪应力可得,轴为等直圆杆,则该轴的最大扭剪应力为:
32
max *816x T W T P πτ==
由题意可得:
632max 10*80*816≤==x T W T P πτ 由许用挠度可知,该轴为悬臂梁模型,因此最大挠度为:
42
3131max 16*3643x E Fx EI Fx πω== 则有:
442
3131max 1016*3643-≤==x E Fx EI Fx πω 则该题的数学模型为:
08
.0 1016*364 10*80*816 10*120*832 ..7800)( min 214
42
316326
32
122
1≤--≤-≤≤≤=-x x x E Fx x T x Fx t s x x x f ππππ
则程序为:
调用函数:
function [ c,ceq ] = two( x )
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
c=[32*1000*x(1)/(8*pi*x(2)^3)-120*10^6;
16*100/(8*pi*x(2)^3)-80*10^6;
64*1000*x(1)^3/(3*16*2*10^11*pi*x(2)^4)-10^-4];
ceq=[];
end
function f = zhiliang( x )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
f=7800*pi*x(1)*x(2)^2;
end
主函数:
A=[-1 0;0 -1];
b=[-0.08;0];
[x,fval]=fmincon(@(x)zhiliang(x),[1;1],A,b,[],[],[],[],@(x)two(x)) 运行结果: