正在加载图片...
算法选择:。 ptimset中参数控制 例5minf(x,y)=100(y-x2)2+(1-x)2 on’l'off′(on为缺省) 精确解:x=y=1,∫xy)=0 系就缺省采用大规模算法(如果可能 Exam0705m 当设为'off"时缺省:BFGs、混合2,3次多项式插值 计算结果 搜索方向的算法选择 方向|步长 最优值 HessUpdate=dfp’(DF算法 次(9.997019.9900)109400 HessU pdate=‘ steepest'(最速下降算法) DFP|2,3次09.997001999400)2.11300165 sep2,3次(8.0263e00165064001)32536e+001003 索步长的算法选择 BFGS3次1000001012 Line SearchType= quadcubic''混合2,3次多项式插值 DFP3次|(9468c0018.157200198270003495 Line SearchType= cubicpoly'3次多项式播值 step3次(-1.1831e+0001.4056e+0004.7695e+0001002 无约束优化模型:Mmf(x),x∈R 计算站果 方向步 采用分析梯度 BFGS2,3次(10001e+00010002e+0008.9857-009105 Gradobj='on' DFP2.31000040199109 BFGS3次|(1.000000100.716400953 x=fminunc(efun, xo, opt,) funm中还要有Vf(x) DFP3次(747l05.5212001)67609e00214 与不用分析梯度的结采比较 般形式£ unction【f,g]=fun(x) 方向|步长 最优解x 最优值∫ 续例5minf(x,y)=100y-x2)2+(1-x) (9.99970019999001)1.094009 DFP2,3次(9.9997-0019998001)2.1173e009165 算出vf= 400x(y-x2)-2(1-x) BFGS3次|(100e00001432-008162 00 DFP|3次(9068001857200987e03495 学学实 几个值得注意的问题 f(x,y)=1000-x2)2+(1-x)2的图形 梯度函敷:利用分析梯度可能改进算法的性能 Rosenbrock函数 精度控制:对选代次数有重大影响,应适当选择 (香蕉函数) kam0705plotm 改变初始值由一个初值出发遁常得到局部最优解, 如果函教存在多个局部最优,只有改变初值,对局 部最优进行比较,才有可能得到全局最优解 算法选择:BFGS公式,混合2,3次插值,一般校好 其他算法选择:(评细用法请查阅help文档 高度非线性、不连续时可用程序 fminsearch(afun,x0) 单变量时可用程序 fminbnd(afun,v1,v2)6 算法选择:optimset中参数控制 LargeScale ‘on’ | ‘off’ (on为缺省) 搜索步长的算法选择 系统缺省采用大规模算法(如果可能) 当设为‘off’时缺省:BFGS、混合2, 3次多项式插值 LineSearchType='quadcubic' 混合2, 3次多项式插值 LineSearchType='cubicpoly' 3次多项式插值 HessUpdate = ‘dfp’ (DFP算法) HessUpdate = ‘steepdesc’(最速下降算法) 搜索方向的算法选择 计算结果 方向 步长 最优解x 最优值f n BFGS 2,3次 (9.9997e-001 9.9994e-001) 1.0944e-009 165 DFP 2,3次 (9.9997e-001 9.9994e-001) 2.1173e-009 165 steep 2,3次 (-8.0263e-001 6.5064e-001) 3.2536e+000 1003 BFGS 3次 (1.0001e+000 1.0003e+000) 3.1432e-008 162 DFP 3次 (9.0468e-001 8.1572e-001) 9.8270e-003 495 steep 3次 (-1.1831e+000 1.4056e+000) 4.7695e+000 1002 2 2 2 例5. min f (x, y) =100(y − x ) + (1− x) 精确解:x=y=1, f(x,y)=0 Exam0705.m 无约束优化 n x 模型:Min f (x), x∈ R 采用分析梯度: GradObj='on' x=fminunc(@fun,x0,opt,…) fun.m中还要有 一般形式 function [f,g]=fun(x) ∇f ( x) 2 2 2 续例5. min f (x, y) =100( y − x ) + (1− x) ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ − − − − − ∇ = 200( ) 400 ( ) 2(1 ) 2 2 y x x y x x 算出 f exam0705grad_run.m 方向 步长 最优解x 最优值f n BFGS 2,3次 (1.0001e+000 1.0002e+000) 8.9857-009 105 DFP 2,3次 (1.0001e+000 1.0003e+000) 2.2499e-008 109 BFGS 3次 (1.0000e+000 1.0001e+000) 2.7164e-009 53 DFP 3次 (7.4711e-001 5.5212e-001) 6.7609e-002 144 计算结果 与不用分析梯度的结果比较 方向 步长 最优解x 最优值f n BFGS 2,3次 (9.9997e-001 9.9994e-001) 1.0944e-009 165 DFP 2,3次 (9.9997e-001 9.9994e-001) 2.1173e-009 165 BFGS 3次 (1.0001e+000 1.0003e+000) 3.1432e-008 162 DFP 3次 (9.0468e-001 8.1572e-001) 9.8270e-003 495 x0 * O f (x, y) =100(y − x2 ) 2 + (1− x) 2 的图形 exam0705plot.m Rosenbrock 函数 (香蕉函数) 算法选择:BFGS公式,混合2,3次插值,一般较好。 几个值得注意的问题 精度控制:对迭代次数有重大影响,应适当选择。 梯度函数:利用分析梯度可能改进算法的性能 改变初始值 由一个初值出发通常得到局部最优解, 如果函数存在多个局部最优,只有改变初值,对局 部最优进行比较,才有可能得到全局最优解。 其他算法选择: (详细用法请查阅help文档) 高度非线性、不连续时可用程序 fminsearch(@fun,x0) 单变量时可用程序 fminbnd(@fun,v1,v2)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有