From: Samuel Edwards on
"Matt J " <mattjacREMOVE(a)THISieee.spam> wrote in message <i2nig9$1qp$1(a)fred.mathworks.com>...
> "Samuel Edwards" <DJeter1234(a)AOL.com> wrote in message <i2nauv$bfo$1(a)fred.mathworks.com>...
>
> > I have rescaled the problem so fmincon inputs (mean, s.d.1, s.d.2, s.d.3, constant) with a neutral starting guess of [0,1,1,1,0]. I run fmincon, and then rescale by the last guess so that fmincon starts at [1,1,1,1,1] and minimizes new_guess.*(mean, s.d.1, s.d.2, s.d.3, constant). Is this an good way to deal with flat functions? Is there a better way? I'm fairly new to modeling, so I apologize if this is trivial.
> ==============
>
> The ideal way to correct for bad scaling is to supply a user-defined analytical Hessian to fmincon. Since this is only a 5-parameter problem, that doesn't seem to be a very difficult thing to do.
>
> A cheaper knock-off would be to evaluate the Hessian at your neutral starting guess and use the diagonal of its inverse as scale factors.

Doesn't fmincon approximate the Hessian automatically? How would I approximate it better? I do not have the actual gradient to the problem, and it is impossible to solve analytically.