提问人:kelly_dias_00 提问时间:11/9/2023 最后编辑:kelly_dias_00 更新时间:11/9/2023 访问量:19
Pyomo 约束函数:在函数中嵌入 if-else 还是在表达式中创建新的二进制参数哪个更昂贵?
Pyomo constraint function: Which is more expensive, embedding if-else within the function or create a new binary parameter in the expression?
问:
在为具有时间序列(8760 步长)索引的 pyomo 模型创建约束定义时,需要省略表达式的某些部分,以用户定义的输入 (True/False) 为条件
(a) def balance(model, t): if grid: return ...否则:返回......
(b) model.gridBinary = pyo。参数(within=pyo.二进制,initialize=user_input)
def balance(model, t): 返回 model.gridBinary * (网格相关变量) + ...
在 (a) 中,程序是否会在每 8760 步中执行一次 if-else 检查,并导致比 (b) 更昂贵的运行?哪个版本反映了更好的编程实践?
两者都尝试过,但结果 (b) 比 (a) 跑得快
答: 暂无答案
评论