版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、无约束最优化无约束最优化数学建模与数学实验数学建模与数学实验 XfnEXmin 其中 1:EEfn标准形式:标准形式:求解无约束最优化问题的基本思想求解无约束最优化问题的基本思想求解的基本思想求解的基本思想 ( 以二元函数为例 )1x2x)(21xxf01x2x05310X1X2X)(0Xf)(1Xf)(2Xf连续可微 XfnEXmax = minXfnEX 多局部极小298.0f0f298.0f 唯一极小(全局极小)2122212121322)(xxxxxxxxf搜索过程搜索过程21221221)1 ()(100)(minxxxxxf最优点 (1 1)初始点 (-1 1)1x2xf-114.
2、00-0.790.583.39-0.530.232.60-0.180.001.500.09-0.030.980.370.110.470.590.330.200.800.630.050.950.90 0.0030.990.991E-40.9990.9981E-50.9997 0.9998 1E-8返回 给定初始点nEX 0,允许误差0,令 k=0; 计算kXf; 检验是否满足收敛性的判别准则: kXf, 若满足,则停止迭代,得点kXX*,否则进行; 令kkXfS,从kX出发,沿kS进行一维搜索, 即求k使得: kkkkkSXfSXf0min; 令kkkkSXX1,k=k+1 返回.无约束优化问题
3、的基本算法无约束优化问题的基本算法 最速下降法是一种最基本的算法,它在最优化方法中占有重要地位.最速下降法的优点是工作量小,存储变量较少,初始点要求不高;缺点是收敛慢,最速下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时,宜选用别种收敛快的算法. 1 1最速下降法(共轭梯度法)算法步骤:最速下降法(共轭梯度法)算法步骤:2 2牛顿法算法步骤:牛顿法算法步骤:(1) 选定初始点nEX 0,给定允许误差0,令 k=0;(2) 求kXf,12kXf,检验:若kXf,则 停止迭代,kXX*.否则, 转向(3);(3) 令 kkkXfXfS12(牛顿方向) ; (4) kkkSXX1,1 k
4、k,转回(2). 如果f是对称正定矩阵A的二次函数,则用牛顿法经过一次迭代一次迭代就可达到最优点,如不是二次函数,则牛顿法不能一步达到极值点,但由于这种函数在极值点附近和二次函数很近似,因此牛顿法的收敛速度还是很快的. 牛顿法的收敛速度虽然较快,但要求Hessian矩阵要可逆,要计算二阶导数和逆矩阵,就加大了计算机计算量和存储量.3 3拟牛顿法拟牛顿法 为克服牛顿法的缺点,同时保持较快收敛速度的优点,利用第 k 步和第 k+1 步得到的kX,1kX,)(kXf,)(1kXf,构造一个正定矩阵1kG近似代替)(2kXf,或用1kH近似代替12)(kXf,将牛顿方向改为: 1kG1kS=-)(1k
5、Xf,1kS=-1kH)(1kXf从而得到下降方向. 通常采用迭代法计算1kG,1kH,迭迭代代公公式式为:B BF FG GS S(Boryden-Fletcher-Goldfarb-Shanno)公式 kkTkkTkkkkTkTkkkkxGxGxxGxfffGG)()()()(1 kTkTkkkTkkkTkkkxfxxxffHfHH)()()()(11 kTkTkkkkTkkxfxfHHfx)()()( D DF FP P(Davidon-Fletcher-Powell)公式: kTkTkkkTkkkTkkkXffffXXGXGG)()()()(11 kTkTkkkkTkkfXfXGGXf
6、)()()( kkTkkTkkkkTkTkkkkfHfHffHXfXXHH)()()()(1 计算时可置IH 1(单位阵) ,对于给出的1X利 用上面的公式进行递推.这种方法称为拟拟牛牛顿顿法法. . 返回MatlabMatlab优化工具箱简介优化工具箱简介1.MATLAB1.MATLAB求解优化问题的主要函数求解优化问题的主要函数类 型模 型基本函数名一元函数极小Min F(x)s.t.x1xx2x=fminbnd(F,x1,x2)无约束极小Min F(X)X=fminunc(F,X0)X=fminsearch(F,X0)线性规划Min XcTs.t.AX=bX=linprog(c,A,b)
7、二次规划Min 21xTHx+cTxs.t. Ax=bX=quadprog(H,c,A,b)约束极小(非线性规划)Min F(X)s.t. G(X)=0X=fmincon(FG,X0)达到目标问题Min rs.t. F(x)-wr=goalX=fgoalattain(F,x,goal,w)极小极大问题Min max Fi(x)X Fi(x)s.t. G(x)0,则x为解;否则,x不是最终解,它只是迭代制止时优化过程的值所有优化函数fval解x处的目标函数值linprog,quadprog,fgoalattain,fmincon,fminimax,lsqcurvefit,lsqnonlin, f
8、minbndexitflag描述退出条件: exitflag0,表目标函数收敛于解x处 exitflag=0,表已达到函数评价或迭代的最大次数 exitflag0,表目标函数不收敛output包含优化结果信息的输出结构. Iterations:迭代次数 Algorithm:所采用的算法 FuncCount:函数评价次数所有优化函数4 4控制参数控制参数optionsoptions的设置的设置 (3) MaxIterMaxIter: 允许进行迭代的最大次数,取值为正整数.OptionsOptions中常用的几个参数的名称、含义、取值如下中常用的几个参数的名称、含义、取值如下: : (1)Disp
9、layDisplay: 显示水平.取值为off时,不显示输出; 取值为iter时,显示每次迭代的信息;取值为final时,显示最终结果.默认值为final.(2)MaxFunEvalsMaxFunEvals: 允许进行函数评价的最大次数,取值为正整数.例:opts=optimset(Display,iter,TolFun,1e-8) 该语句创建一个称为opts的优化选项结构,其中显示参数设为iter, TolFun参数设为1e-8. 控制参数控制参数optionsoptions可以通过函数可以通过函数optimsetoptimset创建或修改。命创建或修改。命令的格式如下:令的格式如下:(1)
10、 options=optimset(optimfun)options=optimset(optimfun) 创建一个含有所有参数名,并与优化函数optimfun相关的默认值的选项结构options.(2)options=optimset(param1,value1,param2,value2,.)options=optimset(param1,value1,param2,value2,.) 创建一个名称为options的优化选项参数,其中指定的参数具有指定值,所有未指定的参数取默认值.(3)options=optimset(oldops,param1,value1,param2,options
11、=optimset(oldops,param1,value1,param2, value2,.) value2,.) 创建名称为oldops的参数的拷贝,用指定的参数值修改oldops中相应的参数.返回用用MatlabMatlab解无约束优化问题解无约束优化问题 1. 一一元元函函数数无无约约束束优优化化问问题题: : min f(x) 21xxx 其中(3)、(4)、(5)的等式右边可选用(1)或(2)的等式右边。 函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。常用格式如下:常用格式如下:(1)x= fminbnd (x= fmin
12、bnd (fun,xfun,x1 1,x,x2 2) )(2)x= fminbnd (x= fminbnd (fun,xfun,x1 1,x,x2 2 ,options)options)(3)xx,fval= fminbndfval= fminbnd(.)(4)xx,fvalfval,exitflag= fminbndexitflag= fminbnd(.)(5)xx,fvalfval,exitflagexitflag,output= fminbndoutput= fminbnd(.)运行结果: xmin = 3.9270 ymin = -0.0279 xmax = 0.7854 ymax =
13、 0.6448To Matlab(wliti1) 例例1 1 求 f = 2xexsin在 0 x8 中的最小值与最大值 主程序为主程序为wliti1.m:wliti1.m: f=2*exp(-x).*sin(x); fplot(f,0,8); %作图语句 xmin,ymin=fminbnd (f, 0,8) f1=-2*exp(-x).*sin(x); xmax,ymax=fminbnd (f1, 0,8)例例2 2 对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?设剪去的正方形的边长为x,则水槽的容积为:xx )23(2建立无约束优化模型为
14、:min y=-xx )23(2, 0 x1.5解解先编写先编写M M文件文件fun0.mfun0.m如下如下: : function f=fun0(x) f=-(3-2*x).2*x;主程序为主程序为wliti2.m:wliti2.m: x,fval=fminbnd(fun0,0,1.5); xmax=x fmax=-fval运算结果为运算结果为: : xmax = 0.5000,fmax =2.0000.即剪掉的正方形的边长为0.5米时水槽的容积最大,最大容积为2立方米.To Matlab(wliti2) 命令格式为命令格式为: :(1)x= fminunc(fun,X0 );或x=fmi
15、nsearch(fun,X0 )(2)x= fminunc(fun,X0 ,options); 或x=fminsearch(fun,X0 ,options)(3)x,fval= fminunc(.); 或x,fval= fminsearch(.)(4)x,fval,exitflag= fminunc(.); 或x,fval,exitflag= fminsearch(5)x,fval,exitflag,output= fminunc(.); 或x,fval,exitflag,output= fminsearch(.) 2、多元函数无约束优化问题、多元函数无约束优化问题标准型为标准型为:min F
16、(X)3 fminunc为中型优化算法的步长一维搜索提供了两种算法, 由options中参数LineSearchType控制:LineSearchType=quadcubic(缺省值),混合的二次和三 次多项式插值;LineSearchType=cubicpoly,三次多项式插使用使用fminuncfminunc和和 fminsearchfminsearch可能会得到局部最优解可能会得到局部最优解. .说明说明: :fminsearchfminsearch是用单纯形法寻优是用单纯形法寻优. fminunc. fminunc的算法见以下几点说明:的算法见以下几点说明:1 fminunc为无约束优化提供了大型优化和中型优化算法。由options中的参数LargeScale控制:LargeScale=on(默认值),使用大型算法LargeScale=off(默认值),使用中型算法2 fminunc为中型优化算法的搜索方向提供了4种算法,由 options中的参数HessUpdate控制:HessUpdate=bfgs(默认值),拟牛顿法的BFGS公式;HessUpdate=dfp,拟牛顿法的DFP公式;HessUpdate=steepdesc,最速下降法例例3 3 min f(x)=(4x12+2x22+4x1x2+2x2+1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手机淘宝协议书
- 煤矿定量合同范本
- 苗木保护协议书
- 苗木转租协议书
- 蔬菜供货协议书
- 融资回购协议书
- 认购定房协议书
- 设备发放协议书
- 设备监管协议书
- 设计作品协议书
- 广西贵百河2025-2026学年高一上学期12月联考语文试题
- 2025四川航天川南火工技术有限公司招聘考试题库及答案1套
- 广东广电网络2026届秋季校园招聘185人备考题库完整答案详解
- 2025年度皮肤科工作总结及2026年工作计划
- (一诊)成都市2023级高三高中毕业班第一次诊断性检测物理试卷(含官方答案)
- 四川省2025年高职单招职业技能综合测试(中职类)汽车类试卷(含答案解析)
- 2024江苏无锡江阴高新区招聘社区专职网格员9人备考题库附答案解析
- 2025西部机场集团航空物流有限公司招聘笔试考试备考试题及答案解析
- 植入类器械规范化培训
- 水泥罐安全操作规程标准
- 腰椎间盘突出症中医分级诊疗指南(2025版版)
评论
0/150
提交评论