赞
踩
二次规划标准形式:
python对应解决问题的代码:
from cvxopt import matrix
import cvxopt.solvers as sol
result = sol.qp(P, Q, G, h, A, b)
1、线性
问题:(此问题中没有p,q)
代码:
from cvxopt import matrix, solvers
A = matrix([ [-1.0, -1.0, 0.0, 1.0], [1.0, -1.0, -1.0, -2.0] ])
b = matrix([ 1.0, -2.0, 0.0, 4.0 ])
c = matrix([ 2.0, 1.0 ])
sol=solvers.lp(c,A,b)
2、二次
from cvxopt import matrix, solvers
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))#原型为cvxopt.matrix(array,dims),等价于A = matrix([[1.0],[1.0]])
b = matrix(1.0)
sol=solvers.qp(Q, p, G, h, A, b)
参考:
https://cvxopt.org/examples/tutorial/qp.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。