nAGは最適化を行うためのサブルーチン群をライブラリ(nAG数値計算ライブラリ)として提供しています。nAG数値計算ライブラリはC/C++, Java, Fortran, Python 等、様々な言語から利用可能な汎用的なライブラリです。
この中でも最も使用頻度の高いものが 「最適化」に関するサブルーチン群です。 nAGの専門家は最適化ルーチンの開発とテストに長い期間をかけ、 その結果の信頼性とスピードを実現しています。
局所的最適化(local optimization) v.s. 大域的最適化(global optimization)
最適化の計算においては局所的な最小値(もしくは最大値)を求めても、それが可能な範囲内においての最小の値とは限りません。 例えば F(x)が x sin(x) であった場合に [0, 4pi] の範囲で最適化を行うとします。この場合 x = 1.5piで局所最小値が見つかります。しかしより小さな値が x = 3.5pi で見つかります。
もしユーザが局所的な最小値で満足できない場合には大域的な最小値を見つける必要がありますが、これにはより多くの計算量が必要となります。 nAG数値計算ライブラリには局所的な最適化を行うサブルーチンだけでなく、大域的な最適化を効率良く行う「大域的最適化」サブルーチンも含まれます。