首页 > 解决方案 > Python中的约束优化,有什么区别?

问题描述

我需要在我的参数上使用一些简单的线性界限进行优化。

我可以通过两种方式做到这一点。一,我可以使用 L-BFGS-S 并使用它的简单绑定约束,或者我可以使用 COBYLA 之类的优化器并使用它们更高级的更一般的约束。

在此处输入图像描述 在此处输入图像描述

这里推荐的方法是什么?似乎 L-BFGS-B 更适合我想要的简单边界,而 COBYLA 更高级......但是它可能会更好,因为它更高级?

标签: optimization

解决方案


在考虑 L-BFGS-B 和 COBYLA 之间的差异之前,您应该首先回答的更重要的问题是:您优化了多少变量?你的目标函数很复杂吗?它是凸的还是高度多模态的?目标函数的评估成本高吗?您能否为您的目标函数提供分析梯度?如果您的目标函数是多模态的,您对局部最小值满意还是在寻求全局最优?


推荐阅读