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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 ) ;否则,仍用 就是鲍威尔修正算法,通常所说的鲍威尔算法就是指这一修正算法。
• 鲍威尔算法的计算步骤及算法框图
1
)任选初始点
X(0) =
X
(1) 0
,给定迭代收敛精度
c1
,
c
2 取初始基本方向组为 单位坐标向量系,即S i (1) =e i ( i =
1, 2, … , n ), 并置迭代轮次k=1。
在 X(k) 和C X(k+1)两点处的梯度可以表示为
▽f (X(k) ) = H X(k) + B ▽f (X(k+1) ) = H X(k+1) + B
( )1 ( )2
(2)- (1)得 ▽f (X(k+1) ) - ▽f (X(k) ) = H ( X(k+1) - X(k) ) (3)
(3)式两边同时左乘[S(j) ]T得 [S(j) ]T [▽f (X(k+1) )-▽f (X(k) )]= [S(j) ]TH (X(k+1)
7)收缩:当 fn+2 ≥ f G 时,则需收缩。 若 fn+2 < fH ,则取收缩点Xn+4 :
Xn+4 = Xn+1 + (Xn+2 – Xn+1) ( =0.5) fn+4 = f (Xn+4 )
否则,以XH代替上式中的Xn+2 , 计算收敛点Xn+4 : Xn+4 = Xn+1 + (XH – Xn+1) fn+4 = f (Xn+4 )
Xi(k) =Xi-1(k)+αi(k)ei(k) ( k—迭代轮次, i — k轮迭代的第i次一维搜索
αi(k) — 一维搜索求得的最优步长)
|| Xn(k) – X0(k) | | ≤c ?
• 计算步骤与算法框图
1)任选初始点X(0) =X0(1) = [x1(0) x2(0) … xn(0) ]T , 给定迭代收敛精度c ,i = 1,k = 1。
Xn+4
x 2 XL X2
Xn+3 Xn+2
Xn+1
Xn+4
X0 XH
X1 XG x1
若 }n+4 < }H ,则以Xn+4 代替XH , }n+4代替}H , 形 成新的单纯形,然后返回到 3);否则转下一步8)。
8)缩边:将单纯形向XL缩边,可以将各向量
( Xi – XL )
( i = 0, 1, 2, …, n )
若满足,则结束迭代计算,并输出 X * = XL 和 f * = f L
否则,转下一步。 5)计算除XH 点外的各点的“重心” Xn+1 ,即
Xn+1 = ( i –XH) / n 计算反射点: Xn+2 = 2Xn+1 –XH 和
fn+2 = f (Xn+2 ) 当 f L ≤ fn+2 < fG 时,以Xn+2 代替XH , fn+2 代 替 fH ,构造新的单纯形,然后返回到 3)。
• 共轭方向的生成
设是X(k) 和 X(k+1) 为从不同点出发,沿同一方向进 行 一维搜索而得到的两个极小点。
▽f (X(k) )
S(j
)
X(k)
S(j
)
▽f (X(k+1) )
X(k+1) S(k)
[S(j) ]T ▽f (X(k) ) = [0S(j) ]T ▽f (X(k+1) ) =
具有正定对称矩阵H的二次函数 f (X) = 0.5 XT H X + BT X +
2)置n个坐标轴方向向量为单位向量,即e1 =[1 0 … 0 ]T , e2 =[0 1 0 … 0 ]T ,… , en =[0 … 0 1]T。
3)按如下迭代计算公式进行迭代计算 Xi(k) =Xi-
( k—迭代轮次, i 1—(kk)+轮α迭i(代k)e的i(第k)i次一维搜索 i =1,2, … ,n)
对第 k 轮迭代,记
f 1 = f (X0(k)
f 2 = f (Xn(k)
f 3 = f (2Xn(k)
)及X0△(km) ()k)
=
max
) {f
(Xi-1(k)
)
-
f
(Xi (k)
)
,
i=1,2,…,
n
},
并 记 S m ( k )为 与△ m ( k )相 对 应 的 搜 索 方 向 , S(k) = Xn(k) -X0(k)
x2
X2(1
)
X0(1)
X1(1)
S
1
取初始点 X (0)
(1) =e 1
=X
=[1
0
(1) ,
0] T
e2 =[0 1]T。
x1
x 1 坐标轴方向的单位向量
, x 2 坐标轴方向的
X1(1) =X0(1) +α1(1)S1(1) , X2(1) =X1(1) +α2(1)S2(1)
第一轮迭代搜索:
坐标轮换法(变量轮换法、交替法、降维法)
• 基本思想
将 n 维无约束优化问题转化为 n 个沿坐标轴方向 e i (i=1, 2, … , n) 的一维优化问题来求解,并记完成 n 次一 维搜索为一轮。若一轮搜索后未得到满足精度要求的最优点, 则继续下一轮迭代搜索。如此反复,直至得到满足精度要求 的最优点为止。在每一轮搜索中,每次迭代仅对n元函数的 一个变量沿其坐标轴方向进行一维搜索,其余n-1个变量均 保持不变,再依次轮换进行一维搜索的坐标轴,直至完成沿 n个坐标轴方向的n次一维搜索。
X1(1) =X0(1)
+α=1([1x)e1(10()1)
x2(0) ]T
+
α
(1) 1
[1
0]T
X2(1) =X1(1) +α2(1)e2(1)
= [x1(1) x2(1) ]T + α2(1) [0 1]T 判断是否满足迭代收敛准则:
|| X2(1) – X0(1) | | ≤c ?
若满足,则输出最优解,否则,继续下一轮迭代搜索。
无约束最优化方法
无约束最优化方法
o求解无约束最优化问题 min f(x) 的数值迭 代解法。
o构成约束最优化方法的基础解法。
o求解无约束最优化问题的下降迭代解法具有 统一的迭代格式,其基本问题是选择搜索方 向和在这些搜索方向上进行一维搜索。
o 由于构成搜索方向的方式可以不同,从而形 成了各种不同的无约束最优化方法。
x2 S(k) X*
X(k+1)
S(j)
x
1
X(k)
上述生成共轭方向的方法完全可以推广到n维优化问题 中,即在n维空间中,按上述方法可以生成n个相互共轭的搜 索方向。
• 鲍威尔法的基本原理和迭代过程 1)采用坐标轮换法顺次沿n个坐标轴方向进行一维搜
索,然后以初始点X(0)和终点Xn(1)构成一个新的方向 S(1) , 并以此方向为搜索方向再作一维搜索得到极小点Xn+1(1) 。
的长度都缩小一半,即
Xi = XL + 0.5 (Xi – XL) = 0.5 (Xi + XL)
( i = 0, 1, 2, …, n ) 形成新的单纯形,然后返回到 2)。
鲍 威 尔 ( Powell) 法
• 基本思想
它是直接利用函数值来构造共轭搜索方向的一种共轭 搜索方向法,又称鲍威尔共轭方向法或方向加速法。由于对 于n维正定二次函数,共轭搜索方向具有n次收敛的特性,所 以鲍威尔法是直接搜索法中十分有效的一种算法,一般认为 对于维数 n ≤20 的目标函数它是成功的。鲍威尔法是在研究 具有正定对称矩阵H的二次函数的极小化问题时形成的,其 基本思想是在不用函数导数信息的前提下,在迭代过程中逐 次构造关于H的共轭方向。
2)取始点X0 (2) = Xn+1 (1) ,并去掉原搜索方向组 中 的第一个方向S1(1) =e1 ,而将第一轮构成的新搜索方向 S(1) 作为最末一个方向,以此组成第二轮迭代的n个方向。
依此进行下去,直到获得满足迭代收敛精度要求的近似极小 点为止。
根据这一原理构造的迭代算法称为鲍威尔基本算法。
那么,为什么会产生这种情况呢?又该如何去改进呢 ?
• 鲍威尔条件及鲍威尔修正算法
鲍威尔基本算法中,每一轮迭代都是用连接始点和终 点所产生的新搜索方向去机械地替换原方向组中的第一个搜 索方向,而不做任何的“好坏”判断,这正是产生向量线性相 关而发生“退化”的根本原因所在。为了避免这种“退化”现象 的发生,鲍威尔对这一基本算法进行了修正。即在每一轮产 生新的搜索方向S(k)后,首先判断原搜索方向组是否可以直接 用作下一轮迭代的搜索方向组,若可以,则仍用之,否则, 还要进一步判断原搜索方向组中哪个方向上函数值下降量最 大或贡献最大,然后再用新搜索方向替换这个贡献最大的搜 索方向,以保证逐次生成共轭方向,即每一轮迭代的搜索方 向组线性无关。
• 计算步骤
1)构造初始单纯形
选初始点X0 ,和步长h。从X0 出发沿各坐标轴方向分别 走步长h,得到n个顶点Xi (i=1, 2, … , n),与X0 构成初始 单纯形。
x2
X2
X0
X1
x x1
2)计算各顶点的函数值 fi = f (Xi) (i=0, 1, 2, … , n)
3)比较函数值大小,确定最好点XL 、最差点 XH 和次差点 XG ,即:
fL = f (XL) =min{ fi : i = 0, 1, 2, … , n } fH = f (XH) =max{ fi : i = 0, 1, 2, … , n } fG = f (XG) =max{ fi : i = 0, 1, 2, … , n; i ≠H }
4)检验是否满足迭代收敛条件 |( fH – fL) / fL | ≤ c ?
无约束优化的直接搜索法 X (k+1) =X (k) + (k) S(k) …)
(k =0 , 1 , 2 ,
各种无约束优化方法的区别就在于确定其搜索方向S(k) 的 方法不同,所以搜索方向的构成问题是无约束优化方法的关键。 根据构造搜索方向所使用的信息性质的不同,无约束优化方法 可以分为两类:
一类是只利用目标函数值信息的无约束优化方法,如坐标 轮换法、鲍威尔法,称为直接搜索法;另一类是利用目标函数的 一阶或二阶导数信息的无约束优化方法,如梯度法、牛顿法、共 轭梯度法、变尺度法,称为间接搜索法。
- X(k) )=0

[ S(j) ]T H ( X(k+1) - X(k) ) = 0
若取
S(k) = X(k+1) - X(k)
那么, S(k) 和 S(j) 关于H 共轭,即
[ S(j) ]T H S(k) = 0
这说明:
沿S(j) 方向分别对函数做两次一维搜索,得到两个 极小点X(k) 和 X (k+1) ,该两点的连线方向 S(k) 与 S(j) 是 关 于H 共轭的方向。
4)判断是否满足迭代收敛准则 || Xn(k) – X0(k) | | ≤c ?
若满足,则输出最优解: X * = Xn(k) ,f * = f (X * ) 否则,令X0(k+1) = Xn(k) ,k k+1,返回3)。
单纯形替换法
• 基本思想
通过计算出若干点处的函数值,对其大小进行比较,可以 看出函数值变化的大致趋势,从而可以寻求使函数值下降的搜 索方向。在n维空间中,由n+1个不同点顺序相连,就可以构 成一个具有n+1个顶点的多面体——称之为单纯形。计算函数 在这n+1个顶点的函数值,并进行比较,据此来确定有利的搜 索方向和步长,找到一个比较好的点来取代单纯形中较差的那 个顶点,从而组成了一个新的单纯形,并用之取代原来的单纯 形。如此下去,新单纯形不断地向目标函数的极小点靠近,直 到搜索到极小点为止。
相关文档
最新文档