使用最少数量的函数评估进行单变量根查找

时间:2016-11-17 21:26:53

标签: python matlab numerical-methods

我正在寻找使用很少功能评估的寻根算法(目标是最小的)。寻根问题具有以下特征:

f(x) = 0, R -> R

  • 功能(f(.))评估成本极高*;
  • 边界区间([a,b])可用于开始(相对较好的近似值,而非疯狂猜测);
  • f(.)是连续的;
  • f(.)是可区分的(分析衍生物不可用);
  • 众所周知,只有一个根位于起始区间([a,b]);
  • 顺利变化f(.)(函数不会出现任何极端情况);
  • 允许停止标准,例如|f(x)| < 1e-2就足够了。

*我们可以安全地假设,与单f(.)的评估相比,算法所做的任何计算都可以忽略不计。因此,即使单个功能评估也可以获得显着的收益。

鉴于哪些是最有效的算法来找到功能评估最少的根?

基于Matlab的fzero和scipy的root-finding functions,布伦特的方法似乎是流行的选择,尽管对于上述特定问题可能存在更有效的算法。

也欢迎参考书籍和评论文章。

0 个答案:

没有答案