Python cvxopt求解器qp如何工作

Python cvxopt求解器qp如何工作,第1张

概述我想使用cvxopt求解器qp并计算拉格朗日乘数,但我想知道它是如何“完全”的.我试图找到更多的信息,但没有太多关于cvxopt的信息.我正在研究这个示例问题,我不确定这些变量的含义以及它们如何提出解决方案. 这个例子是这样的: minimize: 2x_{1}^{2} + x_{2}^{2} + x_{1}x_{2} + x_{1} + x_{2}subject to: x_{1} >= 0 我想使用cvxopt求解器qp并计算拉格朗日乘数,但我想知道它是如何“完全”的.我试图找到更多的信息,但没有太多关于cvxopt的信息.我正在研究这个示例问题,我不确定这些变量的含义以及它们如何提出解决方案.

这个例子是这样的:

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'])
解决方法 你应该看看这个:

Solving QP with CVXopt

为了解决二次规划问题,CVXopt接受一组矩阵,通常称为P,q,A和h.
您必须先将问题转换为CVXopt接受的特定形式(在链接中提到).
目的是找到一个最优解,(在你的例子中,拉格朗日乘数),它是矩阵’x’.

您“存储”解决方案的对象具有许多属性,其中一个属性是矩阵“x”,您可以打印或用于进一步计算.

总结

以上是内存溢出为你收集整理的Python cvxopt求解器qp如何工作全部内容,希望文章能够帮你解决Python cvxopt求解器qp如何工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存