python求解(线性和二次)规划问题

理论

二次规划标准形式:
在这里插入图片描述
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值