实验二 无约束最优化
无约束最优化方法直接搜索法课件

x2
S(1)
S2(1
)
(1)
X3 X2 (1)
X* X2 (2) X1 (2)
S(2)
X0 (1)
X 1 (1)
S1(1) x1
• 鲍威尔基本算法的缺点
鲍威尔基本算法仅具有理论意义,不要说对于一般的 函数,就是对于二次函数,它也可能失效。因为在迭代过程 中的n个搜索方向有时会变成线性相关,而不能形成共轭方向, 从而张不成n维空间,导致随后的迭代搜索在降维(“退化”) 的空间中进行,可能求不到极小点,故需进行改进。
x 2 XL X2
Xn+3 Xn+2
Xn+1
Xห้องสมุดไป่ตู้ XH
X1 XG x1
6)扩张:当 fn+2 < f L 时,取扩张点Xn+3 ,即
Xn+3 = Xn+1 + (Xn+2 – Xn+1)
( =1.2~2.0 )
并计算 fn+3 = f (Xn+3 ) 。 若 fn+3 < fn+2 ,则以Xn+3 代替 X H , fn+3 代替 fH ,构造一个新的单纯形;否则,以 X n+2 代 替XH , fn+2 代替fH ,构造新的单纯形;然后返回到 3)。
鲍威尔条件:
若 f 3 < f 1, ( f1 - 且2f2 + f3) (f1 - f2 - △m(k))2 < 0.5 △m(k) (f1 - f3 )2 同时成立,则用 S ( k ) 替代 S m ( k ) ;否则,仍用 就是鲍威尔修正算法,通常所说的鲍威尔算法就是指这一修正算法。
• 鲍威尔算法的计算步骤及算法框图
牛顿法无约束最优化证明

牛顿法无约束最优化证明牛顿法是一种常用的非线性优化方法,它通过逐步逼近最优解来求解无约束最优化问题。
本文将介绍牛顿法的数学原理及其证明过程。
首先,我们考虑一个无约束的最优化问题,即:min f(x)其中,f(x)为目标函数,x为优化变量。
我们的目标是找到一个x,使得f(x)最小。
牛顿法的基本思想是通过求解目标函数的局部二次近似来逐步逼近最优解。
具体来说,我们首先选取一个初始点x0,然后利用目标函数的一、二阶导数信息,计算出目标函数在x0处的局部二次近似:f(x) ≈ f(x0) + f(x0)·(x-x0) + 1/2(x-x0)T·H(x0)·(x-x0) 其中,f(x0)为目标函数在x0处的梯度,H(x0)为目标函数在x0处的黑塞矩阵。
我们将局部二次近似表示为:Q(x) = f(x0) + f(x0)·(x-x0) + 1/2(x-x0)T·H(x0)·(x-x0) 然后,我们将Q(x)的导数置为零,得到如下方程:H(x0)·(x-x0) = -f(x0)接着,我们解出上述方程的解x1,将x1作为新的近似点,重复上述步骤,迭代求解,直到收敛于最优解。
接下来,我们来证明牛顿法的收敛性。
我们假设目标函数f(x)满足如下条件:1. f(x)是二次可微的凸函数。
2. H(x)是正定的。
在这种情况下,我们可以证明牛顿法是线性收敛的。
具体来说,设xk为牛顿法第k次迭代的近似解,x*为最优解,则有:f(xk+1) - f(x*) ≤ C·(f(xk) - f(x*))2其中,C>0是一个常数。
这个式子表明,每次迭代后,算法的误差都会平方级别的减小。
证明过程比较复杂,需要利用函数的泰勒展开式、中值定理等工具。
具体证明过程可以参考相关数学文献。
综上所述,牛顿法是一种有效的无约束最优化方法,其收敛速度较快,但需要满足一定的条件才能保证收敛性。
实验二 无约束最优化

实验二、 无约束最优化【实验目的】1.了解无约束最优化方法的一些基本概念。
2.熟悉掌握用相关的命令来求解无约束最优化问题。
【实验内容】把题目和相应的完整命令写在实验报告上。
1:无约束最优化问题实际上是什么问题?求这类问题的最优解的基本思路是什么?2:求()5x f x e x =-在区间[1,2]内的极小值点和极小值。
3:已知22212312123(,,)3sin f x x x x x x x x =+-。
(1) 求123(,,)f x x x 在点(1,1,0)-附近的极小值;(2) 求123(,,)f x x x 在点(1,1,0)-附近的极小值点和极小值,要求优化算法用高斯-牛顿法,搜索方向用拟牛顿法的DFP 公式。
【相关知识说明】无约束最优化是指在没有约束条件下,求多变量实值函数极值。
无约束最优化问题的数学表达式为12min (),(,,,)n n f x x x x x R =∈。
一般f 为非线性函数,x 是n 维实变量,实际上这是一个多元函数无条件极值问题。
由于求极大值问题,可以用添加负号的方式转化为求极小值问题,因此通常只讨论求极小值问题。
应该注意的是,极值问题的解,即极值点,都是局部最优解,全局最优解只能从局部最优解的比较中得到。
如何求解无约束最优化问题的最优解呢?一般是采用迭代法,即先选择一个初始点,再寻找该点处的下降方向(我们称为搜索方向),在该方向上求极小点,得到一个新的点,然后在新点处再寻找下降方向和在该方向上的求极小点,……,如此下去,最终得到最优解。
我们先来看求一元函数y=f(x)在[x1,x2]内的极小值的命令:说明:其中'fun'是函数f(x)的表达式,当然也可以是关于f(x)的函数M-文件名。
返回值x 是极小值点。
现在我们来回答问题1。
问题1:求()2sin x f x e x -=在区间[0,6]内的极小值点和极小值.命令如下f='2*exp(-x)*sin(x)';x=fminbnd(f,0,6) %极小值点fval=2*exp(-x)*sin(x) %对应x 的极小值大家得到的结果是什么呢?这些是一元函数求极值,那么怎么求多元函数的极值呢?可以用下面的最简形式的命令:如果还必须满足更苛刻的要求,可以用下面的命令说明:(1) 返回值中,x 是极小值点。
最优化方法实验报告(2)

最优化方法实验报告Numerical Linear Algebra And ItsApplications学生所在学院:理学院学生所在班级:计算数学10-1学生姓名:甘纯指导教师:单锐教务处2013年5月实验三实验名称:无约束最优化方法的MATLAB实现实验时间: 2013年05月10日星期三实验成绩:一、实验目的:通过本次实验的学习,进一步熟悉掌握使用MATLAB软件,并能利用该软件进行无约束最优化方法的计算。
二、实验背景:(一)最速下降法1、算法原理最速下降法的搜索方向是目标函数的负梯度方向,最速下降法从目标函数的负梯度方向一直前进,直到到达目标函数的最低点。
2、算法步骤用最速下降法求无约束问题n R()min的算法步骤如下:xxf,a )给定初始点)0(x ,精度0>ε,并令k=0;b )计算搜索方向)()()(k k x f v -∇=,其中)()(k x f ∇表示函数)(x f 在点)(k x 处的梯度;c )若ε≤)(k v ,则停止计算;否则,从)(k x 出发,沿)(k v 进行一维搜索,即求k λ,使得)(min )()()(0)()(k k k k v x f v x f λλλ+=+≥; d )令1,)()()1(+=+=+k k v x x k k k k λ,转b )。
(二)牛顿法1、算法原理牛顿法是基于多元函数的泰勒展开而来的,它将)()]([-)(1)(2k k x f x f ∇∇-作为搜索方向,因此它的迭代公式可直接写出来:)()]([)(1)(2)()(k k k k x f x f x x ∇∇-=-2、算法步骤用牛顿法求无约束问题n R x x f ∈),(min 的算法步骤如下:a )给定初始点)0(x ,精度0>ε,并令k=0;b )若ε≤∇)()(k x f ,停止,极小点为)(k x ,否则转c );c )计算)()]([,)]([)(1)(2)(1)(2k k k k x f x f p x f ∇∇-=∇--令;d )令1,)()()1(+=+=+k k p x x k k k ,转b )。
无约束问题的最优化条件

f
(x)
f
(xk ) f
(xk )T
(x
xk )
1 (x 2
xk )T 2
f
(xk )(x
xk )
Q(k) (x)
f
(xk ) f
(xk )T (x xk )
1 2
(
x
xk
)T
2
f
(xk )(x xk )
令
Q(k) (x) x
0
f
( xk
)
2
f
(
xk
)(
x
xk
)
0
x xk (2 f (xk ))1f (xk ) xk Gk1gk
k 满足:
f (xk
dk ) 0
T f (xk k dk )gdk 0
ห้องสมุดไป่ตู้
d
T k 1
gd
k
0
14
a
5.3 牛顿法
自动化学院
15
a
一、牛顿迭代公式
牛顿法的基本思想是利用目标函数在当前迭代点 xk 处 的二次近似的极小点作为 f (x) 的近似极小点。
16
a
设 xk 是当前迭代点, 2 f (xk ) 正定,
5.1 无约束问题的 最优性条件
自动化学院
1
a
一、极小点的概念
1.局部极小点 2.严格局部极小点 3.全局(总体)极小点 4.严格全局(总体)极小点。 注:在非线性规划中,大多数算法都致力于求最优化 问题的局部极小点,一般求全局极小点极为困难,仅 当问题为凸规划时,局部极小为全局极小。
2
a
二、无约束问题最优性条件
的极小值,0.01,x(0)(0,0)T ,只迭代一次
无约束最优化

得α (k ) , 令 x ( k + 1 ) = x ( k ) + α ( k ) d ( k ) ; (4 )令 k = k + 1 , 转(2 ).
用最速下降法求解无约束问题: 例2 用最速下降法求解无约束问题:
2 2 x1 x 2 min f ( x ) = , ( a > 0, b > 0 ) + a b
× 阶正定对称矩阵, 定义2 定义2 设G是 n× n阶正定对称矩阵,称函数
1 T 为正定二次函数。 f ( x ) = x Gx + r T x + δ 为正定二次函数。 2
证明:若目标函数为正定二次函数, 例1 证明:若目标函数为正定二次函数,则相应的 无约束问题有严格局部解,且此局部解也是全局解。 无约束问题有严格局部解,且此局部解也是全局解。 定理4 是连续可微的凸函数, x 定理4-4 设 f ( x ) 是连续可微的凸函数,则 * 是 无约束问题的全局解的充要条件是
结论: 锯齿形,收敛慢。 结论: 锯齿形,收敛慢。 停机条件: 停机条件: f ( x ∇
(k )
不合理。 ) = 0 不合理。
|| ∇ f ( x ( k ) ) ||< ε , 合理停机条件: 合理停机条件: || f ( x ( k + 1) ) − f ( x ( k ) ) ||< ε , || x ( k + 1) − x ( k ) ||< ε
∇f ( x * ) = 0, ∇ 2 f ( x * ) 半正定。 半正定。
定理4 定理4-3(二阶充分条件)设 f ( x )具有连续的 二阶充分条件) 二阶偏导数, 处满足: 二阶偏导数,若在 x *处满足:
无约束优化方法

三. 内容:
一维搜索: 求最优步长因子α(k)
多维(变量)优化:确定搜索方向 S (k)
黄金分割 切线法 平分法 插值法 格点法
坐标轮换法 最速下降法 共轭方向法 鲍威尔法 梯度法 共轭梯度法 牛顿法 单形替换法 变尺度法
比较两试点函数值,由于 作前进搜索
此时,三个试点 函数值已经出现“高-低-高”特征, 得搜索区间为
3.2 一维搜索方法
α3(2)
黄金分割法 (0.618) :
序列消去原理:
f (α)
α
α3(1)
α12
α*
α1(1)
0
α11
α21 α22
α1(2)
α1(3)
α3(3)
1.解析法:
定义:
在第K次迭代时,从已知点 X(k)出发,沿给定方向求最优步长因子α(k),使 f (X(k) + α S(k) )达到最小值的过程,称为一维搜索。
பைடு நூலகம்
对α求导,令其为零。
01
直接法——应用序列消去原理:
02
分数法、黄金分割法
03
近似法——利用多项式函数逼近(曲线拟合)原理:
总结:将优化问题转化为一系列的一维搜索问题
沿方向S的一维搜索
3.2 一维搜索方法
单峰区间解析概念:
在区间 [α1,α3 ]内,函数只有一个峰值,则此区间为单峰区间。单峰区间内,一定存在一点α*,当任意一点α2>α*时,f(α2)>f(α*),
说明: 单峰区间内,函数可以有不可微点,也可以是不连续函数;
3.1 引言
无约束优化方法计算步骤:
若已经取得某设计点x(k),并且该点不是近似极小点,则在x(k)点根据函数f(x)的性质,选择一个方向S(k),并且沿此方向搜索函数值是下降的,称下降方向。 当搜索方向S(k)确定后,由x(k)点出发,沿S(k)方向进行搜索, 定出步长因子 (k),得到新的设计点:
第三章 无约束最优化方法2

第七节 变尺度法(拟牛顿法)变尺度法是无约束最优化方法发展过程中非常有影响的重要研究成果,它的基本思想是基于有很好收敛速度的牛顿法。
但又避免了计算二阶导数矩阵及其求逆计算,又比共轭梯度法有更好的收敛速度,被认为是求最优化问题的最有效的算法之一。
牛顿法的缺点:计算复杂(一阶、二阶偏导数)、对函数的性态要求高(对海赛矩阵要求、对初始点的选择要求) 一、变尺度法的基本原理 一)范数和尺度函数图象联系了函数和几何,表达两个数之间的变化关系,映射推广了函数的概念,使得自变量不再仅仅局限于一个数,也不再局限于一维,任何事物都可以拿来作映射,维数可以是任意维,传统的函数图象已无法直观地表达高维对象之间的映射关系,这就要求我们在观念中,把三维的几何空间推广到抽象的n 维空间。
由于映射的对象可以是任何事物,为了便于研究映射的性质以及数学表达,我们首先需要对映射的对象进行“量化”,取定一组“基”,确定事物在这组基下的坐标,事物同构于我们所熟悉的抽象几何空间中的点,事物的映射可以理解为从一个空间中的点到另一个空间的点的映射,而映射本身也是事物,自然也可以抽象为映射空间中的一个点。
范数是把一个事物映射到非负实数,且满足非负性、齐次性、三角不等式,符合以上定义的都可以称之为范数,所以,范数的具体形式有很多种(由内积定义可以导出范数,范数还也可以有其他定义,或其他方式导出)。
从一个线性空间到另一个线性空间的线性映射,可以用一个矩阵来表达,矩阵被看线性作映射,线性映射的性质可以通过研究矩阵的性质来获得。
平面解析几何中一个向量1,2()TX x x =的长度的定义:1/22212X x x =+它具有非负性、齐次性和三角不等式三个基本性质。
向量范数定义 一个从到的非负函数叫做上的向量范数,如果满足:(1) 正定性:对所有的有,而且当且仅当;(2) 齐次性:对所有的和有; (3) 三角不等式:对所有的有.向量x 与y 之间的距离可定义为的x-y 范数,即(,)d X Y X Y =-常用范数最常用的范数就是p-范数。
最优化方法 powell法求解无约束优化问题

数学与计算科学学院实验报告
实验项目名称powell法求解无约束优化问题
所属课程名称最优化方法
实验类型算法编程
实验日期
班级
学号
姓名
成绩
附录1:源程序
附录2:实验报告填写说明
1.实验项目名称:要求与实验教学大纲一致。
2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。
3.实验原理:简要说明本实验项目所涉及的理论知识。
4.实验环境:实验用的软、硬件环境。
5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。
概括整个实验过程。
对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。
对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。
对于创新性实验,还应注明其创新点、特色。
6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。
7.实验结论(结果):根据实验过程中得到的结果,做出结论。
8.实验小结:本次实验心得体会、思考和建议。
9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。
无约束最优化问题的求解算法和应用

无约束最优化问题的求解算法和应用随着科技的发展和应用领域的扩大,无约束最优化问题已经越来越成为一种关注的研究领域。
在现实生活中,无约束最优化问题的求解可以应用在多个方面,比如金融、医学、机械工程等等。
然而,在实际应用中,我们往往需要利用已经发展的优秀算法进行求解。
本文将会介绍无约束最优化问题的求解算法及其应用。
一、无约束最优化问题的概念无约束最优化问题指的是在一定的条件下,通过调整某些变量来最大或最小化指定的目标函数。
这些变量的调整需遵守一定的限制条件,并且通过各种数值分析方法,比如数值解析和计算机数值算法等技术来求解这样的问题。
无约束最优化问题的数学形式一般为:$$ \min_{x \in \mathbb{R}^n} f(x) $$其中,$x \in \mathbb{R}^n$ 是 $n$ 维空间中的一个向量,$f(x)$ 则是目标函数,该函数需要满足一定的条件,比如连续、可微、凸等等。
当函数连续、可微的情况下,就能有效地应用求导法来求解这个问题。
二、基于梯度下降的算法在求解无约束最优化问题时,最常用的算法就是基于梯度下降的算法。
该算法通过沿着负梯度的方向一步步得逼近全局极小值。
算法的主要流程如下:1、初始化变量$x$,比如$x=0$;2、计算目标函数$ f(x)$ 的梯度 $\nabla f(x)$;3、计算下降方向 $p$,$p=-\nabla f(x)$;4、选择步长 $\alpha$,更新$x$ $x_{k+1} = x_{k} + \alpha p$;5、重复执行步骤2-4 进行更新,直到满足一定的终止条件为止。
这种方法的收敛性非常好,同时也比较容易实现。
在实际应用中,通常会将其与其他迭代方法组合使用,比如牛顿、拟牛顿等方法来提升其求解精度。
三、基于共轭梯度的算法基于梯度下降的算法虽然求解精度较好,但是当求解目标函数具有高度弱凸性质时,算法的收敛速度会相对较慢。
为了克服这类问题,研究人员往往会采用共轭梯度法。
1无约束最优化问题的最优性条件

(2) 定理3.1.3仅仅是充分条件而非必要条件.
例 f ( x) x14 2x12 x22 x24
分析: x0=(0,0)T为其严格局部极小点. 但有
f
(
X
0
)
(0,0)T
,
2
f
(
X
0
)
0 0
0 0
.
无约束最优化问题的最优性条件
凸优化问题-----一阶充要条件
定理3.1.4 设 f x在 Rn上是凸函数且在x*处一阶 连续可微,则 x* 为 f x 的全局极小点的充要条件
Saddle Point
无约束最优化问题的最优性条件
一阶必要条件
f ( x* ) 0的几何意义:函数曲面在x*处的切平面是水平的.
所谓x*是鞍点,从直观上说曲面在x*处沿某方向 “向上弯曲”,而沿另一方向“向下弯曲”.
无约束最优化问题的最优性条件
二阶必要条件
定理3.1.2 若 x*为f x的局部极小点,且在 N x*
x1
2 0
0 2
,
2
f
x2
2 0
02 ,
2
f
x3
2 0
0 2
,
2
f
x4
2 0
0 2
.
无约束最优化问题的最优性条件
由于矩阵 2 f x1 ,2 f x4 不定,则
x1 , x4 不是极小点.
2 f x3 负定,则 x3 不是极小点,
实际上它是极大点.
2 f x2 正定,则 x2 是局部极小点.
第三章 最优性条件
无约束最优化问题的最优性条件 等式约束最优化问题的最优性条件 不等式约束最优化问题的最优性条件 一般约束最优化问题的最优性条件
无约束问题的最优化条件PPT课件

.
4) 校正 Hk 产生 H k 1 ,计算 Hk1 Hk Ek , Ek 称为 Hk 的第 k 次校正矩阵.
5) k : k 1, 转 2)
37
.
三、拟牛顿条件
拟牛顿法设计关键在于 Hk 的构成 为保证 Hk 与 2 f (xk )1 近似并有容易计算的特点, Hk 应该满足如下条件: 1) Hk 对称正定,因为只要 Hk 对称正定,即可保证迭代
方向是下降方向。
38
.
dk Hkf (xk ) T f (xk )dk T f (xk ) Hk f (xk ) 0 T f (xk ) Hk f (xk ) 0 只要 Hk 正定,可保证迭代是下降的。
似程度越好,应加大 hk ,否则相反。
31
.
二. 信赖域算法基本步骤
1)给出初始点 x0 ,令 h0 g0
2)给出 xk 和 hk ,计算 gk 和 Gk 3)解信赖域模型(子问题),求出 dk 4)求 f (xk dk ) 和 rk 的值
5)如果 rk 0.25 ,令 hk1
dk 4
(缩减信赖域半径)
注:按照这种方法选取搜索方向,再加上一维搜索(精确
或非精确)算法的总体收敛性一般可以得到保证,但当 Gk
非正定时候较多时也可能失去牛顿法快速收敛的特点。
26
.
5.4 信赖域法
自动化学院
27
.
一、信赖域算法
1.牛顿法的基本思想
在当前迭代点 xk 附近用二次函数
(k) (d)
f
(xk ) gkT d
)
12 12
12
1
2)方向 d (0 ) (G (x (0 ))) 1 f(x (0 )) 1 , 3 2 T
matlab无约束最优化实验

班级: 学号: 姓名: 实验日期:2015年9月26日
● 实验名称:无约束优化问题
● 实验目的:
1.
了解Matlab 软件的基本操作 2.
学会使用Matlab 求解一元函数无约束优化问题 3.
学会使用Matlab 求解多元函数无约束优化问题 4. 掌握使用Matlab 解无约束优化问题的基本方法与步骤
● 实验内容:
1.求函数y =2x 3+3x 2-12x +14在区间[-3,4]上的最小值。
2.求x = 2e sin x x 在0<x <8中的最小值与最大值.
3.有边长为3m 的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?
设剪去的正方形的边长为x ,则水槽的容积为:
x x 2)23(- 建立无约束优化模型为:min y =-
x x 2)23(-, 0<x <1.5
即剪掉的正方形的边长为0.5m时水槽的容积最大,最大容积为2m^3
4. 用fminsearch函数求解'100*(x(2)-x(1)^2)^2+(1-x(1))^2
实验总结:
通过这次实验,我对Matlab这款软件有了一个基本的了解,认识到了它在数据处理中的重要作用。
同时,也学会了使用Matlab软件来解决求一元函数和多元函数在给定区间内的最大值、最小值的问题。
其中,求解f(x)的最大值时,通常转化为求- f(x)的最小值,然后使用fminbnd()函数来求解。
无约束最优化问题

引言
约束最优化问题:具有辅助函数和形态约束条件的优 化问题。 无约束最优化问题:没有任何限制条件的优化问题。 工程实践中大多数问题都是具有约束的优化问题。
但在优化方法的处理上可以将有约束优化问题 转化为无约束最优化问题,然后按无约束方法进行 处理。或者是将有约束优化部分转化为无约束优化 问题,即在远离极值点和约束边界处按无约束来处 理,当接近极值点和约束边界时,在按有约束的优 化问题来处理。 因此无约束优化方法是优化方法的基本组成部 分,也是优化设计中较常用的方法。
ห้องสมุดไป่ตู้
解题一般步骤
例
多元函数的梯度和对应矩阵
迭代法主要解决两个问题: 如何选择一个最有利的搜索方向 S( k ) 使目标函数沿此方向快速下降,且计算简便。
在搜索方向既定的前提下,如何确定沿此方向 迭代的最优步长 ( k )
无约束最优化方法可以分为两类:直接法和间接法。 直接法又称数值方法,它只需计算目标函数诸点的函 数数值,而不需求其导数,如坐标轮换法,单纯性法 等。 间接法又称解析法,是应用数学极值理论和解析方法, 首先计算出目标函数的一阶或一阶、二阶导数,然后 根据梯度及海赛矩阵提供的信息,构造各种算法,从 而间接地求出目标函数的最优解,如牛顿法、最速 下降法、共轭梯度法及变尺度法。
无约束最优化2009工研

搜索方向替换的判别准则
搜索方向替换的判别准则
搜索方向替换的判别准则
搜索方向替换的判别准则
搜索方向替换的判别准则
搜索方向替换的判别准则
搜索方向替换的判别准则
搜索方向替换的判别准则
搜索方向替换的判别准则
缺点 收敛速度慢,仅线性收敛,会 出现锯齿现象; 不具有二次终止性。 局部收敛,可能不收敛,和初 始点有关。 需要计算 Hesse 矩阵及其 逆矩 阵,计算量大,存贮量大。 不需要计算 Hesse 矩阵及其 逆 矩阵; 存贮量小,适合大型优化问 题,尤其在最优控制中。
对于大型问题,存储量比共轭 梯度法大; 公式复杂。
无约
束最
优化
方法
使
最速下降法
用
牛顿法
导
共轭梯度法
数
拟牛顿法
不
模式搜索法
使
Rosenbrock法
用
单纯形搜索法
导
Powell方法
数
Powell 方法(1964) (方向加速法)
Powell 方法
Powell 方法
Powell 方法
Powell 方法
Powell 方法
Powell 方法
搜索方向
最 速 下 降 法
最 速 下 降 法
最 速 下 降 法
最 速 下 降 法
最 速 下 降 法
最速下降法
最速下降法
最速下降法
最 速 下 降 法
最 速 下 降 法
Questions
最 最速下降法收敛吗? 速 若收敛,收敛速度是多少? 下 降 法
最速下降法
最速下降法
最 速 下 降 法
方 向 法
共 轭 方 向 法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二、 无约束最优化
【实验目的】
1.了解无约束最优化方法的一些基本概念。
2.熟悉掌握用相关的命令来求解无约束最优化问题。
【实验内容】
把题目和相应的完整命令写在实验报告上。
1:无约束最优化问题实际上是什么问题?求这类问题的最优解的基本思路是什么?
2:求()5x f x e x =-在区间[1,2]内的极小值点和极小值。
3:已知2221231212
3(,,)3sin f x x x x x x x x =+-。
(1) 求123(,,)f x x x 在点(1,1,0)-附近的极小值;
(2) 求123(,,)f x x x 在点(1,1,0)-附近的极小值点和极小值,要求优化算法用大范围优化算法,搜索方向用拟牛顿法的DFP 公式。
【相关知识说明】
无约束最优化是指在没有约束条件下,求多变量实值函数极值。
无约束最优化问题的数学表达式为
12min (),(,,,)n n f x x x x x R =∈ 。
一般f 为非线性函数,x 是n 维实变量,实际上这是一个多元函数无条件极值问题。
由于求极大值问题,可以用添加负号的方式转化为求极
小值问题,因此通常只讨论求极小值问题。
应该注意的是,极值问题的解,即极值点,都是局部最优解,全局最优解只能从局部最优解的比较中得到。
如何求解无约束最优化问题的最优解呢?一般是采用迭代法,即先选择一个初始点,再寻找该点处的下降方向(我们称为搜索方向),在该方向上求极小点,得到一个新的点,然后在新点处再寻找下降方向和在该方向上的求极小点,……,如此下去,最终得到最优解。
我们先来看求一元函数y=f(x)在[x1,x2]内的极小值的命令:
说明:其中'fun'是函数f(x)的表达式,当然也可以是关于f(x)的函数M-文件名。
返回值x 是极小值点。
现在我们来回答问题1。
问题1:求()2sin x f x e x -=在区间[0,6]内的极小值点和极小值.
命令如下
f='2*exp(-x)*sin(x)';
x=fminbnd(f,0,6) %极小值点
fval=2*exp(-x)*sin(x) %对应x 的极小值
大家得到的结果是什么呢?
这些是一元函数求极值,那么怎么求多元函数的极值
呢?可以用下面的最简形式的命令:
如果还必须满足更苛刻的要求,可以用下面的命令
说明:(1) 返回值中,x 是极小值点。
如果需要相应的极小值,可以用fval=fun(x)即可。
(2) 这里'fun'必须是事先定义的函数M-文件,M-文件的定义方式看下面的例子。
(3) x0是迭代初值。
问题2:已知2231212
12(,)4f x x x x x x =+-。
(1) 12(,)f x x 在点(1,2)附近的极小值;
(2) 求12(,)f x x 在点(1,2)附近的极小值点和极小值,要求要求用大型优化算法,搜索方向用拟牛顿法的DFP 公式,精度为610-,并给出迭代次数.
首先,建立M-文件,文件名取函数名 myfun.m 。
function f=myfun(x)
f=4*x(1)^2+x(2)^2-x(1)^3*x(2)
对于第一问,比较简单,直接应用上面命令的最简形式即可,如下。
x0=[1,2]; %取点(1,2)为迭代初值
x=fminunc('myfun',x0);
fval=myfun(x)
命令如下
x0=[1,2];
x
对于第二问,首先求出梯度:
syms x1 x2;
f='4*x1^2+x2^2-x1^3*x2';
J=jacobian(f,[x1,x2])
得到梯度向量:
J = [ 8*x1-3*x1^2*x2, 2*x2-x1^3]
其次,定义目标函数和梯度的m文件myfun1.m:function [y,Gy]=myfun1(x)
y=4*x(1)^2+x(2)^2-x(1)^3*x(2);
Gy=[8*x(1)-3*x(1)^2*x(2), 2*x(2)-x(1)^3];
最后,编入命令:
x0=[1,2];
opt=optimset; %为了方便将optimset返回为opt opt.Display='iter'; %显示所有迭代过程
opt.Tolx=1e-6;
opt.TolFun=1e-6; %设置自变量和因变量的容量
opt.HessUpdate='dfp'; %设置搜索方向
opt.GradObj='on';
rgeScale='on';
[x,fval,exitflag,output]=fminunc('myfun1',x0,opt)
大家分别运行上面的命令,看看相应的答案是什么? 类似fminunc ,我们还有一个命令fminsearch ,用法几乎一样, 与fminunc 不同的仅有两点:(1)fminsearch 使用的优化方法是单纯形法。
(2)'fun'可以是函数f(x)的表达式,当然也可以是关于f(x)的函数M-文件名。
另外大家可以思考Rosebrock 函数
22212211(,)100()(1)f x x x x x =-+-。
试用不同算法(搜索方向和步长搜索)求最优极小值点和极小值。
初值为( 1.2,2)-。
(参看: ppt : Matlab 优化工具箱使用方法)!!。