当Hessian不对称时如何停止quadprog?

时间:2017-07-27 10:04:10

标签: matlab quadprog

我正在尝试使用MATLAB的函数quadprog解决二次优化问题。实际上,我试图利用for循环来解决许多(非一个)二次优化问题,其中每个qp取决于先前qp结果的结果。问题是,有时取决于初始点,警告:"你的Hessian不对称。重置H =(H + H')/ 2。"出现。

问题1& 2:这是否意味着解算器没有产生(正确的)解决方案?或者情况是,当使用新的粗麻布时,得到的决策向量可以被认为是正确的,最小化目标函数的那个​​?

我(无知)的想法是,在这种情况下,我应该停止模拟并尝试不同的初始点。但我预计退出标志会从1更改为其他值,并且使用简单的如果exitflag~ = 1返回结束循环,则进程将停止。然而,这种情况并非如此。退出标志不会改变,但决策变量向量似乎不是正确的答案。

0 个答案:

没有答案