【cvxopt】最优化库(持续更新中)



2019年09月21日    Author:Guofei

文章归类: 0x56_最优化    文章编号: 7310

版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2019/09/21/cvxopt.html


matrix

from cvxopt import matrix, solvers
cvxopt.matrix([[1.0,2.0]]) # 用list的话,生成的是2*1的矩阵,与一般的理解相反
cvxopt.matrix(np.array([[2,1]])) # 用array就正常

lp:线性规划

\[\begin{array}{ll} \min & c^Tx\\ s.t.& Gx\leq h\\ & Ax=b \end{array}\]
solvers.lp(c, G, h, A, b)

qp:二次规划

参考

代码:

sv=cvxopt.solvers.qp(P,q,G,h,A,b)
sv['x'] # 就是最优解

标准形式:

\[\begin{array}{ll} \min & (1/2)x^T Px+q^Tx\\ s.t.& Gx\leq h\\ & Ax=b \end{array}\]

未完待续

cvxopt这个包做优化似乎很强大,可以与scipy形成互补。
所以有空把官方文档过一遍,做成笔记。


您的支持将鼓励我继续创作!