Search code examples
pythonoptimizationdifferential-equationspyomo

Pyomo DAE optimal control problem with FREE end points


I use pyomo.dae to solve differential equation optimization I defined a set

m.e = ContinuousSet(bounds=(e0, ef))

But I want ef to be free as variable. It's a flexible end points differential problem. How can I accomplish it?


Solution

  • You change your differential equation

    y'(x) = f(x,y(x))
    

    over a flexible interval [e0, ef] to a version over the standard interval [0,1] via

    u'(s) = T*f(e0+T*s, u(s))
    

    where now e0 and T=ef-e0 can be treated like any other parameter.