4
$\begingroup$

I would like to pass FindMinimum Options to the PostProcess Option of NMinimize.

Here is minimal working example of using NMinimize from the documentation at (see tutorial/ConstrainedOptimizationGlobalNumerical#252245038, and tutorial/ConstrainedOptimizationComparison)

f = -Log[x] - 8 Log[y] - 3 Log[y] - 3 Log[t];
cons = {200 x^2 + y^2 + z^2 + t^2 == 100, x > 0, y > 0, z > 0, 
   t > 0};
vars = {x, y, z, t};
sol = NMinimize[{f, cons}, vars, 
  Method -> {NelderMead, PostProcess -> FindMinimum}]

If I understand the the assorted documentation for Constrained Optimization correctly, using "PostProcess"->FindMinimum uses the function FindMinimum after Nelder-Mead finishes its simplex search

What if I wanted to pass additional options to FindMinimum in PostProcess -> FindMinimum, such as "Gradient"->gradient, "Method"->"ConjugateGradient"

For example,

grad = Grad[f, {x, y, z, t}] 

sol = NMinimize[{f, cons}, vars, 
  Method -> {NelderMead, 
    PostProcess -> {FindMinimum, Gradient -> grad, 
      Method -> "Newton"}}]

Throws a warning, but it is clear that FindMinimum is not picking up its options: e.g.,

sol = NMinimize[{f, cons}, vars, 
  Method -> {NelderMead, 
    PostProcess -> {FindMinimum, Gradient -> {0, 0}, 
      Method -> "Newton"}}]

or

NMinimize[{f, cons}, vars, 
 Method -> {NelderMead, 
   PostProcess -> {FindMinimum, Gradient -> "Super Banana", 
     Method -> "SillyOption"}}]

Does anyone know if it is possible to get options passed to it?

I am hoping for an NMinizeSolution[...] "super-function" along the lines of what results from NonlinearFindFit's return of the super-function FittedModel[]

$\endgroup$
1
  • 1
    $\begingroup$ Edited in response to @rhermans decree. $\endgroup$ Jul 20, 2022 at 9:24

0

Your Answer

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