Matt J
Posts:
4,992
Registered:
11/28/09


Re: Nonlinear optimization
Posted:
Mar 6, 2013 3:39 PM


"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <kh46mg$s0t$1@newscl01ah.mathworks.com>... > "Matt J" wrote in message <kh32ds$hrn$1@newscl01ah.mathworks.com>... > > "Toan Cao" <toancv3010@gmail.com> wrote in message > > > > If you know a global lower bound on F(x), say F_low, then the minimization problem is equivalent to > > > > min f(x)'.f(x) > > > > where > > > > f(x)=F(x) f_low > > > > So, you could apply LevenbergMarquardt and/or GaussNewton to the reformulated problem. > > I don't think it is a good suggestion. (1) It make the code difficult to handle since f_low needs to be known. It squares the conditioning of the original problem, and thus all kinds of numerical difficulties become more prominent. ================
I'm sure it would have its drawbacks, but it's the only suggestion I can think of that doesn't require coding your own more general LevenbergMarquardt routine. Also, the OP wanted to do GaussNewton as well. GaussNewton is only applicable to least squares cost functions, AFAIK, so some kind of square root factorization would have to be constructed for that.
I don't see finding f_low as a big problem. Remember, I'm not saying it has to be a tight lower bound, so some kind of termbyterm lower bound analysis on the cost function should give it to you.
As for the conditioning issue, an alternative factorization might be
f(x)=(sqrt(F(x)f_low))^2
If f_low is strictly less than the global minimum, then F(x)f_low>0, so the sqrt shouldn't introduce any nondifferentiabilities.

