CPLEX 声称已解决 QP 最小化,但解决方案不是最优的

计算科学 凸优化 非线性规划 二次规划
2021-12-18 20:15:49

我正在尝试解决 CPLEX 中的一个小 QP 问题。这个问题有几个线性约束。优化器运行并找到满足这些约束的解决方案,并且 CPLEX 返回成功代码。

但是,如果我只提供一个 1 的向量(这是我试图改进的初始状态),则该解决方案给出的目标函数的值大于该解决方案的值。

因此,CPLEX 无法恢复到初始解,即使它比给定解更好。这怎么可能 ?我已经使用 Excel 求解器在 Excel 中对此进行了测试,它做了类似的事情,所以 CPLEX 不是问题。

我一直认为 QP 问题有一个独特的解决方案。我相信 QP 问题有一个半正定矩阵。事实上,我知道这一点。

我做错了什么?这是mps文件:

www.filedropper.com/quadraticfail

1个回答

如果求解器使用内点法,那么他们可能会完全忽略您的初始解。

您也可以尝试 MOSEK,它对学术或试用免费。

如果你能提供 mps 文件,我可以试试。

更新:

运行 MOSEK 我得到了这些结果

https://gist.github.com/andreacassioli/11425618

但是mps文件中有一些错误,所以我将它发布在github中。