最优化学习笔记(二十)——全局搜索算法

一、引言

    前边的博文我们讨论过一些迭代算法,包括梯度方法、牛顿法、共轭梯度法和拟牛顿法,能够从初始点出发,产生一个迭代序列,但是往往这些迭代序列只能收敛到局部极小点,而且这些迭代方法需要计算目标函数的一阶导数(牛顿法还需计算二阶导数)。从本节开始,讨论一些全局搜索算法,这些方法只需要计算目标函数值,而不需要对目标函数求导。

二、Nelder-Mead 单纯形法(一)

    Nelder-Mead 单纯形法引入了单纯形的概念,不需要计算目标函数的梯度。所谓单纯形,指的是由 n 维空间中的n+1个点 p0,p1,,pn 构成的几何形状,且满足:

det[p01p11pn1]0

这一条件的含义为 R 中的两个点不重合, R2 中的三个点不共线, R3 中的四个点不共面, 以此类推。这说明,单纯形包围的 n 维空间具有有限的体积。
    针对函数 f(x) , xRn 的最小化问题, 首先选择 n+1 个点, 使其构成一个初始的单纯形。构造单纯形的一种方式为:选定初始点 x(0)=p0 ,按照下式产生其他点:
pi=p0+λiei,i=1,2,,n

其中, ei,i=1,2,,n 表示一组单位向量, 是空间 Rn 的标准基,系数 λi 为正数, 可以按照优化问题的规模确定其大小。 按照这种方式产生的 n+1 个点,正好能构成一个单纯形。初始单纯形确定之后,接下来就一步步对其进行修改,使得产生的单纯形能够朝着函数的极小点进行收敛。在每次迭代中,都针对单纯形的每个点计算目标函数值。对于函数 f 最小化的优化问题而言,目标函数最大的点将被另外的点代替,持续开展这一迭代过程,直到单纯形收敛到目标函数极小点。
    下节将给出单纯形的更新规则。

你可能感兴趣的:(最优化)