Python 不等式在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

我对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.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]