|
"Volker K" <klinkv.NOSPAM@yahoo.de> wrote in message
<fst681$6fp$1@fred.mathworks.com>...
> Hi all!
>
> I'm just running some tests how sensitive fminunc is towards
> the initial x0 value.
> And it seems to be really touchy!
Virtually any and all optimizers can be sensitive
to your starting values. It depends on the
problem.
Think of an optimizer as a blind person set
down on the surface of the earth. They are
given the task of finding the lowest spot on
the earths surface. You give them an altimeter,
but not much else. They can feel around with
their cane to sense the local gradient, so your
subject can attempt to walk downhill.
Now, to make things worse, you place their
starting point at some entirely arbitrary
location on the earth. Will this person find
the globally lowest spot on the earth? Can
you predict the odds that they will succeed,
not getting stuck in some local valley?
Consider the plight of fminunc as something
similar.
> Anyone has an idea to make
> it a bit more robust?
1. Better starting values.
2. Better starting values.
3. Better starting values.
4. Know thy problem. This will help you to
identify intelligently chosen constraints to
reduce the solution space.
5. Know thy problem, so allowing you to
get BETTER STARTING VALUES.
6. Nonlinear regressions can sometimes
be improved by the use of a partitioned
optimization strategy. See my fminspleas
for more information on this topic, and a
tool that uses variable partitioning to
improve the robustness.
> Furthermore I don't really understand what the 'TolX' option
> does. I understand 'TolFun'...
Suppose the optimizer is in a location
where it cannot make any progress, as
every step taken is on the order of eps.
Essentially, it stays in the same spot
forever, with no measurable movement.
Do you want the optimizer to stop,
accepting that it is possibly near enough
to a local minimizer that you are willing
to stop? Remember, each step is some
tiny distance, so it is not making any
progress.
John
|