首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python :如何在目标函数中实现决策变量的最大值?

Python :如何在目标函数中实现决策变量的最大值?
EN

Stack Overflow用户
提问于 2020-02-14 12:05:43
回答 1查看 894关注 0票数 1

希望有人能帮我。我正在开发一个优化模型,在这个模型中,随着时间的推移和不同的事务处理,我将电力成本降到最低。(如:标准电力(P)*电费(c) =电费)。

现在,我试图在目标函数中实现一个基于发生的最大功耗的成本部分(一些类似: max(Ps,t))。但是,np.max()返回一个错误,因为Ps,t是np.max()不受支持的类。另外,Gurobi函数gp.max_(Ps,t)也给出了一个不支持的类错误。有人有解决办法吗?

代码:

代码语言:javascript
复制
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))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-14 16:04:47

您需要将max约束赋值给一个新的辅助变量,并将该变量放入目标中而不是实际的约束中。

代码语言:javascript
复制
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)

Gurobi文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60226034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档