How to make fmincon faster?

I try to to use fmincon for my optimizer my system is nonlinear and my contraints are also nonlinear. As I want to use it in real system speed of it is very important. I already try different options of fmincon but doesn't change a lot. Is there anyway to make it faster except changing options that I already tried?

 Accepted Answer

Matt J
Matt J on 14 Jun 2014
You can code your objective and constraint functions better, i.e., make sure it executes as speed-efficiently as possible.
Supplying accurate computations of the gradient and Hessian for algorithms that use them would also probably speed things up. This is in contrast to turning GradObj and GradConstr 'off' and using the default finite difference derivative computations.

3 Comments

Thanks for your reply,I made my constraint as relax constraints and I already tried gradient and hessian but still it is not fast. I heard that if I make my constraints and model in another mfile and just run them when something is changed then it became much faster. But I can't understand what it means.
It sounds like you're talking about the scenario discussed in this thread,
If your objective function and constraints share some quantity that takes a long time to compute, you can use the technique discussed there to cut down on unnecessary re-computations of this quantity.
Thank you very much

Sign in to comment.

More Answers (0)

Categories

Asked:

on 14 Jun 2014

Commented:

on 16 Jun 2014

Community Treasure Hunt

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

Start Hunting!