fmincon: Does ScaleProblem affect FiniteDiff​erenceStep​Size?

5 visualizzazioni (ultimi 30 giorni)
Hi
I understand that the ScaleProblem option scales the objective and the constraints. But does it also affect the FiniteDifferenceStepSize?
If it doesn't affect the FiniteDifferenceStepSize, then is it better to scale the parameters manually if they have different scales?

Risposta accettata

Matt J
Matt J il 28 Set 2019
Modificato: Matt J il 28 Set 2019
No, ScaleProblem and FIniteDifferenceStepSize are unrelated. You can use TypicalX to inform the finite differencing of the typical magnitudes of the different unknown variables.
In my opinion, though, it is always good to manually scale the variables if you can so that the objective have similar second derivatives w.r.t. all the parameters near the optimal solution. This should improve problem conditioning, convergence speed, and finite differencing accuracy.
  2 Commenti
JINGKAI BI
JINGKAI BI il 18 Mar 2021
Dear Matt J
I am still confused with the scaling problem when optimizing, the question is as follows hoping for your kind answering.
Sometimes the model does not allow us to scale the variables.
For example, we are trying to minimize
,
the effects of a and b can be different: , ,
and the magnitude difference between a and b is,
this magnitude gap can be large therefore affects the accuracy and convergence speed.
The units of a and b are both dollar, if we change the unit of a or b, the meaning of the model will be changed, and when models are complicated, it becomes infeasible to scale the variables since the implication of the model is twisted and unreadable.
My question are:
(1) Whether my understanding about scaling is wrong?
(2) Why can't we just assign different step-size for different variables according to their effects to objective function to deal with the scaling problem? If we can't, what should we do?
Best wishes
Jingkai Bi
Matt J
Matt J il 18 Mar 2021
@Jingkai Bi
You can use the TypicalX option parameter to assign different step-sizes, if you wish. I just don't thin it's the best way.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by