Calculation of the gradient of a function in BFGS Quasi-Newton Algorithm

4 vues (au cours des 30 derniers jours)
Ahmed Nasr
Ahmed Nasr le 27 Mai 2020
Modifié(e) : Matt J le 29 Mai 2020
I have a function that I want to minimize using the BFGS Quasi-Newton algorithm.
If .
are given.
Also, A is given, B is not given, and C is a function of B only.
If I want to calculate to the gradient of the function (). Should I calculate it with respect to all variables or with respect to B only?

Réponse acceptée

Matt J
Matt J le 27 Mai 2020
With respect to all the variables that are unknown.
  4 commentaires
Ahmed Nasr
Ahmed Nasr le 28 Mai 2020
I have a constraint that B*C > 0 .. But, I usually in my algorithm code substitute C by its function of B and take the gradient over B only as after replacing C with its function of B, B is considered as the only unknown variable in the function. Is that true?
Matt J
Matt J le 28 Mai 2020
Modifié(e) : Matt J le 29 Mai 2020
It can be true. Or you can treat B and C as separate unknowns subject to an equality constraint,
C-g(B)=0
where g() is the function relating C to B. But it may make the optimization algorithm slower if it has to deal with additional variables and constraints.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by