Invalid argument to QuadExpr multiplication
Answered

I get the error at objective function. The cosole output is:
File ~\Desktop\Optimization code.py:51 in TSP
md.setObjective(quicksum(ux[j]*w[0]*z[j]*( tf[0]+tv[0]) for j in range(m)) + quicksum(uy[j]*w[1]*z[j]*(tv[1]+tf[1]) for j in range(m)) +
File src\gurobipy\gurobi.pxi:3631 in gurobipy.quicksum
File ~\Desktop\Optimization code.py:51 in <genexpr>
md.setObjective(quicksum(ux[j]*w[0]*z[j]*( tf[0]+tv[0]) for j in range(m)) + quicksum(uy[j]*w[1]*z[j]*(tv[1]+tf[1]) for j in range(m)) +
File src\gurobipy\quadexpr.pxi:523 in gurobipy.QuadExpr.__mul__
File src\gurobipy\quadexpr.pxi:245 in gurobipy.QuadExpr._mul
GurobiError: Invalid argument to QuadExpr multiplication
Can you help me with the problem?
-
Hi Fatih,
Although Gurobi does not directly support constraints containing more general multilinear terms, they can be modeled using a series of bilinear constraints. In your case, you must extend your model by auxiliary variables, to express your objective function using bilinear terms only. Please have a look at this article explaining the concept.For further reference, a similar question was asked in these two community posts:
https://support.gurobi.com/hc/en-us/community/posts/360056771292-Invalid-argument-to-QuadExpr-multiplication-Error-
https://support.gurobi.com/hc/en-us/community/posts/360076716571-Invalid-argument-to-QuadExpr-multiplication
Best regards,
Lennart0
Please sign in to leave a comment.
Comments
1 comment