- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
无约束最优化 数学建模与数学实验 实验目的 实验内容 2.掌握用数学软件包求解无约束最优化问题. 1.无约束最优化基本算法. 1. 无约束优化基本思想及基本算法. 4. 实验作业. 3. 用MATLAB求解无约束优化问题. 2. MATLAB优化工具箱简介. 无约束最优化问题 求解无约束最优化问题的的基本思想 *无约束最优化问题的基本算法 标准形式: 求解无约束最优化问题的基本思想 求解的基本思想 ( 以二元函数为例 ) 5 3 1 连续可微 无约束优化问题的基本算法 最速下降法是一种最基本的算法,它在最优化方法中占有重要地位.最速下降法的优点是工作量小,存储变量较少,初始点要求不高;缺点是收敛慢,最速下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时,宜选用别种收敛快的算法. 1.最速下降法(共轭梯度法)算法步骤: MATLAB优化工具箱简介 1.MATLAB求解优化问题的主要函数 用MATLAB解无约束优化问题 其中等式(3)、(4)、(5)的右边可选用(1)或(2)的等式右边. 函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解. 常用格式如下: (1)x= fminbnd (fun,x1,x2) (2)x= fminbnd (fun,x1,x2 ,options) (3)[x,fval]= fminbnd(…) (4)[x,fval,exitflag]= fminbnd(…) (5)[x,fval,exitflag,output]= fminbnd(…) [x,fval,exitflag,output]= fminbnd(…) x: 函数最优解(近似解) fval: 函数最优值(近似值) exitflag:退出条件 output:输出结构,包括迭代次数、采用算法、评 价次数。 主程序为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,ymin]=fminbnd (f1, 0,8); ymax = -ymin 例2 有边长为3m的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大? 解 先编写M文件fun0.m如下: function f=fun0(x) f=-(3-2*x).^2*x; 主程序为wliti2.m: [x,fval]=fminbnd(fun0,0,1.5); xmax=x fmax=-fval 运算结果为: xmax = 0.5000,fmax =2.0000.即剪掉的正方形的边长为0.5m时水槽的容积最大,最大容积为2m3. 命令格式为: (1)x= fminunc(fun,X0 );或x=fminsearch(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 说明fminsearch是用单纯形法寻优,而fminunc是利用4种算法寻优的,包括拟牛顿法、牛顿法、最速下降法.这两种函数都可能得到局部最优值。 例3 min 1.编写M文件 fun1.m: function f = fun1 (x) f = exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1); 2.输入M文件wliti3.m如下: x0 = [-1, 1]; [x,fval]= fminunc(fun1,x0) 3.运行结果: x= 0.5000 -1.0000 y = 1.3029e-10 3.用fminsearch函数求解 (1)输入函数
文档评论(0)