Matlab Solver - fmincon, minimization problem with constraint

1 view (last 30 days)
Hello, I'm currently working on a problem that minimizes the J function below. (Multi objective) Currently the solver is using fmincon in matlab and the algorithm is sqp.
J = w1*J1 + w2*J2 +w3*J3
each fcn J1,J2,J3 is normlized already.
My question here is
For example, J1 = 0.001 J2 = 0.9 J3 = 0.1
I want to assume the situation.
Q1. Although the weight for w1 is greatly increased,
there is a very small tendency to minimize the function for J1.
What could be the reason for this?
Verification for each Fcn J1, J2, J3 is complete.
Q2. And is it a good idea to normalize constraints as well?
Because I thought Gradient C and Ceq could also affect the solver.

Answers (2)

John D'Errico
John D'Errico on 26 Oct 2019
" Q1. Although the weight for w1 is greatly increased,
there is a very small tendency to minimize the function for J1.
What could be the reason for this? "
Suppose that J1 is essentially a constant function, at least in the vicinity of the start point, or very nearly so? If the optimizer sees there is essentially no gain in the global composite objective coming from J1, then it makes sense to move in a direction that minimizes the other two sub-objectives.
That COULD be the reason. You could look carefully at each of your sub-objectives. At the start point, what are the corresponding norms of their gradients? If the gradient is zero, then how much change from J1 will you get for any movement from x0?
Essentially, you want to look at the start point for each sub-objective. Then, try optimizing each of them independently. (Or, if this is a low dimensional problem, just plot them all.) If they were independent of each other, where would the optimizer want to go for each sub-objective?
Even though the objectives are apparently "normalized", what probably really matters is how the functions are normalized so the gradients all have similar norms. Becaue you could add some HUGE constant to any one of them, and the gradient would not change.
Q2. And is it a good idea to normalize constraints as well?
It can't hurt. If they are wildly different in magnitude, then expect numerical problems.

jisoo jung
jisoo jung on 26 Oct 2019
If this assumtion ( If the optimizer sees there is essentially no gain in the global composite objective coming from J1" ) is true,
How can I resolve this problem ... ?

Community Treasure Hunt

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

Start Hunting!