Как определить интеграл как целевую функцию в pyomo?

Я хочу быть в состоянии определить интеграл вpyomo как часть целевой функции.

Я не могу понять, какое выражение необходимо для интеграла.
Вот мое лучшее предположение:

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)

Ошибка: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.

Но я не понимаю, почему выражение внутри интеграла является проблемой, поскольку эти переменные, по-видимому, полностью индексируются индексомmodel.t:

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

Я что-то неправильно понимаю по этому поводу?

Вот некоторые ресурсы, к которым я обращался до сих пор:

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

Я открыт для предложений / ссылок о других ресурсах оpyomo.

Ответы на вопрос(2)

Ваш ответ на вопрос