FindMinimum with LevenbergMarquardt Method: syntax to set lower/higher bounds for parameters

I use the LevenbergMarquardt method of the FindMinimum function to minimize a residual function (mathematical-optimization). The 2013 post Is it possible to use the LevenbergMarquardt (LM) algorithm for fitting a black-box residual function? was very helpful to determine how to use the LM algorithm.

Now, I would like to set upper and lower bounds for the three parameters I need to optimize, but I was not able to find any information in Mathematica Help or online on how to do this.
Does anyone know if this is possible ?
what would be the correct syntax ?

Thaks for your help !




Please, post a minimal example demonstrating the behaviour you are after.
– Sektor
Sep 18 ’15 at 8:56



please post your code here.
– Raymond Ghaffarian Shirazi
Sep 18 ’15 at 10:15


1 Answer


The “LevenbergMarquardt” Method is an unconstrained optimization algorithm, so it does not allow setting bounds for the parameters. If you need to set bounds you should use one of the algorithms for constrained optimization.

The correct syntax for local constrained optimization is given on the Documentation page for FindMinimum:

FindMinimum[{f[x,y,…], cons}, {{x,x0}, {y,y0}, …}]

searches for a local minimum subject to the constraints cons starting from the points x = x0, y = y0 …

The function f[x,y,…] can be a black-box function defined via one of the forms of the “black box” pattern, for example:

f[x_Real, y_Real, z_Real] := …