首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在scipy.optimize.basinhopping中禁用局部最小化过程?

如何在scipy.optimize.basinhopping中禁用局部最小化过程?
EN

Stack Overflow用户
提问于 2015-01-09 13:56:41
回答 1查看 1.2K关注 0票数 3

我使用scipy.optimize.basinhopping求标量函数的极小值。我想知道是否有可能禁用scipy.optimize.basinhopping的局部最小化部分?从下面的输出信息中我们可以看到,minimization_failuresnit几乎是一样的,这表明局部最小化部分对于跳篮的全局优化过程可能是无用的

EN

回答 1

Stack Overflow用户

发布于 2015-01-09 14:03:56

您可以使用minimizer_kwargsminimize()指定比本地最小化步骤更喜欢的选项。请参阅文档的专用部分。

然后,取决于您向minimize请求的是哪种类型的求解器。您可以尝试设置一个更大的tol,以使本地最小化步骤提前终止。

编辑,在回复评论“如果我想完全禁用局部最小化部分怎么办?”

来自docs的基本跳频算法的工作原理如下:

该算法是迭代的,每个循环由以下特征组成

  • 坐标的随机扰动
  • 局部最小化接受或
  • 根据最小化的函数值拒绝新的坐标

如果上述方法是准确的,则无法完全跳过局部极小化步骤,因为算法需要将其输出进一步进行,即保留或丢弃新的坐标。然而,我不是这个算法的专家。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27862152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档