如何最好地初始化一个单纯形以供用户“猜测”的顶点在Nelder-Mead单纯形搜索中使用?
如何最好地初始化一个单纯形以供用户“猜测”的顶点在Nelder-Mead单纯形搜索中使用?
我不确定在Nelder-Mead方法中选择初始单纯形的最佳方式,但以下是常见实践。
构建初始单纯形S
的方法是在N
维空间中围绕用户的“猜测”顶点xin
生成n+1
个顶点x0,..,xn
。最常见的选择是:
x0=xin
剩余的n
个顶点是这样生成的:
and the remaining n
vertices are then generated so that
xj=x0+hj*ej
其中ej
是R^n
中第j
个坐标轴的单位向量,hj
是朝着ej
方向的步长。
hj = 0.05 if (x0)j is non-zero
hj = 0.00025 if (x0)j=0
在(x0)的j-th元素中,j代表x0的第j个分量。需要注意这是Matlab中fminsearch例程的选择,该例程基于Nelder-Mead方案。