我需要使用Gurobi实现以下优化:See here for formula
这是使用Gurobi Python API的代码:
from gurobipy import *
m=Model()
# Create variables
alphak = m.addVars(S, B, b, a, vtype=GRB.BINARY,name="alphak")
# Set objective
obj1=quicksum(quicksum(quicksum(int((quicksum(alphak[s,B0,f,t]*alphak[s,k,f,t] for k in B0)/len(B0)) for t in range(a)) for f in range(b)) for s in S)
m.setObjective(obj1, GRB.MAXIMIZE)
# Optimize model
m.optimize()
在quicksum上应用int()会出现问题。这是错误:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'gurobipy.QuadExpr
该部门的事。
谁能帮助我解决这个问题?
谢谢
答案 0 :(得分:0)
Gurobi不了解int(),ceiling()或floor()函数。但是,您可以轻松地对此建模。
假设我们要为StructuredPostal
建模。然后您可以编写:
y = floor(x)