Mesh adaptive direct search with simplicial Hessian update
- 58 Downloads
Recently a second directional derivative-based Hessian updating formula was used for Hessian approximation in mesh adaptive direct search (MADS). The approach combined with a quadratic program solver significantly improves the performance of MADS. Unfortunately it imposes some strict requirements on the position of points and the order in which they are evaluated. The subject of this paper is the introduction of a Hessian update formula that utilizes the points from the neighborhood of the incumbent solution without imposing such strict restrictions. The obtained approximate Hessian can then be used for constructing a quadratic model of the objective and the constraints. The proposed algorithm was compared to the reference implementation of MADS (NOMAD) on four sets of test problems. On all but one of them it outperformed NOMAD. The biggest performance difference was observed on constrained problems. To validate the algorithm further the approach was tested on several real-world optimization problems arising from yield approximation and worst case analysis in integrated circuit design. On all tested problems the proposed approach outperformed NOMAD.
KeywordsDerivative-free optimization Hessian update Random matrices Uniform distribution
Mathematics Subject Classification90C56 65K05 15A52
The authors acknowledge the financial support from the Slovenian Research Agency (research core funding No. P2-0246-ICT4QoL—Information and Communications Technologies for Quality of Life). The authors would also like to thank two anonymous reviewers for their constructive remarks and comments.
- 4.Andersen, M.S., Dahl, J., Vandenberghe, L.: CVXOPT, Release 1.1.6. http://cvxopt.org/userguide/index.html (2016)
- 8.Bogachev, V.I.: Measure Theory. Springer, Berlin (2006)Google Scholar
- 18.Graeb, H.E.: Analog Design Centering and Sizing. Springer, Berlin (2007)Google Scholar
- 29.Van Rossum, G., et al: The Python language reference. Python Software Foundation (2014). http://docs.python.org/