我正在寻找使用很少功能评估的寻根算法(目标是最小的)。寻根问题具有以下特征:
f(x) = 0, R -> R
f(.)
)评估成本极高*; [a,b]
)可用于开始(相对较好的近似值,而非疯狂猜测); f(.)
是连续的; f(.)
是可区分的(分析衍生物不可用); [a,b]
); f(.)
(函数不会出现任何极端情况); |f(x)| < 1e-2
就足够了。 *我们可以安全地假设,与单f(.)
的评估相比,算法所做的任何计算都可以忽略不计。因此,即使单个功能评估也可以获得显着的收益。
鉴于哪些是最有效的算法来找到功能评估最少的根?
基于Matlab的fzero
和scipy的root-finding functions
,布伦特的方法似乎是流行的选择,尽管对于上述特定问题可能存在更有效的算法。
也欢迎参考书籍和评论文章。