Give gradient to fmincon
Mostrar comentarios más antiguos
Hey,
so I am using fmincn to solve a problem. Im somehow not to satisfioed with the results because the solver seems to bug itsself into the lower boundary limit and ste sthe solution for 1 of the 3 parameters to zero therefore. Lokking at the gradient output it seems like there is a potential to optimize, because the gradient for 2 of the variables is like 10^-2, but for the one peramater where the solution is on the boundary, the gradient is like 10^4.
So I know that there is the possibility to set DerivativeCheck on and to give it a user suplied gradient. But I can only activate SpecifyObjectiveGradient to on or off. I am not sure wethere the user suplied gradient should represent a treshold that the output gradient should satisfy or if its an analytical gradient funtion that is required. Unfortunately I can not provide an analytical solution because the function is just to complex, filling multiple pages..
So is there another possibility to stop fmincon from bugging one of the parameters into the boundary since fmincon clearly knows that the gradient at the solution point is pretty bad?
Best regards
6 comentarios
Marc Laub
el 11 de Oct. de 2022
Yes, I just know that some commercial software, not sure whcih solver they use, gets a very similar solution, which is close to the boundary for that one parameter, but not at 0.
Maybe they set the lower bound for the parameter to a value slightly bigger than 0 ...
Marc Laub
el 11 de Oct. de 2022
Torsten
el 11 de Oct. de 2022
And what about the value of the objective ? Which one is "better" - yours or the one from the commercial software ?
But in any case: You should check whether the problem formulations in the two softwares are identical.
Marc Laub
el 11 de Oct. de 2022
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Surrogate Optimization en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!