Is there a Hessian-free optimization algorithm?

11 次查看(过去 30 天)
I need to do some constrained optimization work on a function which is actually a Simulink model involving hundreds of variables. Each function evaluation takes about 6 or 7 seconds. So, lowering the number of function evaluations is critical to me.
I've looked into the available algorithms with fmincon (interior-point, sqp, active-set, trust-region-reflective) and they all require Hessian calculation.
Is there any algorithm available in MATLAB that can optimize the function via only function or gradient evaluation? (and does not require the time-consuming Hessian calculation)

采纳的回答

Sean de Wolski
Sean de Wolski 2016-5-24
编辑:Sean de Wolski 2016-5-24
In the Global Optimization Toolbox:
doc patternsearch
perhaps

更多回答(1 个)

Mary Fenelon
Mary Fenelon 2016-5-27
If your functions are smooth, a gradient-based solver such as fmincon may take fewer function evaluation overall. Some of its algorithms do not calculate the Hessian using finite differences but use an approximation to the Hessian; see more here . You might also want to review the docs on choosing an appropriate step size when optimizing a simulation to help decide between a gradient-based solver and patternsearch but it's hard to predict so if possible give them both a try.

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by