第5讲 无约束优化

合集下载

无约束优化计算方法PPT学习教案

无约束优化计算方法PPT学习教案
即,求优化步长因(k) 子f (x(k 使 ) s(k) ) 沿给定方向达到极小值。
(k)
(k) 则称为一维搜索的最优步 长因子。求 值的方法称为一 维搜索优化计算方法或单变量 优化计算方法。 第2页/共40页
f (x) f (x(k) )
f (x(k1) ) min f (x(k) s(k) )
( 3(i )
(i 1
)
)
i 2取为(i 1)1
f (x(k) s(k) )
(i) 3
2 (3(i)
(i) 1
)
(i) 1
(3(i)
(i 1
)
)
2 1 0
(i) 1
i1
i2
(i) 3
(i1) 1
(i1)1
(i1)2
(i1) 3
(i2)
1
(i2)1
(i2)2
f (t2 ) f (x(k) t2s(k),) 若 f (1) f (t则2 )继续增大步长 t0 ,2t再0
计算其函数值 f (t,2 ) 与前一点的函数值进行比较,直到相临
两点的函数值满足 f (ti1) f (ti时) 为止,即形成了高-低-高的一
维函数曲线;最后一点就定为搜索区间的右端点3 1 ti。
(i1) 1
(i) 1
i1 (i1)
1
i2
(i1)1
(i1)2
(i) 3
(i1) 3
(i) 取为 3
取为 i2
(i1) 3
(i1)1
第12页/共40页
在新的区间中:
(i 1)1
(i1) 3
(
(i 3
1)
(i1) 1
)
(i) 3

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

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

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 ) ;否则,仍用 就是鲍威尔修正算法,通常所说的鲍威尔算法就是指这一修正算法。
• 鲍威尔算法的计算步骤及算法框图

05工程优化 第4章1无约束最优化方法PPT课件

05工程优化 第4章1无约束最优化方法PPT课件
定理(二阶必要条件)
若 x*为 f x的局部极小点,且在 N x* 内 f x二次连续可
微,则 f (x*) 0,2 f (x*) 半正定。
7
无约束优化的最优性条件----二阶充分条件
定理(二阶充分条件)
设 f : Rn R ,若在 N (x*) 内 f (x) 二次连续可微,且
f (x*) 0, 2 f x 正定,则 x 为 f (x) 的严格局部极小
第4章 无约束最优化方法
• 最优性条件 • 最速下降法 • 牛顿法及其阻尼牛顿法 • 共轭方向法 • 共轭梯度法 • 变尺度法(DFP算法和BFGS算法)
1
整体概况
+ 概况1
您的内容打在这里,或者通过复制您的文本后。
概况2
+ 您的内容打在这里,或者通过复制您的文本后。
概况3
+ 您的内容打在这里,或者通过复制您的文本后。 2
点。
如果 2 f x 负定,则 x 为 f (x) 的严格局部极大点。
8
无约束优化的最优性条件----凸优化的一阶条件
定理(一阶充要条件)
设 f : Rn R 是凸函数且在 x 处连续可微,则 x 为 f (x)的全局极小点的充要条件是 f (x*) 0.
定理(一阶必要条件)
设 f : Rn R 是严格凸函数且在 x 处连续可微,若 f (x*) 0, 则 x 为 f (x) 的唯一全局极小点。
无约束最优化问题:
min f (x) f : Rn R
(1)
目的是找 R n 中的一点 x * ,使对xRn ,均有
f (x*) f (x) ,称 x * 为(1)的全局极小点。
求解 (1)的计算方法称为无约束最优化方法。

最优化方法:第五章 常用无约束优化方法

最优化方法:第五章 常用无约束优化方法

g1
0.73846 0.04616
1.47692 0.42500 0.36923
0.11076 0.11076
束 优
f (X1) 0.06134, g2 f (X 2 ) 00..2828105028, g2 0.91335.
化 因为 方 法
g1T g0 0.0000,
g
T 2
g1

(4)计算 X k1 X k Pk,f k1 f ( X k1 ),gk1 g( X k1) .
法 (5)判别终止准则是否满足:若满足,则打印最优解X k1
,fk1 结束;否则,置k k 1 ,转(2).
第 五 章 常 用 无 约 束 优 化 方 法
例5.2 试用Newton法求 f (x1,x2 ) x12 4x22 的极小点,初 始点取为 X 0 [1, 1]T .
方 法
, X k1 f (X k1) ,结束;否则,置 k k 1,转(2).
将最速下降法应用于正定二次函数
f (X ) 1 X T AX bT X c (5.4)
2

可以推出显式迭代公式.

设第k次迭代点为Xk,我们来求Xk+1的表达式.对式
章 (5.4)关于X求梯度,有

g(X ) AX b (5.5)
Pk [2 f (X k )]1f ( X k )
步长因子 tk 1
方向 Pk [2 f (X k )]1f (X k ) 是直指点 X k 处近似二次函数
Q(X )的极小点的方向.此时称此方向为从点 X k 出发的
Newton方向.从初始点开始,每一轮从当前迭代点出发,

沿Newton方向并取步长 的tk 算1 法称为Newton法.

无约束常用优化方法

无约束常用优化方法

步长 ,作前进(或后退)试探.如试探成功(目
标函数值有所减小),则按步长序列
,加
大步长(注意每次加大步长都是由初始点算起),直
至试探失败(目标函数值比前一次的有所增加)时,
则取其前一次的步长作为沿这个坐标轴方向搜索的最
优步长,并计算出该方向上的终止点,而后以这个终
止点为始点再进行下一坐标轴方向的搜索,并重复上

显然 是二次函数,并且还是正定二次函数,所以 是凸函数且存在唯一全局极小点.为求此极小点,令
即可解得

(5.9)
对照基本迭代公式,易知,式(5.9)中的搜索方向
步长因子
方向
是直指点 处近似二次函数
的极小点的方向.此时称此方向为从点 出发的
Newton方向.从初始点开始,每一轮从当前迭代点出发,
沿Newton方向并取步长 的算法称为Newton法.
另外,共轭梯度法不要求精确的直线搜 索.但是,不精确的直线搜索可能导致迭代 出来的向量不再共轭,从而降低方法的效 能.克服的办法是,重设初始点,即把经过 n次迭代得到的Xn作为初始点重新迭代.
五、坐标轮换法
在坐标轮换法中,沿各个坐标轴方向进行一维搜索
时,常选用最优步长法或加速步长法.加速步长法从
初始点出发,沿搜索(坐标轴)方向先取一个较小的
三、共轭方向法
1、概念
通常,我们把从任意点
出发,依次沿某组共轭
方向进行一维搜索的求解最优化问题的方法,叫做共
轭方向法.
2、特点
• 一般地,在n维空间中可以找出n个互相共轭的方向,对于n元正 定二次函数,从任意初始点出发,顺次沿这n个共轭方向最多作n 次直线搜索就可以求得目标函数的极小点.这就是共轭方向法的 算法形成的基本思想.

无约束优化方法

无约束优化方法
§3.1 引言
三. 内容:
一维搜索: 求最优步长因子α(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),得到新的设计点:

5 无约束最优化方法

5 无约束最优化方法

在数学中,海森矩阵(Hessian matrix 或 Hessian)是一个自变量为向量的实值函数 的二阶偏导数组成的方块矩阵,此函数如下:

如果 f 所有的二阶导数都存在,那么 f 的海 森矩阵即:
H(f)ij(x) = DiDjf(x)
阻尼牛顿法
基本牛顿法对于一般非线性函数求解可能失 效的缺陷可以通过在迭代中引入步长因子和 一维搜索加以解决,改进后的算法称为阻尼 牛顿法,引入的步长因子αk也称为阻尼因子。 由于引入阻尼因子和一维搜索,虽然增加了 计算量,但可以保证迭代点的严格下降性, 可以适用于任何非线性函数,具有更理想的 收敛效果。
变尺度法(拟牛顿法)
变尺度法是通过坐标变换构造的一类最优化 算法。这类算法的搜索方向在计算中以递推 形式逐步产生并最终逼近牛顿方向,而不需 计算函数的二阶导数及其及逆矩阵。 变尺度法具有超线性收敛速度。
坐标变换
当函数在一点的二阶导数矩阵为正定时,其函数 在该点的泰勒二次展开式是正定二次函数,其等 值线为同心椭圆族。 引入变换矩阵U和如下变换:
唯一极小 (全局极小)
2 f ( x1 x2 ) 2 x12 2 x1 x2 x2 3x1 x2
f 0 f 0.298 f 0.298
多局部极小
根据搜索方向的不同构成方式:
导数法(解析法):利用目标函数的一阶导数 和二阶导数信息构造搜索方向的方法。(梯度 法、牛顿法、变尺度法、共轭梯度法)收敛性 和收敛速度较好,较为常用 模式法(直接法):通过几个已知点上函数值 的比较构造搜索方向的一类算法。(鲍威尔法) 迭代次数多,收敛速度慢,搜索方向不理想


转向(ቤተ መጻሕፍቲ ባይዱ);

无约束优化方法

无约束优化方法

为了使目旳函数值沿搜索方向 f (xk ) 能够取得最大旳
下降值,其步长因子
应取一维搜索旳最佳步长。即有
k
f
( xk1)
f [xk
akf
( xk )]
min a
f [xk
af
( xk )]
min, ( ) a
根据一元函数极值旳必要条件和多元复合函数求导公式,得
'( ) f [ xk kf ( xk )] T f ( xk ) 0
第四章 无约束优化措施
第一节 概 述
数值解法:是从给定旳初始点x0出发,沿某一搜索方向d0
进行搜索。拟定最佳步长α,使函数值沿d0方向下降最大。 依此方式按下述公式不断进行,形成迭代旳下降算法。
x,k1 xk k d k (k 0,1, )
1)选择迭代方向即探索方向; 2)在拟定旳方向上选择合适步长迈步进行探索。 多种无约束优化措施旳区别就在于拟定其搜索方向dk旳措 施不同。所以搜索方向旳构成问题是无约束优化措施旳关键。
4)若 | xk1 xk | ,则停止迭代,
得最优解x* xk1;
否则,k k 1,转到第二步。
第四章 无约束优化措施
第二节 最速下降法
例:用最速下降法求目标函数 ,
f (x) x12 25x22
的极小点。
xk1 xk kf (xk )(k 0,1, )
第四章 无约束优化措施
解 取初始点 x0 [2,2]T f ( x0 ) 104
第四章 无约束优化措施
第四节 共轭方向及共轭方向法 •共轭方向旳形成
•格拉姆-斯密特向量系共轭化旳措施
i
d i1
vi1

dr i 1, r

第五章无约束优化的间接搜索法

第五章无约束优化的间接搜索法
• 关于共轭梯度法的说明
1)尽管理论上可以证明目标函数为n维正定 二次函数时,共轭梯度法只需要n次迭代就可以 达到最优点,但由于计算机的舍入误差,实际 计算往往要多进行若干次才能得到满足精度要 求的结果;而对于一般的目标函数,迭代次数 将更多。
所以
令 得
(1)[g(1)]Tg(1) - (0) [ g(0)]T g(0) ] = 0 -[g(2)]T g(2) - (1)[g(1)]Tg(1) = 0
(1) = - (1) (1) = - (1) = [g(2)]T g(2)/ [g(1)]Tg(1)
= ||g(2)||2 / ||g(1)||2 (0) = (1) [g(1)]T g(1)/ [g(0)]Tg(0)
因为
[S(0) ]T g(1) = 0
所以
[S(0) ]T g(2) = 0

g(2) 与g(0)正交。
所以
[S(0) ]T g(2) = 0
由式(6)得 [g(1) ]T g(2) = 0
可见, g(0)、g(1) 、g(2)构成一个空间正交系。
3)在g(0)、g(1)、g(2)构成的空间正交系中求与 S(0)及S(1)均共轭的方向S(2),以此作为下一步迭代 计算的搜索方向。仍取S(2)为g(0)、g(1)、g(2) 的线 性组合,即
再沿S(2) 进行一维搜索,得 X(3) = X(2) + (2) S(2),
如此继续下去,可以求得共轭方向的递推公式 为
S(k+1) = -g(k+1) + ||g(k+1)||2 / ||g(k)||2 S(k)
(k = 0, 1, 2, …, n-1)
沿着这些共轭搜索方向一直搜索下去,直 到最后迭代点处梯度的模小于给定的允许值为 止。若目标函数为非二次函数,经n次搜索还未 达到最优点时,则以最后得到的点作为初始点, 重新计算共轭方向,一直到满足精度要求为止。

05-无约束优化算法

05-无约束优化算法

05-⽆约束优化算法05-⽆约束优化算法⽬录⼀、⽆约束最⼩化问题[⽆约束最⼩化问题] 使 f(x) 最⼩化, f:R n→R 是凸的,且⼆次可微(意味着 domf 是开集)。

假设这个问题是可解的,也就是存在最优点 x∗ ,最优值 inf x f(x)=f(x∗) ,记为 p∗ .[最优充要条件] 因为 f 是可微且凸的,点 x∗ 是最优点的充要条件是∇f(x∗)=0 .注:其实可以从⼆维的图像去理解因此解决⽆约束最⼩化问题等同于寻找上式的解,是含有n个未知数的n个⽅程的集⽅程组。

有时我们是⽤递归算法来解决这个问题,也就是依次计算x(0),x(1),...∈domf , 有f(x(k))→p∗,k→∞ 。

这样的序列叫做问题的最⼩化序列 (minimizing sequence)。

算法的停⽌条件:f(x(k))−p∗≤ϵ,ϵ≥0 是可容许的误差值。

[初始点,下⽔平集] 初始点 x(0) 必须在 domf 中,并且下⽔平集S={x∈domf|f(x)≤f(x(0))} 必须是闭的。

注:下⽔平集是闭的,其实就是对函数做了⽔平切割,然后⽔平切割下的图像是封闭的如果函数 f 是闭的(也就是它的所有下⽔平集都是闭的)那么以上条件都能满⾜。

定义在domf=R n上的连续函数是闭的,所以如果domf=R n,那么初始下⽔平集条件对于任何x(0)都满⾜。

另⼀种闭函数:定义域是开集,当x趋近于bd domf时,f(x) 趋近于⽆限。

[强凸] ⼀个函数在 S 上是强凸的,如果存在 m>0 ,使得对于所有的 x∈S ,有∇2f(x)⪰mI.注:强凸的性质,其实就是保证函数的 ∇2f(x)>0 ,也就是确保只有⼀个最优解,⽽弱凸是最优解有多个,如下图所⽰。

对于x,y∈S我们有f(y)=f(x)+∇f(x)T(y−x)+12(y−x)T∇2f(z)(y−x) , for some z∈[x,y] 。

根据强凸的假设,最后⼀项⼤于等于 (m/2)‖y−x‖22,∀x,y∈S ,也就是:f(y)≥f(x)+∇f(x)T(y−x)+(m/2)‖y−x‖22 .当m=0 时,我们得到了描述凸性的基本不等式。

第五章 无约束优化方法

第五章 无约束优化方法
0 1 2 1 4 2 10
由(5.3)得 X (1) X (0) [H ( X (0) )]1 F ( X (0) ) 0 3 1
S (0) 1 4,10T 0.3714 ,0.9285 T 10.770329
2 2 例 5-3 试用牛顿法求例5-1给出的目标函数 f ( X ) x1 x2 x1 x2 4x1 10x2 60的极小值, ( 0) T 设初始点 X (0) [ x1(0) , x2 ] [0,0]。 2 f 2 f
f ( X ) f ( X ) T 解: f ( X ( 0) ) , 4,10 x 2 x1
(0)
6 8
H 1F
X (k ) X*
X
X (1) 6 8
T
(1)
X
S
( 0)
x1(1) 0 0.3714 0.3714 0.9285 (1) 0 0 . 9285 x2
f ( X ) f ( X ) T 解: f ( X ) , 2 x1 x 2 4,2 x 2 x1 10 x 2 x1 2 2 f ( X ( 0) ) f ( X ( 0) ) ( 0) 2 2 f ( X ) x x (4) (10) 10.770329 1 2
即为最优点,只迭代一次就达到了X*。
图5.8牛顿法的修正
• 5.3.2 牛顿法的特点
由上述可见,当目标函数为二次函数时,收敛很快,属于二阶收敛,是目前算法中最快的 一种。即使目标函数不是二次函数,当初始点选得好时,也会很快收敛。但如果目标函数 非凸,初始点选择不当有可能远离极小点或导致不收敛(图5.8)。基于这种原因,为保 证每次迭代下降,对古典的牛顿法要做些修改,于是便出现了修正牛顿法。其修正方法是 在 X ( k ) 沿牛顿方向做一次一维搜索,避免远离极小点 X (k 1) X (k ) k [H ( X (k ) )]1 F ( X (k ) )

无约束优化

无约束优化
图4-15 坐标轮换法在多种不同情况下旳效能 (a)搜索有效;(b)搜索低效;(c)搜索无效
第八节 Powell法(方向加速法)
Powell法是利用共轭方向能够加速收敛旳性质 所形成旳一种搜索算法。
一、共轭方向旳生成
二、基本算法
三、改善旳算法
在鲍维尔基本算法中,每一轮迭代都用连结始点和终点 所产生出旳搜索方向去替代原来向量组中旳第一种向量, 而不论它旳“好坏”。
gk1 gk 与 d k 旳共轭方向 d j 正交。
图4-9 共轭梯度法旳几何阐明
第六节变尺度法
变尺度法旳基本思想:
前面讨论旳梯度法和牛顿法,它们旳迭代公式能够看作下列 公式旳特例。
xk1 xk k Hf xk
变尺度法是对牛顿法旳修正,它不是计算二阶导数旳矩阵和 它旳逆矩阵,而是设法构造一种对称正定矩阵H来替代Hesse 矩阵旳逆矩阵。并在迭代过程中,使其逐渐逼近H-1 。
优化设计追求目旳函数值最小,若搜索方向取该点旳负梯度 方向,使函数值在该点附近旳范围内下降最快。
按此规律不断走步,形成下列迭代算法:
xk1 xk akf xk
以负梯度方向为搜索方向,所以称最速下降法或梯度法。
搜索方向拟定为负梯度方向,还需拟定步长因子ak
即求一维搜索旳最佳步长,既有
f
xk1 0
f xk 2 f xk xk1 xk 0
xk1 xk 2 f xk 1 f xk
这是多元函数求极值旳牛顿法迭代公式。
例4-2 用牛顿法求 f x x12 25x xk k 2 f
数值法
能够处理复杂函数及没有数学体现式 旳优化设计问题
xk1 xk ak d k
搜索方向问题是无约束优化措施旳关键。

05工程优化第4章-1无约束最优化方法解析精品PPT课件

05工程优化第4章-1无约束最优化方法解析精品PPT课件

利用精确一维搜索,可得
' (k ) f (xk k d k )T d k 0
由此得出
f (xk ) d k
0=f (xk k d k )T d k =f (xk +1)T d k = (d k +1)T d k
最速下降法在两个相邻点之间的搜索方向是正交的。
最速下降法向极小点逼近是曲折前进的,这种现象称为锯齿 现象。
然后再从 x1 开始新的迭代,经过10次迭代,得最优解 x* (0, 0)T
计算中可以发现,开始几次迭代,步长比较大,函数值下 降将较快,但当接近最优点时,步长很小,目标函数值下降很 慢。
如果不取初点为 x0 (2, 2)T 而取 x0 (100, 0)T
令 f x 0, 即:
利用一阶条件 求驻点
利用二阶条件 判断驻点是否 是极小点
x12 x22
10 2x2
0
得到驻点: 1 1 1 1
x1
0
,
x2
2
,
x3
0
,
x4
2
.
无约束优化的最优性条件
函数 f x 的Hesse阵:
2
f
x
2x1 0
0
2x2
2
利用二阶条件 判断驻点是否 是极小点
假设 f 连续可微,
d k f (xk )
f
(xk
k d k )
min 0
f
(xk
பைடு நூலகம்
dk )
步长 k由精确一维搜索得到。
从而得到第 k+1次迭代点,即
xk1 xk +k d k xk kf (xk )
最速下降法 负梯度方向d k f (xk )是函数值减少最快的方向 ?

无约束优化方法PPT课件-PPT精选文档

无约束优化方法PPT课件-PPT精选文档
1 1 f x a G d 0 1
等式两边同乘 d
0

T

d Gd 0
0 T 1


fxa fx fx 0
k k T k k
k f x f x 0 k 1 T
d
k 1 T

dk 0
由此可知,在最速下降法中,相邻两个迭代点上 的函数梯度相互垂直。而搜索方向就是负梯度方 向,因此相邻两个搜索方向互相垂直。
第四章
无约束优化方法
第一节 概述
从第一章列举的机械设计问题,大多数实际问题 是约束优化问题。 约束优化问题的求解——转化为一系列的无约束 优化问题实现的。
因此,无约束优化问题的解法是优化设计方法 的基本组成部分,也是优化方法的基础。
无约束优化问题的极值条件
f x* 0
解析法(间接解法)
4.3.2 阻尼牛顿法 牛顿法的缺陷是,在确定极值点的过程中,并不含有沿 下降方向搜索的概念。因此对于非二次型函数,在迭代过 k 1 k 程中,可能出现 f( X )f( X )
的现象。为此人们提出了所谓的阻尼牛顿法。

k d H ( X ) f ( X ) k
1 k
以上二种经典方法中,人们不断努力,发掘,提出了不
同的改进方法。
第四节共轭方向及共轭方向法
为了克服最速下降法的锯齿现象,提高收敛速度,发展 了一类共轭方向法。搜索方向是共轭方向。
一、共轭方向的概念 共轭方向的概念是在研究二次函数
1T T f x x bx c xG 2
时引出的。 首先考虑二维情况
数值法(直接解法)

05 第三章 第五节多维无约束优化问题

05   第三章 第五节多维无约束优化问题

③计算 X
X
(1)
( k 1)
X
( 0)
(1)
X
( 0)
P
④计算 f ( x )
(1)
1 3 4 1 1 2
(1) (1) 2 x1 4 2 x2 0 (1) f ( x ) (1) (1) 0 2 x 4 x 1 2
f(x1,x2 )
定义:
n
2 x12 x2 f ( x1 , x2 ) 2 2 a1 a2
点集{ x E | f(x)=c,c为常数} 为目标函数f(x)的等高(值)线。
x2 x1
性质:
1、具有不同值的等高(值)线不相交;
2、等高(值)线稠密处,函数变化快;
等高(值)线稀疏处,函数变化慢;
当变量个数较多时,H 1 ( x ( k ) )计算工作 量较大。
适用于二阶连续可微的函数。 具有二阶收敛速度。 初始点选择需接近极小点,否则可能不 收敛。
§3.5 多维无约束优化问题
一、梯度法(最速下降法)
二、牛顿法
三、拟牛顿法(变尺度法、DFP法)
三、拟牛顿法(变尺度法、DFP法) 1、拟牛顿法算式来源
f ( x ) ( 0.58 (0.48) )
( 2) 2
2
2 2
0.5668 0.25
④第3次搜索 X
( 3)
X (3) X ( 2) 2f ( x ( 2) ) 2.44 0.582 2.44 0.582 1.16 0.482 1.16 0.482
将X
( 3)
代入 f ( x) 中去
( 3) 4 2
min f ( x ) (0.44 0.582 ) (0.12 1.542 )

第5讲 无约束优化

第5讲 无约束优化

例5
产销量的最佳安排
某厂生产一种产品有甲、乙两个牌号,讨论在产销 平衡的情况下如何确定各自的产量,使总利润最大. 所 谓产销平衡指工厂的产量等于市场上的销量.
符号说明
z(x1,x2)表示总利润;
p1,q1,x1 分别表示甲的价格、成本、销量; p2,q2,x2 分别表示乙的价格、成本、销量; aij,bi,λ i,ci(i,j =1,2)是待定系数.
变量 f fun H A,b Aeq,beq vlb,vub X0 x1,x2 options 描 述 线性规划的目标函数f*X 或二次规划的目标函 数X’*H*X+f*X 中线性项的系数向量 非线性优化的目标函数.fun必须为行命令对象 或M文件、嵌入函数、或MEX文件的名称 二次规划的目标函数X’*H*X+f*X 中二次项的系 数矩阵 A矩阵和b向量分别为线性不等式约束: AX b 中的系数矩阵和右端向量 Aeq矩阵和beq向量分别为线性等式约束: Aeq X beq 中的系数矩阵和右端向量 X的下限和上限向量:vlb≤X≤vub 迭代初始点坐标 函数最小化的区间 优化选项参数结构,定义用于优化函数的参数 调用函数 linprog,quadprog fminbnd,fminsearch,fminunc, fmincon,lsqcurvefit,lsqnonlin, fgoalattain,fminimax quadprog linprog,quadprog,fgoalattain, fmincon, fminimax linprog,quadprog,fgoalattain, fmincon, fminimax linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit, lsqnonlin 除fminbnd外所有优化函数 fminbnd 所有优化函数

无约束优化

无约束优化
2 2
牛顿法
牛顿法的基本思想就是利用二次函数来代替原目标函数, 以二次函数的极小点作为原目 标函数的极小点的近似,并逐步逼近该点。 设一般目标函数 f ( x ) 具有一、 二阶偏导数, 此时, 在 X k 处做泰勒展开并取值二次项,
得:
1 f ( X ) ( X ) f ( X k ) f ( X k )T ( X X k ) ( X X k )T 2 f ( X k )T ( X X k ) 2
为搜索方向,式中:
F ( X k ) F ( X ) , x1
k
F ( X k ) F ( X k ) ,.... x2 xn
T
第 k 1 次得到的新点:
X k 1 X k k F ( X k )
一般步长 1 常采用沿负梯度方向做一维搜索:
习 题 一 : 试 用 梯 度 法 求 目 标 函 数 F ( X ) ( x1 1) ( x2 1) 的 极 小 值 , 设 初 始 点
2
2
X 0 [0, 0]T , 0.01 。
习题二:试用梯度法求目标函数 F ( X ) x1 25 x2 的最优解。初始点 X 0 [2, 2]T ,迭代精 度 0.05 。
其步
阻尼牛顿法一般步骤: 1 2 选取初始数据。选取初始点X 0 , 给定允许误差 0,令k 0 检验是否满足终止准则。计算f ( X k ), 若 f ( X k ) , 迭代终 止,X k 为问题的近似最优解;否则,转Step3. 3
2 k 构造牛顿方向。计算 f ( X ) ,取 1
0 0.130769
T X1 ( 11 , ) 0.13.769(8, 2)T ( 0.046152, 0.738462)T 第二次迭代:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3、运行结果: x= 0.5000 -1.0000 y = 1.3029e-10
•fminsearch是用单纯形法寻优. fminunc的算法见以下几点说明:
[1] fminunc为无约束优化提供了大型优化和中型优化算法。 由options中的参数LargeScale控制:
LargeScale=’on’(默认值), 使用大型算法 LargeScale=’off’(默认值), 使用中型算法
4. 用fminunc 函数 (1)建立M-文件fun2.m function f=fun2(x)
f=100*(x(2)-x(1)^2)^2+(1-x(1))^2
(2)主程序
oldoptions=optimset('fminunc'); options=optimset(oldoptions,'LargeScale','off'); options11=optimset(options,'HessUpdate','dfp'); [x11,fval11,exitflag11,output11]=fminunc('fun2', [-1.2 2],options11); pause options21=optimset(options,'HessUpdate','bfgs'); [x21,fval21,exitflag21,output21]=fminunc('fun2', [-1.2 2],options21) pause options31=optimset(options,'HessUpdate','steepdesc'); [x31,fval31,exitflag31,output31]=fminunc('fun2', [-1.2 2],options31) pause options32=optimset(options,'HessUpdate','steepdesc','MaxIter',8000,'MaxFunEvals',8000); [x32,fval32,exitflag32,output32]=fminunc('fun2', [-1.2 2],options32) pause options33=optimset(options,'HessUpdate','steepdesc','MaxIter',9000,'MaxFunEvals',9000); [x33,fval33,exitflag33,output33]=fminunc('fun2', [-1.2 2],options33)
数学建模与数学实验
无约束最优化
实验目的
1、了解无约束最优化基本算法。
2、掌握用数学软件包求解无约束最优化问题。
实验内容
1、无约束优化基本思想及基本算法。 2、MATLAB优化工具箱简介
3、用MATLAB求解无约束优化问题。
4、实验作业。
无约束最优化问题
求解无约束最优化问题的的基本思想
*无约束最优化问题的基本算法
返回
求解无约束最优化问题的基本思想 标准形式:
其中
XE
X E
minn f X
f : E n E1
X E
max f X = minn [ f X ] n
求解的基本思想 ( 以二元函数为例 ) 连 续 可 微
f ( x1 x2 )
x2
f ( X 0 ) f ( X1 ) f ( X 2 )
f val
exi ag tfl
output所有优化函数例1 Nhomakorabea求
f ( x) 2e sin x 在 0< x< 8 中的最小值与最大值。
x
程序为: 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)options=optimset(‘param1’,value1,’param2’,value2,...)
创建一个名称为options的优化选项参数, 其中指定的参数具有指定值, 所有未指定的参数取默认值.
(3)options=optimset(oldops,‘param1’,value1,’param2’, value2,...)
优化函数的输出变量下表:
变量 x 描 述 由优化函数求得的值. 若exi ag> 0, tfl 则x为 解; 否则, x不是最终解, 它只是迭代制止时优 化过程的值 解x处的目标函数值 描述退出条件: exi ag> 0, tfl 表目标函数收敛于解x处 exi ag= 0,表已达到函数评价或迭代的最 tfl 大次数 exi ag< 0, tfl 表目标函数不收敛 包含优化结果信息的输出结构. I terati 迭代次数 ons: Al thm : gori 所采用的算法 FuncC ount: 函数评价次数 调用函数 所有优化函数 lnprog, i quadprog, fgoal attai n, f i m ncon, m i m ax,sq curveft, f ni l i l sqnonln, f i i m nbnd
3.用fminsearch函数求解
输入命令: f='100*(x(2)-x(1)^2)^2+(1-x(1))^2';
[x,fval,exitflag,output]=fminsearch(f, [-1.2 2])
运行结果: x =1.0000 1.0000 fval =1.9151e-010 exitflag = 1 output = iterations: 108 funcCount: 202 algorithm: 'Nelder-Mead simplex direct search'
运行结果: xm i = 3. n 9270 xm ax = 0. 7854
ym i = -0. n 0279 ym ax = 0. 6448
例2 对边长为3米的正方形铁板,在四个角剪去相等的正方形以 制成方形无盖水槽,问如何剪法使水槽的容积最大?

设剪去的正方形的边长为x,则水槽的容积为: (3 2 x) 2 x
X0
X1
0
x2
0
3 5
1
X2
x1
x1
唯一极小 (全局极小)
2 f ( x1 x2 ) 2 x12 2 x1 x2 x2 3x1 x2
f 0 f 0.298 f 0.298
多局部极小
搜索过程
min f ( x1 x2 ) 100 ( x2 x ) (1 x1 )
[2] fminunc为中型优化算法的搜索方向提供了4种算法, 由options中的参数HessUpdate控制:
HessUpdate=’bfgs’(默认值),拟牛顿法的BFGS公式; HessUpdate=’dfp’,拟牛顿法的DFP公式; HessUpdate=’steepdesc’,最速下降法
控制参数options的设置
Options中常用的几个参数的名称、含义、取值如下: (1) Display: 显示水平. 取值为’off’时, 不显示输出; 取值
为’iter’时, 显示每次迭代的信息; 取值为’final’时, 显示 最终结果. 默认为’final’. (2) MaxFunEvals: 允许进行函数评价的最大次数, 取值为正整数.
BFGS(Boryden-Fletcher-Goldfarb-Shanno)公式
DFP(Davidon-Fletcher-Powell)公式
用Matlab解无约束优化问题
1. 一元函数无约束优化问题: m i f n (x)
x1 x x 2
常用格式如下: (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(...) 其中(3)、(4)、(5)的等式右边可选用(1)或(2) 的等式右边。 函数fminbnd的算法基于黄金分割法和二次插值法,它要 求目标函数必须是连续函数,并可能只给出局部最优解。

min f(x)=(4x12+2x22+4x1x2+2x2+1)*exp(x1)
1、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、主程序:
x0 = [-1, 1]; x=fminunc('fun1',x0); y=fun1(x)
2、多元函数无约束优化问题
标准型为:min F(X) 命令格式为: (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(...)
相关文档
最新文档