Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Fmincon: Selecting the right upper and lower bounds

Subject: Fmincon: Selecting the right upper and lower bounds

From: Sai

Date: 22 May, 2013 23:55:08

Message: 1 of 4

Hello,

I am using the function 'Fmincon' for an iterative optimization problem.

While selecting the upper and lower bounds, I start with the widest range of values for the to-be-optimized variable vector i.e. x.
But when I further reduce the range of values for the bounds but keep them in the set of prior wider range of values, I get a smaller value of my objective function/performance index than the one I was getting with the wider range of values.

For example:
Bounds:
lb=[0.0006, 200, -1200, 0.002, 0.05, 0.75,0.75];
ub=[0.0015, 750, -600, 0.005, 0.51,1.25,1.25];

yield the minimized function value as 6.0926e-008.

But bounds
lb=[0.0006, 200, -1200, 0.0034, 0.45, 0.75,0.75];
ub=[0.0009, 750, -600, 0.0035, 0.51,1.25,1.25];

yield the minimized function value as 1.5086e-010 which is lesser than the prior one.
I keep the initial conditions and the solver(interior-point) the same while doing the comparison.

I expected a larger value of the objective function while using the more constrained bounds.

Can anybody please explain why this is happening or where I might be going wrong?

Thanks a lot!
Sai

Subject: Fmincon: Selecting the right upper and lower bounds

From: Matt J

Date: 23 May, 2013 04:33:08

Message: 2 of 4

"Sai" wrote in message <knjlss$315$1@newscl01ah.mathworks.com>...

> I expected a larger value of the objective function while using the more constrained bounds.
>
> Can anybody please explain why this is happening or where I might be going wrong?


Possibly the tighter bounds are keeping you away from a local minimum. More likely, the tighter bounds are pushing you closer to the ideal minimum, whereas with loose bounds, how close you get to the minimum depends more on the stopping parameters (TolX, TolFun, etc...). For example, take the extreme case where you set lb=ub=x* where x* is the ideal minimum. The algorithm would have nowhere to go and nowhere to stop except x* in that case.

Subject: Fmincon: Selecting the right upper and lower bounds

From: Sai

Date: 23 May, 2013 14:55:09

Message: 3 of 4

"Matt J" wrote in message <knk664$gqo$1@newscl01ah.mathworks.com>...
> "Sai" wrote in message <knjlss$315$1@newscl01ah.mathworks.com>...
>
> > I expected a larger value of the objective function while using the more constrained bounds.
> >
> > Can anybody please explain why this is happening or where I might be going wrong?
>
>
> Possibly the tighter bounds are keeping you away from a local minimum. More likely, the tighter bounds are pushing you closer to the ideal minimum, whereas with loose bounds, how close you get to the minimum depends more on the stopping parameters (TolX, TolFun, etc...). For example, take the extreme case where you set lb=ub=x* where x* is the ideal minimum. The algorithm would have nowhere to go and nowhere to stop except x* in that case.

Hi Matt,

Thanks for the reply.

As the tighter bounds are a subset of the loos bounds, I expected that the minimum value of the objective function that fmincon yields will be larger in the case of tighter bounds.

If not so, will it lead to incorrect results of the final value of the optimized parameter i.e. xf?

Do I need to change the stopping parameters so I get the minimum value of the objective function smaller while using the loose bounds than the one using the tighter bounds?

Mainly, should I be worried about this i.e. getting a smaller minimum value of the objective function for the loose bounds at all?

Thanks a lot!

Subject: Fmincon: Selecting the right upper and lower bounds

From: Matt J

Date: 24 May, 2013 01:36:08

Message: 4 of 4

"Sai" wrote in message <knlakd$2oi$1@newscl01ah.mathworks.com>...
>
> As the tighter bounds are a subset of the loos bounds, I expected that the minimum value of the objective function that fmincon yields will be larger in the case of tighter bounds.
=============

Not necessarily. If the minimum over the original set also lies inside the subset, then the minimum value will not change. You also have to remember that fmincon does not find the exact minimum. It tries to converge to the minimum, but will stop with some approximation error depending on the stopping parameters. If fmincon is trying to converge to the same value in both cases, any difference in the objective function values that you actually reach would be due entirely to small convergence errors.

When I look at your two values 6.0926e-008 and 1.5086e-010, I wonder if this is what is happening. I wonder if the true minimum might be 0 for both sets of bounds and that 6.0926e-008 and 1.5086e-010 are simply slightly different approximations of the true min.
 

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us