建议用什么方法来解决,取决于x^TP x \leq c和/或x^TQ x = d?
具有二次约束的线性回归
计算科学
回归
约束
2021-12-18 02:44:23
2个回答
在仅不等式约束和半定的情况下,您的问题是凸的,并且可能有更好的替代方案(Victor Liu 的回答中提到的 CVX,或 arXiv:1009.2065 的方法(最后引用了一个 an执行)。
如果,您可以使用标准的非线性编程软件(参见,例如http://neos-server.org/neos/);如果是等式约束或具有不定的不等式约束,您不太可能使用其他代码做得更好。
否则,如果或,您需要为目标的上限引入一个额外的变量z ,并根据您的约束和一组等效于\|Ax-b\|的线性约束最小化z _k\le z,并再次使用标准的非线性编程软件。或者,您可以使用非平滑优化代码;不知道在那里推荐什么,但代码列表位于 http://www.mat.univie.ac.at/~neum/glopt/software_l.html#nonsm
没有等式约束,问题是凸的,任何标准的内点凸优化包都可以有效地解决这个问题,例如高级建模软件CVX。
有了等式约束,问题就不再是凸的。但是,您可以通过重复解决一堆凸问题来近似解决方案。一种简单的方法是将椭球近似为多面体,并在多面体的所有面上求解优化问题,然后在所有面中取最佳解。