optimization - Python中的约束优化,有什么区别?
问题描述
我需要在我的参数上使用一些简单的线性界限进行优化。
我可以通过两种方式做到这一点。一,我可以使用 L-BFGS-S 并使用它的简单绑定约束,或者我可以使用 COBYLA 之类的优化器并使用它们更高级的更一般的约束。
这里推荐的方法是什么?似乎 L-BFGS-B 更适合我想要的简单边界,而 COBYLA 更高级......但是它可能会更好,因为它更高级?
解决方案
在考虑 L-BFGS-B 和 COBYLA 之间的差异之前,您应该首先回答的更重要的问题是:您优化了多少变量?你的目标函数很复杂吗?它是凸的还是高度多模态的?目标函数的评估成本高吗?您能否为您的目标函数提供分析梯度?如果您的目标函数是多模态的,您对局部最小值满意还是在寻求全局最优?
推荐阅读
- sapui5 - 如何阻止 Edge 自动下载源映射的 UI5 库文件(*-dbg.js)?
- javascript - 异步 emit.events (Socket.io) 的问题
- enterprise-architect - 如何在 DDL 脚本中使用 TaggedValues?
- inheritance - 如何在 Flutter 中重用非 Widget 类?
- installation - 安装 .Net Core SDK 2.2 进行开发的最佳方式是什么
- google-chrome-extension - 如何修复:尝试在 chrome 扩展的选项部分中为 local.storage 捕获数据并在其他地方使用?
- codeigniter - 使用 CI 实例的 CI 加载库函数
- java - 每当我使用改造从网络访问数据时,它都可以正常工作,但第二次使用改造无法通过网络找到数据
- google-oauth - 如何避免 Android 上的 Google OAuth 同意屏幕
- sql-server - SQLSERVER 用于备份数据并将值更改为随机数据的脚本