What's new - IMSL® Fortran Numerical Library 2018
New and improved features
Optimizing complex systems often requires the tuning of many parameters. In some cases, the mathematical function is unavailable, unreliable, noisy, or exhibits non-smooth characteristics. Such problems can often render algorithms that rely on derivative or gradient calculations less useful. This is particularly common when the objective function is a black-box function, where the only available information is the value of the objective function for an input point.
Derivative Free Optimization (DFO) focuses on ways to solve optimization problems for which useful derivative or gradient calculations are not available or practical. DFO is applicable across a wide variety of problems, and it has been enabled by the development of techniques that improve convergence. With a growing number of applications in science, finance, and engineering, the development of DFO algorithms has also seen a resurgence of interest from Machine Learning researchers and practitioners.
DFO algorithms have long been a part of the IMSL Library, e.g., subroutine BCPOL is based on the popular Nelder-Mead method. BCPOL allows bounds on variables and has been enhanced to allow greater control over reflection, expansion, and contraction coefficients; however based on customer feedback, the IMSL development team has also added a new DFO subroutine, `LIN_CON_TRUST_REGION`, based on an algorithm from M.J.D. Powell that allows both variable bounds and linear constraints. Each of these DFO subroutines, BCPOL and LIN_CON_TRUST_REGION, have unique characteristics that can make one or the other better suited for different situations, allowing IMSL subroutines to be applied to a wide variety of DFO problems.
IMSL has been around for almost 50 years, so there are fewer bugs than one might find in less mature libraries; however, together with our customers, we always managed to find and fix a few to help continuously improve the robustness of the IMSL library. Details can be found in the product change log.
Another key component of FNL 2018.0.0 is the improvement of internal FNL tools and processes to enable more rapid platform support efforts going forward. With these updates and additional planned improvements, the development team will provide new product releases on the most widely adopted platforms first, then respond to requests for platform support from our customers. Additional platforms will be made available as warranted by demand.