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

4 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Matt J
Matt J il 27 Mag 2020
With respect to all the variables that are unknown.
  4 Commenti
Ahmed Nasr
Ahmed Nasr il 28 Mag 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 il 28 Mag 2020
Modificato: Matt J il 29 Mag 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.

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