从用户的'guess'顶点初始化用于Nelder-Mead单纯形搜索的单纯形的最佳方法是什么?
答案 0 :(得分:7)
我不确定是否有最佳方式在Nelder-Mead方法中选择初始单纯形,但以下是通常的做法。
初始单纯形S
的构造是通过在n+1
中称为用户的“猜测”顶点x0,..,xn
周围生成xin
个顶点N
获得的维度空间。最常见的选择是
x0=xin
然后生成剩余的n
个顶点,以便
xj=x0+hj*ej
其中ej
是j
中R^n
坐标轴的单位向量,而hj
是ej
方向的步长。
hj = 0.05 if (x0)j is non-zero
hj = 0.00025 if (x0)j=0
用(x0)j表示x0的第j个分量。请注意,这是Matlab的 fminsearch 例程中的选择,该例程基于Nelder-Mead方案。
您可以在
中找到更多信息答案 1 :(得分:2)
我认为没有一般规则可以最好地确定Nelder-Mead优化的初始单纯形,因为这至少需要对响应面的模糊知识。
然而,以这样的方式设置点是合理的策略,即单纯形覆盖几乎整个可能的范围。 Nelder-Mead的算法会自动缩小 单形和近似最佳。这项政策的实际优势在于您 将获得更好的响应函数的整体知识。
我们已经使用HillStormer("http://www.berkutec.com")进行了一些测试。该程序允许在testfunctons上测试这些策略,我们发现这个问题很有效。
请记住,第一次单面操作是一种反思。如果起始单形覆盖整个允许的范围,则反射必然会给出一个关闭点。但是HillStormer允许使用线性约束并且可以避免这个问题。
您可以在HillStormer的系统帮助中找到更多信息。
B中。 KUHNE