Как выполнить поэлементное умножение в ограничении для программы c с квадратами?
У меня есть следующая реализация
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)
не работает как он делает в numpy для поэлементного умножения и выдает следующую ошибку:
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'