python解决线性规划求最优解,python线性规划模型求解
主要介绍了Python二次规划和线性规划的应用实例,并通过样本代码进行了非常详细的介绍,对大家的学习和工作有一定的参考价值,有需要的朋友可以参考一下。
关于二次规划和线性规划问题
在MATLAB中,quadprog函数直接用于求解二次规划问题,linprog函数用于求解线性规划问题。Python也有很多库,包括CVXOPT、CVXPY、Gurobi、MOSEK、qpOASES和quadprog对于二次规划;线性规划包括Gurobi、PuLP和cvxopt。
如果发现当前四足程序的pip安装四足不成功,但是cvxopt成功,那么先说cvxopt。
固定
conda install-cc onda-forcecvxopt
安装非常顺利。
使用
Cvxopt有自己的矩阵格式,所以使用前必须包装。
对于辅助计划:
defcvxopt_solve_qp(p,q,G=None,h=None,A=None,b=None)):
p=.5*(pp.t ) #确保P是对称的
args=[cvxopt.matrix(q(p),cvxopt.matrix ) q]
如果G不是None:
args.extend([cvxopt.matrix(h(g),cvxopt.matrix ) h ) ]
如果A不为None:
args.extend([cvxopt.matrix(b(a),cvxopt.matrix ) b ) ]
sol=cvxopt。Solvers.qp(*Args)).
如果“最佳”不在sol [“状态”]:
不返回
returnNP。Array(sol(x))(。重塑))(。形状) )、)
对于线性规划:
EFcvxopt_solve_LP(f,a,b):
#args=[cvxopt.matrix(f)、cvx opt.matrix (a)、cvx opt.matrix (b ) ] ]
#cvxopt。Solvers.LP(*Args).
sol=cvx opt . solvers . LP(cvx opt . matrix(f)、cvx opt.matrix (a)、cvx opt.matrix (b))
returnNP。Array(sol(x))(。重塑))(。形状),)
参考:
以上是本文的全部内容,希望对大家的学习有所帮助。另外,请支持。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。