Implicit filtering.

*(English)*Zbl 1246.68017
Software - Environments - Tools 23. Philadelphia, PA: Society for Industrial and Applied Mathematics (SIAM) (ISBN 978-1-611971-89-7/pbk; 978-1-611971-90-3/ebook). xiv, 170 p. (2011).

Implicit filtering is one of many derivative-free optimization methods. For an overview (and motivation) of these methods, see, for example, [A. R. Conn, K. Scheinberg and L. N. Vicente, Introduction to derivative-free optimization. Philadelphia, PA: Society for Industrial and Applied Mathematics (SIAM) (2009; Zbl 1163.49001)], the authors of which stress that “optimization without derivatives [is] one of the most important, open, and challenging areas in computational science and engineering, and one with enormous practical potential”. Such methods are designed to optimize non-smooth functions – noisy, possibly discontinuous, at times random, perhaps calculated using legacy (black-box) code, and possibly not defined at all points in design space. Function evaluations themselves may be expensive. Thus, derivatives are unavailable or available at a prohibitive cost. Implicit filtering is a sampling method that – as other sampling methods – controls the optimization progress by sampling the objective function at feasible points. These methods may attempt to infer gradient information from the sampling.

Implicit filtering solves bound-constrained optimization problems. It “extends coordinate search by approximating a gradient using the values of [the function] at the stencil, uses that approximate gradient to build a model of [that function], and then searches for a better point using information from the model”. In this well-written book the author describes the algorithm and its convergence theory, includes a detailed users’ guide to his publicly available MATLAB implementation of the implicit filtering method, and presents three case studies two of which arose from research projects – hydraulic capture problem and water resources policy. The noisy landscape with gaps (failures of the function to return a value) on the cover of the book is from the water resource policy project. The software is maintained and updated by the author. The target audience for the book includes students who want to learn about the method, practitioners who would like to apply this method in real-world problems, and researchers who would want to use the ideas and software in their own research.

The author observes that convergence results are asymptotic whereas sampling methods like implicit filtering “generally neither run long enough for an asymptotic theory to be relevant nor applied to smooth problems”. Nevertheless, “the theory does provide useful guidance for algorithmic design, implementation, and use of the software”. The author includes many examples and provides and explains a lot of pragmatic advice – a nice roadmap for dealing with the many and varied parameters of the software (the advanced options of which are “powerful enough to do harm”). In order to master the parallel environment, the user is encouraged to “play with the software, make mistakes, and try to understand the (sometimes opaque) error messages”. This advice is sometimes applicable not only to the parallel environment.

The book includes a 136-item bibliography and an index.

Implicit filtering solves bound-constrained optimization problems. It “extends coordinate search by approximating a gradient using the values of [the function] at the stencil, uses that approximate gradient to build a model of [that function], and then searches for a better point using information from the model”. In this well-written book the author describes the algorithm and its convergence theory, includes a detailed users’ guide to his publicly available MATLAB implementation of the implicit filtering method, and presents three case studies two of which arose from research projects – hydraulic capture problem and water resources policy. The noisy landscape with gaps (failures of the function to return a value) on the cover of the book is from the water resource policy project. The software is maintained and updated by the author. The target audience for the book includes students who want to learn about the method, practitioners who would like to apply this method in real-world problems, and researchers who would want to use the ideas and software in their own research.

The author observes that convergence results are asymptotic whereas sampling methods like implicit filtering “generally neither run long enough for an asymptotic theory to be relevant nor applied to smooth problems”. Nevertheless, “the theory does provide useful guidance for algorithmic design, implementation, and use of the software”. The author includes many examples and provides and explains a lot of pragmatic advice – a nice roadmap for dealing with the many and varied parameters of the software (the advanced options of which are “powerful enough to do harm”). In order to master the parallel environment, the user is encouraged to “play with the software, make mistakes, and try to understand the (sometimes opaque) error messages”. This advice is sometimes applicable not only to the parallel environment.

The book includes a 136-item bibliography and an index.

Reviewer: Haim Kilov (Millington)