求解二次规划

时间:2010-11-26 02:49:53

标签: math

我想知道用计算机解决二次规划的方法(不是手工)。我能阅读的任何数学资料?谢谢!

4 个答案:

答案 0 :(得分:1)

您想使用黑盒软件包。实现强大的QP求解器是非常困难的。

你没有提到你正在使用的语言,但如果它是C ++,QuadProg ++重量轻且免费。

答案 1 :(得分:1)

可以使用某种内点法。 通常QP问题非常特殊,并且可以使用较少的通用方法,例如在SVM中出现的用于QP的Platt算法。

答案 2 :(得分:1)

如果代码很短并且使用了SVD和LU,那么对于只有相等约束或根本没有约束的问题,它可能是一个简单的求解器。具有不等式约束的QP可以使用诸如quadprog(matlab),quadprog ++(c ++),mosek(matlab和c ++)之类的工具来解决。 c ++库可以用.net语言编写。

答案 3 :(得分:0)

答案很大程度上取决于问题的大小和二次函数的凸性。如果您的问题是凸出的并且您喜欢使用python,则可以使用cvxmod作为free。对于数学材料,还有凸优化书freely available。对于非凸问题,来自硬币或项目的软件包IPopt将用于查找本地最优解决方案。