Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Topic: fmincon tolfun tolx and tolcon question/clarification
Replies: 4   Last Post: Jan 28, 2013 10:48 AM

 Messages: [ Previous | Next ]
 Alan Weiss Posts: 1,430 Registered: 11/27/08
Re: fmincon tolfun tolx and tolcon question/clarification
Posted: Jan 24, 2013 8:17 AM

On 1/23/2013 9:08 PM, Jesse Sipple wrote:
> I've been using fmincon (interior-point, bounded, with no nonlinear
> constraints, not specifying a gradient) for an optimization problem.
> I've had great success with the method and spent much time reading the
> literature before coming to the final decision to use this algorithm
> to assist me in solving my optimization problem.
>
> I have setup the problem such that the objective function is
> normalized by it's initial value so that it starts from 1 with a goal
> of going to 0. My parameters that I am passing are unitless, and can
> be thought of as a percent running from 2 (200%) to 0 (0%) and
> starting at 1 (100%).
> Recently, I have needed to push the optimization a bit since as I
> modify my problem, I encounter parameters that are slightly less
> sensitive than what I have been dealing with in the past.
> Typically, the constraints on the problem I have set are delta(x)
> (TolX) = 1e-4 which ends up being one hundredth of a percent and
> delta(f) (TolCon) = 1e-8 (which is TolX^2).
>
> When I was reviewing the literature to see how to make both TolX and
> TolCon tighter constraints, I ran into this graph:
> http://www.mathworks.com/help/optim/ug/tolfuntolx.png
> (found here: http://www.mathworks.com/help/optim/ug/setting-options.html)
>
> This led me to believe that I have been specifying TolCon wrong all
> along, what I wanted to specify was a tolerance to constrain the
> change in the objective function. Looking further into the material
> online, I found that TolCon was the "tolerance on the constraint
> violation".
>
> So I thought I have been doing it wrong all along and removed
> specifying TolCon and specified TolFun as 1e-8 and the optimization
> stopped even sooner than before, since the default for TolCon is 1e-6.
>
> So my question is, why isn't TolFun seeming to be what it appears to
> be in the graph
> (http://www.mathworks.com/help/optim/ug/tolfuntolx.png), and what is
> TolCon doing? I'm nowhere near the bounds of the problem when it
> stops. And what specifically is the "constraint violation" that
> TolCon is controlling? The optimization seems to be prematurely
> stopping due to the TolCon constraint but I don't want to change the
> value for that without knowing exactly what it's controlling.
>
> Thanks for your help!

Take a look at the documentation of tolerances:
http://www.mathworks.com/help/optim/ug/setting-options.html#brhv4_o-1

Alan Weiss
MATLAB mathematical toolbox documentation

Date Subject Author
1/23/13 Jesse Sipple
1/24/13 Alan Weiss
1/24/13 Jesse Sipple
1/24/13 Steven Lord
1/28/13 Jesse Sipple