J'ai un modèle Pyomo temps continu de la forme:Comment spécifier des points particuliers pour la discrétisation dans Pyomo?
from pyomo.environ import *
from pyomo.dae import *
m = ConcreteModel()
m.t = ContinuousSet(bounds=(0,150))
m.T = Param(default=150)
m.S = Var(m.t, bounds=(0,None))
m.Sdot = DerivativeVar(m.S)
discretizer = TransformationFactory('dae.collocation')
discretizer.apply_to(m,nfe=100,ncp=3,scheme='LAGRANGE-RADAU')
m.obj = Objective(expr=m.S[122],sense=maximize)
Mais, quand je lance le code ci-dessus, je reçois l'erreur suivante:
KeyError: "Error accessing indexed component: Index '120' is not valid for array component 'S'"
regardant list(m.t)
, je vois que , bien sûr, 122 ne sont pas inclus comme point de discrétisation:
..., 121.73257700000001, 122.467423, ...
Comment puis-je spécifier des points à inclure dans la discrétisation?