二次规划模型Python代码

时间:2022-07-13 22:18:16 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
工具包:Cvxopt python 凸优化包

函数原型:Cvxopt.solvers.qp(P,q,G,h,A,b)

P,q,G,h,A,b的含义参见上面的二次规划问题标准形式。 编程求解思路:

1.对于一个给定的二次规划问题,先转换为标准形式(参见数学基础中所讲的二次型二中形式转换) 2.对照标准形势,构建出矩阵P,q,G,h,A,b 3.调用result=Cvxopt.solvers.qp(P,q,G,h,A,b)求解

4.printresult)查看结果,其中result是一个字典,我们可直接获得其某个属性,e.g. print(result['x']) 下面我们来看一个例子 代码 import pprint

from cvxopt import matrix, solvers P = matrix([[4.0,1.0],[1.0,2.0]]) q = 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])

result = solvers.qp(P,q,G,h,A,b) print('x\n',result['x'])

1


本文来源:https://www.wddqw.com/doc/fa3c95c712a6f524ccbff121dd36a32d7275c7e7.html