Wie definiere ich ein Integral als objektive Funktion in Pyomo?

Ich möchte ein Integral in @ definieren könnpyomo als Teil einer Zielfunktion.

Ich kann nicht herausfinden, welche Art von Ausdruck für das Integral benötigt wird.
Hier ist meine beste Vermutung:

model = ConcreteModel()
model.t = ContinuousSet(bounds = (0,1))
model.y = Var(model.t)
model.dydt = DerivativeVar(model.y, wrt=(model.t))

def myintegral(model,i):
    return model.dydt[i]

model.n = Integral(model.t, wrt=model.t, rule=myintegral)  # this line is the trouble

def myobjective(model):
     return model.n

model.obj = Objective(rule=myobjective)

Der Fehler ist:TypeError: A callable type that is not a Pyomo expression can not be used to initialize an Expression object. Use 'rule' to initalize with function types.

Aber ich verstehe nicht, warum der Ausdruck innerhalb des Integrals ein Problem ist, da diese Variablen durch den Index vollständig indizierbar zu sein scheinenmodel.t:

# but, this is totally fine:  
print model.dydt[0]
print model.dydt[1]

Am ich etwas falsch verstanden?

Hier sind einige Ressourcen, die ich bisher konsultiert habe:

https: //groups.google.com/forum/#! topic / pyomo-forum / 6RhEXEMDTPc https: //software.sandia.gov/downloads/pub/pyomo/PyomoOnlineDocs.html#_parameter https: //projects.coin-or.org/Coopr/browser/pyomo/trunk/examples/dae/Heat_Conduction.py? rev = 9315

Ich bin offen für Vorschläge / Links zu anderen Ressourcen überpyomo.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage