Matt J
Posts:
4,988
Registered:
11/28/09
|
|
Re: Non-linear 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 Levenberg-Marquardt and/or Gauss-Newton 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 Levenberg-Marquardt routine. Also, the OP wanted to do Gauss-Newton as well. Gauss-Newton 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 term-by-term 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 non-differentiabilities.
|
|