gurobipython:如何在MVar上实现元素级乘法?

gurobipython:如何在MVar上实现元素级乘法?,python,gurobi,Python,Gurobi,如何在二次规划的约束中进行元素相乘 我有以下实现 import gurobipy as gp m = gp.model("model") x = m.addMVar(shape=(10), name="x") y = m.addMVar(shape=(5), name="y") A = np.random.rand(5, 10) m.addConstr(A @ x - (y*y) <= A[:,0], name="const") m.setObjective(x.sum() - (y

如何在二次规划的约束中进行元素相乘

我有以下实现

import gurobipy as gp

m = gp.model("model")
x = m.addMVar(shape=(10), name="x")
y = m.addMVar(shape=(5), name="y")
A = np.random.rand(5, 10)

m.addConstr(A @ x - (y*y) <= A[:,0], name="const")

m.setObjective(x.sum() - (y*y).sum()), GRB.MAXIMIZE)

因为你的y是一个标量,你可以做y@y

Traceback (most recent call last):
  File "/home/usr/test.py", line 21, in solve_QP_gurobi
    m.addConstr(A @ x - (y*y) <= A[:,0], name="const")
  File "mvar.pxi", line 76, in gurobipy.MVar.__mul__
  File "mvar.pxi", line 152, in gurobipy.MVar.scalar_mult
TypeError: float() argument must be a string or a number, not 'MVar'