Hi,
I am trying to use fmincon to get the minimum value of a particular function. But the command window always prop up the message:
fmincon stopped because the size of the current search direction is less than
twice the default value of the step size tolerance and constraints were
satisfied to within the selected value of the constraint tolerance.
I know it does not give me the optimal value for the minima. And I tried to make the TolFun as small as below 1e-20. It still does not work. I observe that my objective function has reached to 1e-10. But it will keep on decreasing. Can anyone help me figure out this problem?
The other thing is I was wondering if this problem is related to the inital value?
Thanks very much
|
|
0
|
|
|
|
Reply
|
Huang
|
10/8/2010 6:34:05 AM |
|
First of all, the exit message does NOT necessarily indicate a
problem--it is simply the reason fmincon stopped.
Secondly, you might be trying to get impossible accuracy from fmincon.
By setting TolFun to less than eps (about 2e-16) you are attempting to
get essentially zero error, which is generally impossible in
floating-point calculations.
I suggest you set TolFun to 1e-12 and, more importantly, TolX to 1e-12,
and try several starting points. For more suggestions, see
http://www.mathworks.com/help/toolbox/optim/ug/br44i2r.html#br44i8w
Alan Weiss
MATLAB mathematical toolbox documentation
On 10/8/2010 2:34 AM, Huang Huang wrote:
> Hi,
> I am trying to use fmincon to get the minimum value of a particular
> function. But the command window always prop up the message:
>
> fmincon stopped because the size of the current search direction is less
> than
> twice the default value of the step size tolerance and constraints were
> satisfied to within the selected value of the constraint tolerance.
>
> I know it does not give me the optimal value for the minima. And I tried
> to make the TolFun as small as below 1e-20. It still does not work. I
> observe that my objective function has reached to 1e-10. But it will
> keep on decreasing. Can anyone help me figure out this problem?
>
> The other thing is I was wondering if this problem is related to the
> inital value?
> Thanks very much
|
|
0
|
|
|
|
Reply
|
Alan
|
10/8/2010 11:50:02 AM
|
|