是否有 MATLAB 的开源替代方案 fmincon
用于约束线性优化的函数?我正在重写一个 MATLAB 程序以使用 Python/ NumPy / SciPy ,这是我唯一没有找到等效的函数。基于 NumPy 的解决方案是理想的,但任何语言都可以。
原文由 dF. 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python优化软件:
OpenOpt http://openopt.org (这个是你想要的基于numpy的,由FuncDesigner自动区分)
Pyomo https://software.sandia.gov/trac/coopr/wiki/Package/pyomo
原文由 Alex 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答893 阅读✓ 已解决
你的问题是凸的吗?线性?非线性?我同意 SciPy.optimize 可能会完成这项工作,但 fmincon 是一种解决优化问题的火箭筒,如果你能将它限制在以下类别之一(增加解决难度),你会更好有效率的)
还有组合问题,例如混合整数线性程序(MILP),但您没有提到任何类型的完整性约束,足以说它们属于不同类别的问题。
如果您的问题是凸的,CVXOpt 包将对您很有用。
如果您的问题不是凸的,则需要在寻找局部解决方案或全局解决方案之间做出选择。许多凸求解器“有点”在非凸域中工作。找到全局解决方案的良好近似值需要某种形式的模拟退火或遗传算法。找到全局解决方案将需要枚举所有本地解决方案或组合策略,例如 Branch and Bound。