how does fmincon work

143 views (last 30 days)
xueqi
xueqi on 6 Jan 2014
Edited: Alan Weiss on 6 Jan 2014
Hi fellows,
Do you understand how does fmincon work exactly? I can not find a documentation in the HELP. It seems they are all just about how to set up the optimization problem. I would like to see an example of demonstration that how it finds a local minimum. It will include the searching path with respect to a particular start point. And especially how it stops with respect to the tolerances. I would be really grateful if you can show me that or tell me how to do that.
Thanks! :)

Accepted Answer

Matt J
Matt J on 6 Jan 2014
It seems they are all just about how to set up the optimization problem. I would like to see an example of demonstration that how it finds a local minimum.
"doc fmincon" does contain an example that includes not just setting up the optimization problem, but also running fmincon itself and obtaining a solution.
And especially how it stops with respect to the tolerances.
By default, fmincon will print messages saying what stopping tolerance was met. Calling fmincon with additional output arguments is also a way to obtain further information,
[x,fval,exitflag,output] = fmincon(...)
It will include the searching path with respect to a particular start point.
If you mean you want intermediate iterations saved, that is a more advanced thing that requires the 'OutputFcn' option. This link gives an example of how to do it, though,

More Answers (1)

Alan Weiss
Alan Weiss on 6 Jan 2014
Edited: Alan Weiss on 6 Jan 2014
The algorithms fmincon uses are documented here. You can see a nice visual example of how fminunc minimizes Rosenbrock's function by executing
bandem
at the MATLAB command line. And you can read about tolerances and stopping criteria here.
Alan Weiss
MATLAB mathematical toolbox documentation

Tags

Community Treasure Hunt

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

Start Hunting!