2

没有足够的文档,我的数学知识有限。

该模型

sol = solvers.qp(P=P, q=q,G=G,h=h, A=L, b=t)

    pcost       dcost       gap    pres   dres
0:  6.3316e+08  6.3316e+08  7e+00  3e+00  7e-10
1:  6.3316e+08  6.3316e+08  2e+00  1e+00  3e-10
2:  6.3316e+08  6.3316e+08  2e+00  1e+00  3e-10
3:  1.3393e+10 -3.5020e+09  2e+10  9e-01  2e-10
4:  7.6898e+08 -1.7925e+10  4e+10  8e-01  2e-10
5:  2.1728e+09 -3.8363e+09  6e+09  6e-16  2e-14
6:  2.1234e+09  2.0310e+09  9e+07  2e-16  3e-16
7:  2.0908e+09  2.0899e+09  1e+06  1e-18  2e-16
8:  2.0905e+09  2.0905e+09  1e+04  7e-21  9e-17
9:  2.0905e+09  2.0905e+09  1e+02  2e-16  3e-16
Optimal solution found.

结果

{'dual infeasibility': 2.538901219845834e-16,
 'dual objective': 2090476416.743256,
 'dual slack': 59.256743485146764,
 'gap': 95.35084344459145,
 'iterations': 9,
 'primal infeasibility': 2.220446049250331e-16,
 'primal objective': 2090476512.0941,
 'primal slack': 1.0136346108956689e-08,
 'relative gap': 4.561201584523881e-08,
 's': <2x1 matrix, tc='d'>,
 'status': 'optimal',
 'x': <2x1 matrix, tc='d'>,
 'y': <1x1 matrix, tc='d'>,
 'z': <2x1 matrix, tc='d'>}

我如何解释 s,x,z 哪一个是我的变量的结果?

如果我打印 s 和 x,我总是得到一个接近 1 和另一个接近 0 的值,这似乎是无限错误的。

>>> np.array(sol['x'])
>>> array([[  9.99999990e-01],[  1.01363461e-08]])
4

1 回答 1

1

我认为斯坦福的这篇短文可能对你有所帮助。突出显示有关结果的引用部分:

关于解的许多属性可以从 sol 变量 >(字典)中提取。特别是,“状态”、“x”和“主要目标”可能是最重要的。如果状态是最优的,那么后两者给出最优解和>它的目标值。您可以像使用常规 Python 字典一样访问这些字段:

此外,本文档提供了深入的解释。欲了解结果,请转至第 69 页

于 2019-02-06T08:19:43.193 回答