2
我想使用cvxopt求解器qp並計算拉格朗日乘數,但我想知道它是如何「完全」工作的。我試圖找到更多的信息,但沒有太多有關cvxopt的信息。我在看這個例子問題,我不確定這些變量是什麼意思,以及他們如何提出解決方案。python cvxopt求解器qp基本上可以工作
的例子是這樣的:
minimize: 2x_{1}^{2} + x_{2}^{2} + x_{1}x_{2} + x_{1} + x_{2}
subject to: x_{1} >= 0
x_{2} >= 0
x_{1} + x_{2} = 1
可以通過使用
Q = 2*matrix([ [2, .5], [.5, 1] ])
p = matrix([1.0, 1.0])
G = matrix([[-1.0,0.0],[0.0,-1.0]])
h = matrix([0.0,0.0])
A = matrix([1.0, 1.0], (1,2))
b = matrix(1.0)
sol=solvers.qp(Q, p, G, h, A, b)
print(sol['x'])