matlab中无约束优化程序例题,无约束最优化-MATLAB详解.ppt

* 无约束最优化 数学建模与数学实验 实验目的 实验内容 2、掌握用数学软件包求解无约束最优化问题。 1、了解无约束最优化基本算法。 1、无约束优化基本思想及基本算法。 4、实验作业。 3、用MATLAB求解无约束优化问题。 2、MATLAB优化工具箱简介 无约束最优化问题 求解无约束最优化问题的的基本思想 *无约束最优化问题的基本算法 返回 标准形式: 求解无约束最优化问题的基本思想 求解的基本思想 ( 以二元函数为例 ) 5 3 1 连续可微 多局部极小 唯一极小 (全局极小) 搜索过程 最优点 (1 1) 初始点 (-1 1) -1 1 4.00 -0.79 0.58 3.39 -0.53 0.23 2.60 -0.18 0.00 1.50 0.09 -0.03 0.98 0.37 0.11 0.47 0.59 0.33 0.20 0.80 0.63 0.05 0.95 0.90 0.003 0.99 0.99 1E-4 0.999 0.998 1E-5 0.9997 0.9998 1E-8 返回 无约束优化问题的基本算法 最速下降法是一种最基本的算法,它在最优化方法中占有重要地位.最速下降法的优点是工作量小,存储变量较少,初始点要求不高;缺点是收敛慢,最速下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时,宜选用别种收敛快的算法. 1.最速下降法(共轭梯度法)算法步骤: 2.牛顿法算法步骤: 如果f是对称正定矩阵A的二次函数,则用牛顿法经过一次迭代 就可达到最优点,如不是二次函数,则牛顿法不能一步达到极值点, 但由于这种函数在极值点附近和二次函数很近似,因此牛顿法的收 敛速度还是很快的. 牛顿法的收敛速度虽然较快,但要求Hessian矩阵要可逆,要计算二阶导数和逆矩阵,就加大了计算机计算量和存储量. 3.拟牛顿法 返回 Matlab优化工具箱简介 1.MATLAB求解优化问题的主要函数 2. 优化函数的输入变量 使用优化函数或优化工具箱中其它优化函数时, 输入变量见下表: 3. 优化函数的输出变量下表: 用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(...) To Matlab(wliti1) 主程序为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 对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大? 解 先编写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.5米时水槽的容积最大,最大容积为2立方米. To Matlab(wliti2) 命令格式为: (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]= fminsea

你可能感兴趣的:(matlab中无约束优化程序例题,无约束最优化-MATLAB详解.ppt)