在Gurobi Python Sh中访问目标Q矩阵

2024-06-26 13:48:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个优化问题(有二次约束和二次目标函数)中重新制定一个目标Q矩阵,我用Gurobi和Python来解决这个问题。Gurobi可以选择添加约束和目标函数作为线性表达式,而不是摆弄矩阵,所以我没有原始矩阵,Gurobi通过我的目标方程和系数为我创建它。在

为了分析目标Q矩阵的凸psd性质,需要有Q(目标矩阵)和A(约束矩阵)。有没有人知道古罗比.py允许我访问/查看目标Q矩阵的shell?在

提前感谢您,如有必要,请随时澄清!在


Tags: 函数py目标表达式线性矩阵shell方程
1条回答
网友
1楼 · 发布于 2024-06-26 13:48:10

Gurobi优化器没有从Model对象检索矩阵的简单函数。但是,您可以通过LinExprQuadExpr对象迭代地获取该数据。下面是一个简单的程序,它迭代线性约束矩阵(a)并打印系数:

from gurobipy import *

m = read('afiro.mps')

for ct in m.getConstrs():
    row = m.getRow(ct)
    for i in range(row.size()):
        print("%s %s %f" % (ct.ConstrName, row.getVar(i).VarName, row.getCoeff(i)))

将其调整为二次目标或二次约束的QuadExpr。在

相关问题 更多 >