ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:319.52KB ,
资源ID:2356238      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2356238.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(机械优化设计研究生大作业.doc)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

机械优化设计研究生大作业.doc

1、第一题1.1 题目求函数f(X)=x14-2x12x2-2x1x2+3x12+4x22+4.5x1-4x2+5的极小值,初始点为X(0)=-2,2T,误差不大于0.001。注:此问题为无约束非线性规划问题的求解。1.2 建立数学模型 Find x1 , x2 min f(X)=x14-2x12x2-2x1x2+3x12+4x22+4.5x1-4x2+5 初始点 X(0)=-2,2T, 0.0011.3 运行结果迭代值 迭代次数x1x2f1-0.50000000000000-0.583333333333338.333333333333332-0.566062176165800.370682210

2、708123.004578340922933-0.652874320923100.398982834197582.978571588054454-0.650848939158930.401358609903932.978497143755115-0.650839107315690.401356625245232.97849714338108 通过牛顿法迭代5次可得出结果,当x1=-0.65083910731569,x2=0.40135662524523时,目标函数最优值fmin=2.97849714338108,且满足。1.4 迭代曲线1.5 检验结果 用Matlab自带优化程序检验 程序为:

3、 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.65086658687466 0.40137142333985fval =2.97849714628600 经检验用牛顿法进行迭代优化结果是正确的,优化结果达到精度要求,0.001。1.6 讨论(1)由以上迭代曲线可知,牛顿法迭代收敛速度很快,本优化经过迭代3次后目标函数值趋于平稳。也可采用黄金分割法,变尺度法等其他方法优化。由于本题比较简单,不必采用变尺度法来优化。(2)采用Matlab编程解

4、决了求导和计算海森阵比较复杂的难题,编程简单方便。1.7 Matlab源程序 function ZY32 format long syms x1 x2 %定义符号变量x1,x2 f=x14-2*x12*x2-5*x1*x2+6*x12+7*x22+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(

5、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 while eps0.01; i=i+1; eps=sqrt(td(1).2+td(2).2); %求梯度的模 x=x1;x2-inv(hs)*td; %

6、记录自变量迭代值 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); % 画目标函数变化图 grid on; hold on; xlabel(迭代次数); ylabel(f(x); title(f(x)函数迭代值); figure(2) plot(xx(:,1); grid on; xlabel(迭代次数); ylabel(x1迭代值); titl

7、e(x1变化图); figure(3) plot(xx(:,2); grid on; xlabel(迭代次数); ylabel(x2迭代值);title(x2变化图);第二题2.1 数学模型 Find x1 , x2 min f (X)=2x12+2x22-4x1-6x2 s.t. g1(X)=x1+5x2-50g2(X)=2x12-x20g3(X)=-x10g4(X)=-x20 初始点X(0)=0,0.75T, =0.0012.2 优化方法 此问题可规结为强约束问题,此题用罚函数法对在求解强约束非线性优化问题求解。用功能函数constr可以解决此类问题,本题中目标函数是非线性的,约束是线性的

8、。2.3 优化结果最小目标函数值f=-5.5039,自变量取值:X =0.6589, 0.8682T 验证优化结果正确。2.4 Matlab 源程序 在command window 输入question2,然后回车即行; Function questions2.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=funf fung; 组合矩阵 x0=0,0; %初值; options=1; 显示过程 vlb=0 0; 下边界x; vub= ; %无上边界;x,

9、options=constr(funi,x0,options,vlb,vub)2.5 计算结果 迭代次数目标值f自变量x1自变量x1约束g1约束g2约束g3约束g411010-10-12-1.0000-0.00001.0000-1.0000e-008-1.00001.0000e-008-13-1.000001.0000-5.0000e-008-1.00000-1.00004-1050050-505-12.75002.50000.5000012-2.5000-0.50006-8.68751.25000.750002.3750-1.2500-0.75007-8.68751.25000.7500-1

10、.0000e-0082.3750-1.2500-0.75008-8.68751.25000.7500-5.0000e-0082.3750-1.2500-0.75009-5.93650.71520.4511-2.02930.5720-0.7152-0.451110-5.51640.66090.867800.0059-0.6609-0.867811-5.51640.66090.86781.0000e-0080.0059-0.6609-0.867812-5.51640.66090.86785.0000e-0080.0059-0.6609-0.867813-5.50390.6589 0.868208.

11、5830e-006-0.6589-0.868214-5.50390.6589 0.86821.0000e-0088.6094e-006-0.6589-0.868215-5.50390.6589 0.8682-5.0000e-0088.5930e-006-0.6589-0.868216-5.50390.6589 0.868201.8429e-011-0.6589-0.868217-5.50390.6589 0.86828.2958e-0072.1864e-006-0.6589-0.868218-5.50390.65890.86824.7634e-005-9.5269e-006-0.6589-0.

12、868219-5.50390.65890.8682-8.8818e-016-1.1102e-016-0.6589-0.868220-5.49050.65650.8682-0.0024-0.0062-0.6565-0.868221-5.50440.65890.8680-0.00132.6130e-004-0.6589-0.868022-5.50390.65890.8682-1.0000e-0040.0000-0.6589-0.86822.6 迭代曲线2.7 讨论 (1)利用Matlab优化工具箱里边的功能函数condtr来优化求解目标函数f,能很快实现优化,达到目标,方便快捷。(2)由图可见迭代五次达到最低端,10次后趋于平稳。(3)优化结果满足精度要求0.001。(4)可见Matlab很容易对目标实现优化,对编程人员要求不高。只要知道如何使用命令。第三题

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1