Python 不等式在Pyomo目标中的应用
我对Pyomo真的很陌生,我有一个关于用不等式作为我的客观规则的问题。因此,我想做的是,我想尽量减少发电量(发电量)不能满足基本负荷需求的情况Python 不等式在Pyomo目标中的应用,python,pyomo,Python,Pyomo,我对Pyomo真的很陌生,我有一个关于用不等式作为我的客观规则的问题。因此,我想做的是,我想尽量减少发电量(发电量)不能满足基本负荷需求的情况 def obj_rule(model): unmet = 0; for t in model.T: if t == 0: unmet = 0 else: model.diff[t] = value(model.e_gen[t]) - model.baselo
def obj_rule(model):
unmet = 0;
for t in model.T:
if t == 0:
unmet = 0
else:
model.diff[t] = value(model.e_gen[t]) - model.baseload2
if model.diff[t] < 0:
unmet =+ 1
else:
unmet =+ 0
return unmet
model.obj = Objective(rule=obj_rule, sense=minimize)
使用value()
函数后,错误变为:
ERROR: evaluating object as numeric value: e_gen[1]
(object: <class 'pyomo.core.base.var._GeneralVarData'>)
No value for uninitialized NumericValue object e_gen[1]
ERROR: Rule failed when generating expression for objective obj: ValueError:
No value for uninitialized NumericValue object e_gen[1]
ERROR: Constructing component 'obj' from data=None failed:
ValueError: No value for uninitialized NumericValue object e_gen[1]
错误:将对象计算为数值:e_gen[1]
(对象:)
未初始化的NumericValue对象e_gen[1]没有值
错误:为目标对象生成表达式时规则失败:ValueError:
未初始化的NumericValue对象e_gen[1]没有值
错误:从数据=无构造组件“obj”失败:
ValueError:未初始化的NumericValue对象e_gen[1]没有值
我正在寻找实现优化目标的另一种方法。有人知道另一种方法吗
提前非常感谢
ERROR: evaluating object as numeric value: e_gen[1]
(object: <class 'pyomo.core.base.var._GeneralVarData'>)
No value for uninitialized NumericValue object e_gen[1]
ERROR: Rule failed when generating expression for objective obj: ValueError:
No value for uninitialized NumericValue object e_gen[1]
ERROR: Constructing component 'obj' from data=None failed:
ValueError: No value for uninitialized NumericValue object e_gen[1]