Nonlinear optimization with differential equations in Constraint
Show older comments
Hello, I have a nonlinear optimization problem like min f(X), where X is a vector of four elements. And the constraints are in the form of dX/dt=g(X,u), where u is the decision variable and it is defined by: u=h(X). I tried to use fmincon and ode23 together, however, I do not know what to do with u=h(X) as the constraint. If I want to define that as a nonlinear constraint in fmincon, how to define the function as X is not still known. Thank you.
Answers (2)
Nikhil Negi
on 18 May 2018
1 vote
i can think of two ways you can try both try replacing the dX/dt = g(X,u) with dX/dt = g(X,h(X)) so eventually you have dX/dt = p(X) and then continue with how you did it.
or you can define u as a separate function and pass it as a parameter when calculating dX/dt.
4 Comments
Sareh Agheb
on 19 May 2018
Edited: Sareh Agheb
on 19 May 2018
Nikhil Negi
on 21 May 2018
hello sareh, can you provide the mathematical equations also. that would be really helpful
Nikhil Negi
on 21 May 2018
Edited: Nikhil Negi
on 21 May 2018
i don't think your x0 is getting updated to x00=[x(end,1),x(end,2),x(end,3),x(end,4)] should it get updated for the next window of time?? i'm not really familiar with model predictive control but from your code it seems like you want it to get updated.
Sareh Agheb
on 22 May 2018
Sareh Agheb
on 21 May 2018
Edited: Sareh Agheb
on 21 May 2018
1 vote
1 Comment
Nafis Irtija
on 26 Sep 2020
Hello Sareh, were you able to solve this problem? I am trying to solve an optimization problem similar to yours, and I am having a similar problem. I am unable to find any answer.
Categories
Find more on Nonlinear Control in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!