无约束优化
- 格式:doc
- 大小:158.00 KB
- 文档页数:16
第四章
第四章
无约束优化问题标准形式:
无约束优化问题标准形式:
§
§
§
§
§
§
图最速下降法的收敛过程
αα
2
2
例4-1 求目标函数
取初始点
[2,2]
=
x
例4-2 求目标函数解取初始点[2,2]
=x
算出一维搜索最佳步长
§
例4-3 用梯度法求下面无约束优化问题:
例4-3 用梯度法求下面无约束优化问题:
例4-3 用梯度法求下面无约束优化问题:
例4-3 用梯度法求下面无约束优化问题:
例4-3 用梯度法求下面无约束优化问题:
梯度法的特点
x
给定0,ε
一般迭代式:
§4.3
§4.3
§4.3
§4.3
α0
d 0
x
x 1
x*
1
α1d 1
1()
f −∇x d 1
4-4 共轭方向法
假设目标函数f (x ) 在极值点附近的二次近似函数为
沿某个下降方向
如果能够选定这样的搜索方向,那么对于二
α
0d0
x0x1x*
1
α
1
d1
1
()
f
−∇x d
1。
无约束优化方法1. 最速下降法(Gradient Descent Method)最速下降法是一种基于梯度信息的迭代优化算法。
其基本思想是从任意初始点开始,沿着目标函数的梯度方向进行迭代,直到达到收敛条件。
最速下降法的迭代更新公式如下:x_{k+1}=x_k-t_k*∇f(x_k)其中,x_k是第k次迭代的解向量,t_k是第k次迭代的步长(也称为学习率),∇f(x_k)是目标函数在x_k处的梯度向量。
最速下降法的步骤如下:1)选取初始点x_0。
2)计算目标函数的梯度∇f(x_k)。
3)计算步长t_k。
4)更新解向量x_{k+1}。
5)判断迭代终止条件,如果满足则停止迭代;否则返回第2步。
最速下降法的优点是易于实现和理解,收敛性较好。
然而,最速下降法存在的问题是收敛速度较慢,特别是对于目标函数呈现狭长或弯曲形状的情况下。
这导致了在高维优化问题中,最速下降法的性能较差。
2. 牛顿法(Newton's Method)牛顿法是一种基于二阶导数信息的迭代优化算法。
它使用目标函数的一阶和二阶导数信息构造一个二次近似模型,然后求解该模型的最小值。
牛顿法的迭代更新公式如下:x_{k+1}=x_k-H_k^{-1}*∇f(x_k)其中,H_k是目标函数在x_k处的海森矩阵,∇f(x_k)是目标函数在x_k处的梯度向量。
牛顿法的步骤如下:1)选取初始点x_0。
2)计算目标函数的梯度∇f(x_k)和海森矩阵H_k。
3)计算更新方向H_k^{-1}*∇f(x_k)。
4)更新解向量x_{k+1}。
5)判断迭代终止条件,如果满足则停止迭代;否则返回第2步。
牛顿法的优点是收敛速度快,尤其是在目标函数曲率大的地方。
然而,牛顿法也存在一些问题。
首先,计算海森矩阵需要大量的计算资源,特别是在高维空间中。
其次,当海森矩阵不可逆或近似不可逆时,牛顿法可能会失效。
综上所述,最速下降法和牛顿法是两种常用的无约束优化方法。
最速下降法简单易实现,但收敛速度较慢;牛顿法收敛速度快,但计算量大且可能遇到海森矩阵不可逆的问题。
实验9 无约束优化
一、实验目的
1、了解无约束优化的基本算法;
2、掌握Matlab优化工具箱的基本用法;
3、掌握用Matlab求解无约束优化实际问题。
二、实验要求
能够掌握Matlab优化工具箱中fminunc,fminsearch,lsqnonlin,lsqcurvefit 的基本用法,能够对控制参数进行设置,能够对不同算法进行选择和比较。
[x,fv,ef.out,grad,hess]=fminunc(@f,x0,opt,P1,P2,…)
[x,fv,ef.out,]=fminsearch(@f,x0,opt,P1,P2,…)
[x,norm,res,ef,out,lam,jac]=lsqnonlin(@F,x0,v1,v2,opt,P1,P2,…)
[x,norm,res,ef,out,lam,jac]=lsqcurvefit(@F,x0,t,y,opt,P1,P2,…)
fminunc为无约束优化提供了大型优化和中型优化算法.由options中的参数LargeScale控制:
LargeScale=’on’(默认值),使用大型算法
LargeScale=’off’,使用中型算法
fminunc为中型优化算法的搜索方向提供了3种算法,由options中的参数HessUpdate控制:
HessUpdate=’bfgs’(默认值),拟牛顿法的BFGS公式;
HessUpdate=’dfp ’,拟牛顿法的DFP 公式; HessUpdate=’steepdesc ’,最速下降法
fminunc 为中型优化算法的步长一维搜索提供了两种算法,由options 中参数LineSearchType 控制:
LineSearchType=’quadcubic ’(缺省值),混合的二次和三 次多项式插值;
LineSearchType=’cubicpoly ’,三次多项式插
搜索步长的算法选择(lsqnonlin ,lsqcurvefit ) LevenbergMarquardt = ‘off ’ (GN 法) LevenbergMarquardt = ‘on ’ (LM 法,缺省值)
例 ()=++++122
12122min (42421)x f X x x x x x e
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 文件myprg3.m 如下: x0 = [-1, 1]; x=fminunc('fun1',x0) y=fun1(x)
三、实验内容
1. 求下列函数的极小值点:
()=++-+222
1231249218f X x x x x x ()=+
-+-22
1212123222
g X x x x x x x 2、求解22
min()x y a b
+
对),(b a 的不同取值如)1,1(和)1,9(,及不同算法(搜索方向、步长搜索、数值梯度与分析梯度等)的结果进行分析、比较。
3、有一组数据),(i i y t ,1,2,,33i =, 其中10(1),i i t i y =-由下表给出。
现要
用这组数据拟合函数
()--=++54123,x t x t f x t x x e x e
中的参数x ,初值可选为)02.0 ,01.0 ,1 ,5.1 ,5.0(-,用GN 和LM 两种方法求解。
对i y 作一扰动,即i i y e +,i e 为)05.0 ,05.0(-内的随机数,观察并分析迭代收敛变慢的情况。
安徽师范大学数学计算机科学学院实验报告
专业名称数学与应用数学
实验室实验室201
实验课程数学建模
实验名称无约束优化
姓名王强
学号100701134
同组人员无
实验日期2013-5-22
Welcome To Download !!!
欢迎您的下载,资料仅供参考!。