1

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

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

我(无知)的想法是,在这种情况下,我应该停止模拟并尝试不同的初始点。但是我希望退出标志会从 1 更改为其他值,并且通过一个简单的if exitflag ~= 1 return end循环,该过程将停止。然而,这种情况并非如此。退出标志没有改变,但决策变量向量似乎不是正确的答案。

4

0 回答 0