有没有一个开源的替代MATLAB的fmincon函数来解决有约束的线性优化问题?我正在重写一个MATLAB程序,以使用Python / NumPy / SciPy,这是我还没有找到与之等效的唯一函数。基于NumPy的解决方案将是理想的,但任何语言都可以。
发布于 2008-10-13 05:51:51
你的问题是凸的吗?线性?非线性?我同意SciPy.optimize可能会做这项工作,但fmincon是一种解决优化问题的火箭筒,如果你能将它限制在以下类别中的一种(增加难度以有效地解决),你会过得更好。
凸二次规划(QP)凸二次约束二次规划(QCQP)凸二阶锥程序(SOCP)
>F215>
还有一些组合问题,如混合整数线性规划(MILP),但您没有提到任何类型的完整性约束,足以说它们属于不同的问题类别。
如果您的问题是凸的,CVXOpt包将对您非常有用。
如果你的问题不是凸的,你需要在寻找局部解或全局解之间做出选择。许多凸求解器“某种程度上”在非凸域中工作。要找到全局解的良好近似值,需要某种形式的模拟退火或遗传算法。找到全局解将需要所有局部解的枚举或组合策略,如分支和界限。
发布于 2009-12-07 02:51:50
Python优化软件:
发布于 2008-09-16 09:45:06
开放源码的Python包SciPy有相当多的优化例程,包括一些针对带约束的多变量问题的优化例程(我相信fmincon就是这样的)。安装SciPy后,在Python命令提示符下键入以下内容
帮助(scipy.optimize)
由此产生的文档是广泛的,并包括以下内容,我相信这些内容可能对您有所帮助。
Constrained Optimizers (multivariate)
fmin_l_bfgs_b -- Zhu, Byrd, and Nocedal's L-BFGS-B constrained optimizer
(if you use this please quote their papers -- see help)
fmin_tnc -- Truncated Newton Code originally written by Stephen Nash and
adapted to C by Jean-Sebastien Roy.
fmin_cobyla -- Constrained Optimization BY Linear Approximationhttps://stackoverflow.com/questions/49926
复制相似问题