Fmincon Behaviour for the normalized function value

I have 2 case scenarios of the fmincon running on Maltab namely, case A and case B. They both have the same feasible initial design point. All the design variables are normalized. All the constraints are normalized. The only difference between the two cases is;
Case A - function value is normalized;
Case B - function value is normalized and multiplied by 10;
When I run both the programs, Case A starts at a function value = 1.0 and after 71 funcCount it stops the optimization thinking it has met the tolerance requirements. The OUTPUT message for Case A is shown below.
Optimization stopped because the relative changes in all elements of x are
less than options.StepTolerance = 1.000000e-06, and the relative maximum constraint
violation, 7.771561e-15, is less than options.ConstraintTolerance = 1.000000e-04
Whereas Case B continues to run and shows a decreasing trend in the fval as expected. I do not understand why fmincon behaves this way for Case A. I understand why all the design variables and constraints need to be normalized so that the order of magnitude is at an identical scale.

Answers (0)

Products

Asked:

on 10 Nov 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!