第5章 一维搜索

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

第5章 一维搜索

§5.1 最优化算法的简单介绍

1.算法概念

在解非线性规划时,所用的计算方法,最常见的是迭代下降算法. 迭代:从一点)

(k x 出发,按照某种规则A 求出后继点)

1(+k x

.用1+k 代替k ,重复以上

过程,产生点列}{)

(k x

规则A 是在某个空间X 中点到点的映射,即对每一个X x

k ∈)

(,有点

X x

A x

k k ∈=+)()

()

1(.

更一般地,把A 定义为点到集的映射,即对每个点X x k ∈)

(,经A 作用,产生一个点

集X x

A k ⊂)()

(.任意选取一个点)()

()

1(k k x

A x

∈+,作为)

(k x

的后继点.

定义1: 算法A 是定义在空间X 上的点到集映射,即对每一个点X x ∈,给定-个子集

X x A ⊂)(.

例1 考虑线性规划:

1

s.t. min 2

≥x x

最优解1=x .设计一个算法A 求出这个最优解.

⎪⎪⎩⎪⎪⎨⎧<⎥⎦⎤⎢⎣

⎡+≥⎥⎦⎤

⎢⎣⎡+=1 ,1 ),1(211 ,)1(21 ,1x x x x A 从一点出发,经A 作用得到一个闭区间.从此区间中任取一点作为后继点,得到一个点列.在一定条件下,该点列收敛于问题的解.利用算法A 可以产生不同的点列,如以3=x 为起点可产生点列:

{} ,5/4 ,3/2 ,2 ,3

其聚点是问题的最优解.

在许多情况下,要使算法产生的点列收敛于全局最优解是比较困难的.因此,一般把满足某些条件的点集定义为解集合.当迭代点属于这个集合时,就停止迭代.

无约束最优化问题可以定义解集合为

}0)(|{=∇=Ωx f x

约束最优化问题可以定义解集合为

}T -K 为|{点x x =Ω

2. 算法收敛问题

设Ω为解集合,X X A →:是一个算法,集合X Y ⊂.若以任一初点Y x

∈)

1(开始,

算法产生的序列其任一收敛子序列的极限属于Ω,则称算法映射A 在Y 上收敛.

收敛速率: 定义2: 设序列}{)

(k γ

收敛于*

γ,定义满足

∞<=--≤+∞

→βγ

γ

γ

γp

k k k *

)

(*)

1(lim

的非负数p 的上确界为序列}{)

(k γ

的收敛级.

若序列的收敛级为p ,就称序列是p 级收敛的.

若1=p 且1<β,则称序列是以收敛比β 线性收敛的. 若1>p 或者1=p 且0=β,则称序列是超线性收敛的. 例2 序列{}10 ,<

.

0→k

a 1lim

1<=+∞

→a a

a

k

k k

序列{}k

a

以收敛比a 线性收敛于零.

例3 序列{}10 ,2

<<

a a

k

02

→k

a

[]

1lim

2

2

2

1

=+∞

→k

k a a

k

序列{}k

a 2

是2 级收敛的.

注1:收敛级取决于当∞→k 时该序列所具有的性质,它反映了序列收敛的快慢. 收敛级p 越大,序列收敛得越快.

当收敛级p 相同时,收敛比β越小,序列收敛得越快。

§5.2 一维搜索基本概念

5.2.1 基本概念

在许多迭代下降算法中,得到点)

(k x 后,需要按某种规则确定一个方向)

(k d

,再从)

(k x

出发,沿方向)

(k d

在直线(或射线)L 上求目标函数的极小点,从而得后继点)

1(+k x .

求目标函数在直线上的极小点,称为一维搜索,或称为线搜索.一维搜索可归结为单变量函数的极小化问题.

求目标函数)(x f 在直线L 上极小点转化为求一元函数

)()()

()

(k k d

x

f λλφ+=

的极小点.

一维搜索大体可分成两类:

试探法: 按某种方式找试探点.通过一系列试探点来确定极小点.

函数逼近法,或插值法:用某种较简单的曲线逼近本来的函数曲线,通过求逼近函数的极小点来估计目标函数的极小点.

这两类方法一般只能求得极小点的近似值,称为非精确一维搜索.

5.2.2 搜索区间及其确定方法

一维搜索需要事先给定一个包含极小点的区间,此区间称为搜索区间。 搜索区间确定方法:进退法.

进退法是一种试探法:从一点出发,按一定的步长,试图确定出函数值呈现“高-低-高”的三点。一个方向不成功,就退回来.再沿相反方向寻找.

进退法的计算步骤: (l)给定初点1)

0(R x

∈,初始步长00>h .置0h h =,)

0()

1(x

x

=,计算)()

1(x

f ,并置

0=k .

(2)令h x

x

+=)

1()

4(,计算)()

4(x

f ,置1:+=k k .

(3)若)()()

1()

4(x

f x f <,则转步骤(4);否则,转步骤(5). (4)令)

1()

2(x x

=, )

4()

1(x

x

=, )()()

1()

2(x

f x

f =, )()()

4()

1(x

f x

f =,置02:h h =,转

步骤(2).

相关文档
最新文档