初步学习最优化方法
最优化方法:单峰函数与搜索区间
一.百度百科单峰函数定义:
单峰函数是在所考虑的区间中只有一个严格局部极大值(峰值)的实值函数。
如果函数 f(x) 在区间 [a, b] 上只有唯一的最大值点C,而在最大值点C的左侧,函数单调增加;在点C的右侧,函数单调减少,则称这个函数为区间 [a, b] 上的单峰函数。反之,这个函数叫做单谷函数。
二.在研究最优化问题中,我们常将最大值问题转换成最小值问题进行研究,即研究标准的优化问题。所以在此单峰函数将转换为最小值(局部极小值)实值函数问题,也就是说优化问题中涉及的单峰函数其实往往就是我们以前接触过的单谷函数。
优化问题中单峰函数定义:
设一元函数 f(x) 定义在区间 [a,b] 上,若:
(1)满足 f(x*)=minx∈[a,b]f(x) 的 x*∈[a,b] 存在;
(2)对任意 a≤x1<x2≤b ,当 x2≤x* 时, f(x1)>f(x2) ,当 x*≤x1 时,f(x1)<f(x2),
则称 f(x) 为区间 [a,b] 上的单峰函数。
显然,在区间上的严格凸函数是单峰函数,但是单峰函数未必是严格凸函数。
三.搜索区间:
设一元函数 f(x) 定义在 R1 上,x* 是 f(x) 在 R1 上的最优解,
如果存在 x1,x2∈R1,使得 x1 ≤ x* ≤ x2,
则称区间 [x1,x2] 为函数 f(x) 的最优解 x* 的一个搜索区间。
通过上面单峰函数的定义不难知道,对于任意三点 x1,x2,x3,如果满足 x1<x2<x3,且 f(x1)>f(x2),f(x2)<f(x3) ,则区间 [x1,x3] 必包含 f(x) 的最小值点。也就是说,如果一个区间对函数 f(x) 来说满足两头高,中间低,则其必为 f(x) 的搜索区间。
那我们怎么缩小搜索区间,使我们可以确定最优解的范围更小更精确呢?试看下面的定理。
四.定理:设[a,b]为单峰函数f(x)的最优解的一个搜索区间,a<x1<x2<b,则:
(1)当 f(x1)<f(x2) 时,[a,x2] 为 f(x) 的最优解的一个搜素区间;
(2)当 f(x1)>f(x2) 时,[x1,b] 为 f(x) 的最优解的一个搜素区间;
(3)当 f(x1)=f(x2) 时,[x1,x2] 为 f(x) 的最优解的一个搜素区间。
证明:
(1)当 f(x1)<f(x2) 时,若 x*∉[a,x2] ,则由 [a,b] 为搜索区间知必有 x2<x*≤b ,由单峰函数定义知,f(x1)>f(x2) ,与 f(x1)<f(x2) 矛盾。所以必有 x*∈[a,x2] ,即 [a,x2] 为 f(x) 的最优解的一个搜索区间。
(2)当 f(x1)>f(x2) 时,若 x*∉[x1,b] ,则由 [a,b] 为搜索区间知必有 a<x*≤x1 ,由单峰函数定义知,f(x1)<f(x2) ,与 f(x1)>f(x2) 矛盾。所以必有 x*∈[x1,b] ,即 [x1,b] 为 f(x) 的最优解的一个搜索区间。
(3)当 f(x1)=f(x2) 时,若 x*∉[x1,x2] ,则由 [a,b] 为搜索区间知必有 a≤x*<x1 ,或者 x2<x*≤b 。当 a≤x*<x1 时,由单峰函数定义知,f(x1)>f(x2) ,与 f(x1)=f(x2) 矛盾。当 x2<x*≤b 时,由单峰函数定义知,f(x1)>f(x2),与 f(x1)=f(x2) 矛盾。所以必有 x*∈[x1,x2] ,即 [x1,x2]为 f(x) 的最优解的一个搜索区间。