次の形式の Pyomo モデルがあります。
from pyomo.environ import *
from pyomo.dae import *
m = AbstractModel()
m.t = ContinuousSet(bounds=(0,120))
m.T = Param(default=120)
m.S = Var(m.t, bounds=(0,None))
m.Sdot = DerivativeVar(m.S)
m.obj = Objective(expr=m.S[120],sense=maximize)
目標m.obj
はパラメータに依存することに注意してくださいm.T
。これを実行しようとすると、次のエラーが表示されます。
TypeError: unhashable type: 'SimpleParam'
次のような値を使用するとexpr=m.S[120]
、エラーが発生します。
ValueError: Error retrieving component S[120]: The component has not been constructed.
S
どちらの場合も、私の目標は同じです。地平線で の可能な最大値を最適化することです。
これを表現する抽象モデルを作成するにはどうすればよいですか?