fmincon for sensitive problem

2 views (last 30 days)
Kenta
Kenta on 7 Sep 2014
Commented: Kenta on 7 Sep 2014
Dear all, I am using fmincon for trajectory optimization including ODE. Thanks to the helps from this community, my code works well (final first-order optimality value is small) for ordinary trajectories. However, when I try to optimize a trajectory that sensitively depends on intiial conditions, my code can find a feasible solution, but the final first-order optimality value is very large (typically around 10,000). Is there any methods or options that capable of handling such sensitive problems using fmincon?
Regards, Kenta

Accepted Answer

Matt J
Matt J on 7 Sep 2014
Edited: Matt J on 7 Sep 2014
If it's a linear ODE, it's not clear why the result would be sensitive to initial conditions. The dependence on the initial conditions should be linear.
As we discussed in your earlier thread, the problem could be non-differentiable. If so, that could be the reason why you sometimes see poor behavior in the first-order optimality measure. But I would expect that any non-differentiabilities would lie on regions of measure zero. It may be worth running the optimization with the 'Display' option set to 'iter' and observing how the first order optimality varies throughout the iterations.
Also, how many unknown parameters do you have? If less than 6, it might be worth trying fminsearch or a similar derivative-free method. There are versions on the FEX that support constraints,
  1 Comment
Kenta
Kenta on 7 Sep 2014
Dear Matt J, thanks again for your answer. My ODE is nonlinear and I have already run the 'Display' and 'iter', where first order optimality has been always large and not shown unidirectional decrease.
Indeed, I have 6 unknown parameters, but it seems to be great idea to consider fminsearch with constraints. Derivative-free method is attractive for me now even though computational time may be long. I'll try and thanks again! Regards, Kenta

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!