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

4 visualizaciones (últimos 30 días)
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?

Respuesta aceptada

Matt J
Matt J el 27 de Mayo de 2020
With respect to all the variables that are unknown.
  4 comentarios
Ahmed Nasr
Ahmed Nasr el 28 de Mayo de 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 el 28 de Mayo de 2020
Editada: Matt J el 29 de Mayo de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by