微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Solver Gurobi 求解 qp 时如何使用矩阵

如何解决使用 Solver Gurobi 求解 qp 时如何使用矩阵

我发现了一些 Guroby 与 qpsolver 的例子 它看起来像这样

import gurobipy as gp
from gurobipy import GRB

# Create a new model
m = gp.Model("qp")

# Create variables
x = m.addVar(ub=1.0,name="x")
y = m.addVar(ub=1.0,name="y")
z = m.addVar(ub=1.0,name="z")

# Set objective: x^2 + x*y + y^2 + y*z + z^2 + 2 x
obj = x**2 + x*y + y**2 + y*z + z**2 + 2*x
m.setobjective(obj)

# Add constraint: x + 2 y + 3 z <= 4
m.addConstr(x + 2 * y + 3 * z >= 4,"c0")

# Add constraint: x + y >= 1
m.addConstr(x + y >= 1,"c1")

m.optimize()

for v in m.getvars():
    print('%s %g' % (v.varName,v.x))

print('Obj: %g' % obj.getValue())

x.vType = GRB.INTEGER
y.vType = GRB.INTEGER
z.vType = GRB.INTEGER

m.optimize()

for v in m.getvars():
    print('%s %g' % (v.varName,v.x))

print('Obj: %g' % obj.getValue())

但我想使用我自己的矩阵来比较求解器(例如)cvxopt 和 osqp 的效率。所以我必须使用我已经拥有的相同矩阵。有没有办法直接使用我的矩阵,而不是方程或函数形式?只有等式形式的例子。而且我必须使用具有 10,10 和 5000,5000 的矩阵,所以不可能用这些矩阵制作方程。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。