15
$\begingroup$

I can't find in the documentation the list of methods available to NMinimize[]. Is there a way to get this? The NMinimize page in Documentation Center mentions only Method -> "DifferentialEvolution".

$\endgroup$
9
  • 2
    $\begingroup$ If you click on "Details and Options" you'll see the whole list. $\endgroup$ Commented Nov 6, 2013 at 11:25
  • 2
    $\begingroup$ Indeed, the last bullet of that sections reads: Possible settings for the Method option include "NelderMead", "DifferentialEvolution", "SimulatedAnnealing", and "RandomSearch". I note that it uses the tantalizing words "possible" and "includes", suggesting there might be many more settings. $\endgroup$ Commented Nov 6, 2013 at 11:29
  • $\begingroup$ Yes, it is not very clear. I have also found on the page tutorial/ConstrainedOptimizationGlobalNumerical the following line: NMinimize and NMaximize have several optimization methods available: Automatic, "DifferentialEvolution", "NelderMead", "RandomSearch", and "SimulatedAnnealing". I assumed there could be more methods available. $\endgroup$
    – shrx
    Commented Nov 6, 2013 at 11:31
  • 5
    $\begingroup$ An other question would be: Is it possible to use something like foo::Method in order to know the different methods available? $\endgroup$
    – Öskå
    Commented Nov 6, 2013 at 11:44
  • 2
    $\begingroup$ Voting to reopen. Evidently the docs aren't enough for this one $\endgroup$ Commented Aug 25, 2015 at 3:28

1 Answer 1

23
$\begingroup$

The complete list of possible methods is given by Optimization`NMinimizeDump`$Methods:

Optimization`NMinimizeDump`$Methods
 (* -> {Automatic, DifferentialEvolution, NelderMead, 
        SimulatedAnnealing, RandomSearch, NonlinearInteriorPoint} *)

As you can see, there is one undocumented method: NonlinearInteriorPoint. The probable reason for its being undocumented is that by itself it is not very effective as a global minimizer, so it is used instead as a postprocessing step for the other methods in order to ensure that constraints are properly enforced.

$\endgroup$
1
  • $\begingroup$ But what is the default method used when no method is specified? $\endgroup$
    – umby
    Commented Apr 23 at 11:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.