机械优化设计研究生大作业Word文件下载.doc
- 文档编号:15273440
- 上传时间:2022-10-29
- 格式:DOC
- 页数:12
- 大小:319.52KB
机械优化设计研究生大作业Word文件下载.doc
《机械优化设计研究生大作业Word文件下载.doc》由会员分享,可在线阅读,更多相关《机械优化设计研究生大作业Word文件下载.doc(12页珍藏版)》请在冰豆网上搜索。
0.39898283419758
2.97857158805445
4
-0.65084893915893
0.40135860990393
2.97849714375511
5
-0.65083910731569
0.40135662524523
2.97849714338108
通过牛顿法迭代5次可得出结果,当x1=-0.65083910731569,x2=0.40135662524523时,目标函数最优值fmin=2.97849714338108,且满足。
1.4迭代曲线
1.5检验结果
用Matlab自带优化程序检验
程序为:
>
x0=[-2,2];
[x,fval]=fminsearch('
x
(1)^4-5*x
(1)^2*x
(2)-2*x
(1)*x
(2)+4*x
(1)^2+6*x
(2)^2+4.5*x
(1)-4*x
(2)+5'
x0)
x=-0.650866586874660.40137142333985
fval=2.97849714628600
经检验用牛顿法进行迭代优化结果是正确的,优化结果达到精度要求,ε≤0.001。
1.6讨论
(1)由以上迭代曲线可知,牛顿法迭代收敛速度很快,本优化经过迭代3次后目标函数值趋于平稳。
也可采用黄金分割法,变尺度法等其他方法优化。
由于本题比较简单,不必采用变尺度法来优化。
(2)采用Matlab编程解决了求导和计算海森阵比较复杂的难题,编程简单方便。
1.7Matlab源程序
functionZY32
formatlong
symsx1x2%定义符号变量x1,x2
f=x1^4-2*x1^2*x2-5*x1*x2+6*x1^2+7*x2^2+4.5*x1-4*x2+5%定义函数f
df=[diff(f,x1);
diff(f,x2)]
%diff(f,x1)用于对函数f中变量x1求偏导
%diff(f,x2)用于对函数f中变量x2求偏导
f1=diff(f,x1,2);
%diff(f,x1,2)用于对函数f中变量x1求而二次偏导
f2=diff(diff(f,x1),x2);
%diff(diff(f,x1),x2)用于对函数f中变量下x1,x2求偏导
f3=diff(diff(f,x2),x1);
f4=diff(f,x2,2);
%diff(f,x2,2)用于对函数f中变量x2求而二次偏导
ddf=[f1,f2;
f3,f4];
%求函数f的海森阵
x1=-2;
x2=2;
td=eval(df);
%计算梯度初值
hs=eval(ddf);
%计算海森阵初值
%eval命令用于将符号变量转化为数值变量
i=0;
eps=0.1
whileeps>
0.01;
i=i+1;
eps=sqrt(td
(1).^2+td
(2).^2);
%求梯度的模
x=[x1;
x2]-inv(hs)*td;
%记录自变量迭代值
x1=x
(1);
x2=x
(2);
xx(i,:
)=x'
;
%记录迭代过程中间值
td=eval(df);
hs=eval(ddf);
last(i)=eval(f);
%记录迭代过程中间值
end
disp('
迭代次数'
);
i
xx=xx
fmin=last
figure
(1)
plot(fmin);
%画目标函数变化图
gridon;
holdon;
xlabel('
ylabel('
f(x)'
title('
f(x)函数迭代值'
figure
(2)
plot(xx(:
1));
x1迭代值'
x1变化图'
figure(3)
2));
x2迭代值'
title('
x2变化图'
第二题
2.1数学模型
minf(X)=2x12+2x22-4x1-6x2
s.t.g1(X)=x1+5x2-5≤0
g2(X)=2x12-x2≤0
g3(X)=-x1≤0
g4(X)=-x2≤0
初始点X(0)=[0,0.75]T,ε=0.001
2.2优化方法
此问题可规结为强约束问题,此题用罚函数法对在求解强约束非线性优化问题求解。
用功能函数constr可以解决此类问题,本题中目标函数是非线性的,约束是线性的。
2.3优化结果
最小目标函数值f=-5.5039,
自变量取值:
X=[0.6589,0.8682]T
验证优化结果正确。
2.4Matlab源程序
在commandwindow输入question2,然后回车即行;
Functionquestions2.m
funf='
f=x
(1)^2+4*x
(2)^2-7*x
(1)-5*x
(2);
%定义目标函数
fung='
g=[x
(1)+5*x
(2)-5;
2*x
(1)^2-x
(2)];
%定义约束条件
funi=[funffung];
%组合矩阵
x0=[0,0];
%初值;
options=1;
%显示过程
vlb=[00];
%下边界x;
vub=[];
%无上边界;
[x,options]=constr(funi,x0,options,vlb,vub)
2.5计算结果
迭代次数
目标值f
自变量x1
约束g1
约束g2
约束g3
约束g4
-1
-1.0000
-0.0000
1.0000
-1.0000e-008
1.0000e-008
-5.0000e-008
-10
50
-5
-12.7500
2.5000
0.5000
12
-2.5000
-0.5000
6
-8.6875
1.2500
0.7500
2.3750
-1.2500
-0.7500
7
8
9
-5.9365
0.7152
0.4511
-2.0293
0.5720
-0.7152
-0.4511
10
-5.5164
0.6609
0.8678
0.0059
-0.6609
-0.8678
11
5.0000e-008
13
-5.5039
0.6589
0.8682
8.5830e-006
-0.6589
-0.8682
14
8.6094e-006
15
8.5930e-006
16
1.8429e-011
17
8.2958e-007
2.1864e-006
18
0.6589
4.7634e-005
-9.5269e-006
19
-8.8818e-016
-1.1102e-016
20
-5.4905
0.6565
-0.0024
-0.0062
-0.6565
21
-5.5044
0.8680
-0.0013
2.6130e-004
-0.8680
22
-1.0000e-004
0.0000
2.6迭代曲线
2.7讨论
(1)利用Matlab优化工具箱里边的功能函数condtr来优化求解目标函数f,能很快实现优化,达到目标,方便快捷。
(2)由图可见迭代五次达到最低端,10次后趋于平稳。
(3)优化结果满足精度要求ε<0.001。
(4)可见Matlab很容易对目标实现优化,对编程人员要求不高。
只要知道如何使用命令。
第三题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械 优化 设计 研究生 作业