希望有人能帮我。我正在开发一个优化模型,在这个模型中,随着时间的推移和不同的事务处理,我将电力成本降到最低。(如:标准电力(P)*电费(c) =电费)。
现在,我试图在目标函数中实现一个基于发生的最大功耗的成本部分(一些类似: max(Ps,t))。但是,np.max()返回一个错误,因为Ps,t是np.max()不受支持的类。另外,Gurobi函数gp.max_(Ps,t)也给出了一个不支持的类错误。有人有解决办法吗?
代码:
obj = gp.quicksum(p[s, t] * Cost_elect[t]e for t in range(T) for s in range(S)) + gp.max_(p_batt_ch[s,t]*fixed_cost for t in range(T) for s in range(S))发布于 2020-02-14 16:04:47
您需要将max约束赋值给一个新的辅助变量,并将该变量放入目标中而不是实际的约束中。
maxobj = model.addVar()
max_constr = model.addConstr(maxobj == gp.max_(p_batt_ch[s,t] * fixed_cost
for t in range(T) for s in range(S)))
obj = gp.quicksum(p[s,t] * Cost_elect[t] for t in range(T) for s in range(S)) + maxobj)https://stackoverflow.com/questions/60226034
复制相似问题