Ich habe ein Pyomo Modell, das die Form hat:Pyomo: Wie wird der letzte Datenpunkt in einem abstrakten Modell verwendet?
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)
Beachten Sie, dass das Ziel m.obj
verlässt sich auf die Parameter m.T
. Der Versuch, dies zu laufen gibt den Fehler:
TypeError: unhashable type: 'SimpleParam'
Wert verwenden, wie expr=m.S[120]
die Fehler gibt:
ValueError: Error retrieving component S[120]: The component has not been constructed.
In beiden Fällen ist es mein Ziel ist das gleiche: die Optimierung für den grösstmöglichen Wert von S
am Horizont.
Wie kann ich ein abstraktes Modell erstellen, das dies ausdrückt?