第8章 无约束问题最优化方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、算法步骤
设 ei 为第 i 个坐标轴的单位向量,即
0
M
0
ei
1
—第i行(i
1, 2,L
, n)
0 M
0
1. 给 定 初 始 点 x(1) (c1, c2 ,L , cn )T , 其 中 c1, c2 , , cn 为 常 数 . 2. 从 x(1)出发,先沿第一个坐标轴方向 e1 进行一维搜索,求出最优 步 长 1 , 得 新 点 x(2), 即
f (x(2) )
f
Байду номын сангаас
( x(1)
1e1
)
min
f (x(1)
e1)
x(2) x(1) 1e1
(8-1)
其 中 , f (x(1) e1) 是 步 长 的 一 维 函 数 , f (x(1) e1) 的 极 小 点 1 就
是 e1 方向上的最优 步长.上式表明:从 x(1)出发,沿 e1 进 行 一 维搜索,最优步长 为 1 ,可求得新点 x(2).显然新点 x(2)与 x(1) 相比,只有 x1 的坐标值不同.
方向探测成功,置
t (1) 2
t (1)
1
e1 ; 否 则 探 测 失 败 ,置
t
(1 2
)
=
t1(1).
再沿
e2
方向进行探测,如果
f
(t
(1) 2
e2 )
f
(t
(1) 2
)
,
则
置
t
(1) 3
t
(1) 2
e2
;
否则
若
f
(t
(1) 2
e2 )
f
(t
(1) 2
)
,
则
置
t
(1) 3
t
(1) 2
e2
f (x(n1) )
f (x(n)
nen
)
min
f (x(n)
en )
x(n1) x(n) nen
(8-3)
从初始点 x(1) 出发,经上述 n 个坐标轴方向的一维搜索得到点 x(n+1),我们说完成了变量轮换法的一次迭代. (3) 令 x(1) = x (n+1) ,返回步骤 2 继续迭代.
)
=
x(1)
,先在坐标方向
e1
上作探测,设
是固定步长,
如果
f (t1(1)
e1 )
f (t1(1) ) ,则 沿
e1
方
向
探
测
成
功
,
置
t
(1) 2
t (1)
1
e1 ;否
则 探 测 失 败 ,考 虑 相 反 的 方 向 . 如 果 f (t1(1) e1 ) f (t1(1) ) ,则 沿 e1
模式搜索方法就是根据上述思想设计的.它由两部分组成 , 包括探测移动和模式移动. 利用这种算法建立的迭代点移动 不需要使用一维搜索技巧.
8.2.1 探测移动
这种移动是在某个已知点附近,沿坐标轴 ei 方向进行探测, 其目的是获得一个更小值的点.
取初始点 x(1),探测移动的具体过程如下:
记
t
(1 1
第 8 章 无约束问题最优化方法
关 于 “无 约 束 问 题 的极 值 条 件 ” 和 “下 降 迭 代 类 算法 ”, 我们已在第 6 章中做过介绍,本章介绍几种常用的无约束条 件下多变量函数的最优化方法.
无约 束问 题的 最优 化方 法大 致分 为两 类:一类 在计 算过 程 中只用到目标函数值,而无需计算导数,通常称为直接搜索 法;另一类在计算过程中需要计算目标函数的导数,称为解 析法或使用导数的最优化方法.各种不同的无约束问题的最 优化方法中,其根本不同之处在于迭代过程中选择的搜索方 向不同.变量轮换法、可变单纯形法和模式搜索法等属于直 接搜索法,而最速下降法、牛顿法、共轭梯度法和拟牛顿法 等属于后一类.我们先介绍直接法,再介绍几种使用导数的 方法.
得 到 x(k) 和 t1(k), 从 t1(k) 出 发 , 沿 各 个 坐 标 轴 作 探 测 移 动 得 到 t2(k),
t3(k),…, tn+1(k).
如 果 f (tn(k1) ) f (t (k ) ) ,则 作 模 式 移 动 ,即 令
t (k 1)
t(k) n1
,
t (k 1)
1
已知初 始点 x(1) (1, 2, 3)T ,当 x(n1) x(1) 0.01时停止
迭代.
8.2 模式搜索方法
模式搜索方法( Pattern Search Method )是 R.Hooke 和 T.A.Jeeves 于 1961 年提出的,因此也称为 Hook-Jeeves 方法, 此方法有明显的几何意义,为介绍这种方法,从求一个二元函 数 的 极 小 点 谈 起 .这 相 当 于 寻 找 某 个 曲 面 的 最 低 点 , 或 者 形 象 地说,相当于从一座山岭的某处出发,设法走到附近某一盆地 的最低点,怎样才能尽快达到这一目标呢?很显然, 如果能找 到一条山谷,沿山谷行进是最好的方法.
以上步骤一直进行到所得新点 x(n+1)满足给定精度为止. 变量轮换法特点 是:基 本原 理 非常 简单 ,它 对 目标 函 数的 解析 性 质没 有特 别的 要 求 ,适 用于 各 变量 之间 本质 上无 联 系或 沿各 坐标 轴方 向搜 索比 较 容易 的特 殊结 构 ,而对 一般 的目 标 函数 ,它的 收 敛速度较慢,搜索效率低.
计算.因此终止准则为
(8-7)
其中ε是预先给定的精度.
8.2.5 算法步骤
1. 取初始点 x(1),初始步长 >0,精度要求ε>0,令 t1= x(1),k =1. 2. 对于 i =1,2,…,n, 进行如下操作或计算:
如 果 f (ti ei ) f (ti ) ,则 令 ti1 ti ei ;否 则 若 f (ti ei ) f (ti ) , 则 令 ti1 ti ei ; 否 则 令 ti1 ti . 3. f (tn1 ) f ( x(k) ) ,则 令
定义这些顶点中的最大值点 x(H) ,次大值点 x(G) 和最小值点 x(L) 为 分 别 满 足 以 下 条 件 的 点 :
fH f (x(H ) ) max{ f (x(1) ), f (x(2) ),L , f (x(n1) )}
max fG f (x(G) )
{ f (x(i) ) x(i) x(H)}
(4) 进行反射,令
x(n2) x (x x(H))
(8-9)
计算 f (x(n2)) .
(5) 若 f (x(n2)) f (x(L)) ,则进行扩展,令
这里的单纯形指的是 n 维欧氏空间 Rn 中具有 n+1 个顶 点 的 凸 多 面 体 .例 如 ,一 维 空 间 的 线 段 、二 维 空 间 的 三 角 形、三维空间的四面体等,均为相应空间的单纯形.
考虑无约束最小化问题:
min f (x) , x Rn
设 x(1) , x(2) ,L , x(n1) 是 构 成 单 纯 形 的 Rn 中 的 n+1 个 顶 点 , 并
一、基本原理
变量轮换法是多变量函数寻优方法中原理最简单的一个, 它把多变量函数的优化问题转化为一系列单变量函数的优化 问题来解.其基本思路是:
该方法认为有利 的搜索方向是各 坐标轴方向,因此 它轮流 按各坐标轴方向搜索最优点.从某一给定点出发,按第 i 个 坐标轴 xi 的方向搜索时,在 n 个变量中,只有单变量 xi 在变 化,其余 n-1 个变量都取给定点 的坐标值保持不 变.这样依 次从 x1 到 xn 作了 n 次单变量的一维 搜索,完成了变量 轮换法 的一次迭代,如果所得到的新点尚未满足给定精度的要求, 则以新点为出发点进行新一轮的迭代,这个过程可以重复下 去直到所得到的新点满足给定的精度为止.
1in1
fL f (x(L) ) min{ f (x(1) ), f (x(2) ),L , f (x(n1) )}
(8-8)
其中 fH、fG、fL 为 n+1 个顶点中函数的最大值、次大值 和最小值.
8.3.1 基本原理和步骤
(1) 给定初始单纯形,其顶点为
x(i) Rn , i 1, 2,L , n 1, 反射系数 0,扩展系数 1 ,压缩系数 (0, 1) ,允 许误差
t (k 1)
(t (k 1)
t(k) )
(8-5)
置 k = k+1,重复上述计算,
如果
分两种情况讨论:
f (tn(k1) ) f (t (k ) ) ,
(8-6)
(1) 若 t1(k) ≠ x (k), 则 t1(k) 是 由 上 一 次 的 模 式 移 动 得 到 的 , 而 ( 8.2.3)式 表 明 该 模 式 移 动 使 目 标 函 数 值 上 升 ,即 模 式 移 动 失 败 ,应 将
8.1 变量轮换法
在 求 解 无 约 束 非 线 性 规 划 问 题 时 ,如 果 遇 到 问 题 的 目 标 函 数 不 可 导 或导函数的解析式难以表示时,人们一般需要使用直接搜索方法.同 时,由于这些方法一般都比较直观和易于理解,因而在实际应用中常 为 人 们 所 采 用 .变 量 轮 换 法 又 叫 坐 标 轮 换 法 (Cyclic Coordinate Method) 就 是 一 种 最 简 单 的 直 接 搜 索 方 法 , 也 称 为 交 替 方 向 法 (Alternating Directions Method).
再计算 f (x) .
x
1 n
n1 i1
x(i)
x(H )
,
以下各步骤就是要找到一个较好点,用以取代最大点 x(H) ,以构成
新的单纯形.
(3) 确定有利的搜索方向.
可变单 纯形 法认 为,极小点 在最 大值 点与 其余点 的形 心的 连线 上的
可能性较大,此该方法力图在上述方向上找到一个较好点.
t (k 1) tn1 t1 t(k1) (t(k1) t(k ) ), 令 k = k+1,转第 2 步. 4. 若 t1 t (k ) ,则 令 t1 t (k ) ,转 步 骤 2. 5.若 ,则停止计算;否则令 = /2,转步骤 2.
8.3 可变单纯形法
可变单纯形法的基本思想是,给定 Rn 中的一个单纯 形,求出 n+1 个顶点的函数值,并确定这些函数值中的 最大值、次大值和最小值,然后通过反射、扩张、内 缩、缩边等方法(几种方法不一定同时使用)求出一 个 较 好 点 ,用 它 取 代 最 大 值 的 点 ,以 构 成 新 的 单 纯 形 , 通过多次迭代逼近极小点,迭代过程中逐渐地把单纯 形向最优点移动.
0, 计 算 函 数 值 f (x(i) ) , i 1, 2,L , n 1,并 置 k =1.
(2) 按(8-8)确 定 最 大 值 点 x(H) , 次 大 值 点 x(G) 和 最 小 值 点 x(L) ,其
中 H,G, L {1,2, , n 1},计 算 出 相 应 的 fH 、 fG 、 fL ,计 算 除 x(H ) 以外的 n 个顶点的形心 x,令
t1(k) 退回到 x(k) 处,即令 t1(k) = x(k),重复上述计算. (2) 若 t1(k) = x(k),这说明上次的模式移动失败且在 t1(k)周围的探测
移动全部失败.这是由于步长 过大的原因引起的,应减少步长,再重
复上述计算.
8.2.4 算法终止准则:
当步长 充分小,就认为 x(k)在极小点附近了,终止
;否
则
置
t
(1 3
)
=
t
(1 2
).
重
复
以
上
过
程
,
最
后
得
到
t (1) n1
.
8.2.2 模式移动
在探测移动后,若 f (tn(1)1) f (x(1) ) ,则作模式移
动,即令
x(2) tn(1)1,
t(2)
1
x(2)
(x(2)
x(1) )
(8-4)
8.2.3 算法的基本思想
算 法 的 基 本 思 想 是 将 探 测 移 动 和 模 式 移 动 有 机 的 结 合 在 一 起 .设 已
但是变量轮换法 的依次沿各坐标 轴方向寻优的思 想,是多变 量函数寻优的一 种基本思想,在这 种思想的基础上,后又发展出 了 模 式 搜 索 法( 见 本 章 下 一 节 )及 旋 转 方 向 法 等( 有 兴 趣 的 读 者 可参阅相关参考 文献).
8.1.3 计算举例
例 8-1 用变量轮换法求解 min f (x) 3x12 2x22 x32 ,
类似地,以 x(2)为出发点,沿第二个坐标轴方向 e2 进行一 维搜索,求出最优步长 2,得新点 x(3):
f (x(3) )
f (x(2)
2e2
)
min
f (x(2)
e2 )
x(3) x(2) 2e2
(8-2)
就这样依次沿各坐标轴方向进行一维搜索,直到 n 个坐标轴 方向全部搜索一遍,最后可得到点 x(n+1):