Open source alternative to MATLAB's fmincon function?
是否可以使用MATLAB的 您的问题凸出来了吗?线性的?非线性的?我同意SciPy.optimize可能会完成这项工作,但是fmincon是解决优化问题的一种火箭筒,如果将其限制在以下类别之一(会增加解决难度的水平),您会更好有效率的)
线性程序(LP) 还存在组合性问题,例如混合整数线性程序(MILP),但您没有提及任何类型的完整性约束,只需说它们属于另一类问题即可。 如果您的问题很凸显,CVXOpt软件包将对您很有用。 如果您的问题不是凸出的,则需要在查找局部解决方案或全局解决方案之间进行选择。许多凸求解器在非凸域中"排序"。要找到全局解决方案的良好近似,则需要某种形式的模拟退火或遗传算法。要找到全局解决方案,将需要对所有本地解决方案进行枚举,或者需要采用组合策略,例如Br??anch and Bound。 Python优化软件:
开源Python软件包SciPy具有大量优化例程,其中包括一些用于约束条件的多变量问题的程序(我相信fmincon就是这样做的)。安装SciPy后,在Python命令提示符下键入以下内容 帮助(scipy.optimize) 生成的文档内容广泛,其中包括以下内容,我认为可能对您有用。
GNU Octave是您可能需要的另一个MATLAB克隆。 对于Python中的数值优化,您可以看一下OpenOpt求解器: http://openopt.org/NLP http://openopt.org/问题 看看http://www.aemdesign.com/downloadfsqp.htm。
在那里,您将找到提供与 它是开源的,但不是在GPL下。 有一个名为SciLab的程序,它是MATLAB的克隆。 我根本没有使用过它,但是它是开源的,可能具有您正在寻找的功能。 我不知道它是否在那里,但是有一个名为Enthought的python发行版可能有您想要的东西。它是专门为数据分析而设计的,具有60多个附加库。 |