nAG数理最適化ソルバーは、nAGライブラリに含まれる強力な最適化ルーチン群です。線形計画問題、非線形計画問題、二次計画問題など、様々な最適化問題を解くためのソルバーが提供されています。
以下に、Pythonでお試しいただく場合と、C/Fortranでお試しいただく場合の言語別手順を説明いたしますので、手順に沿ってnAG数理最適化ソルバーの性能と使いやすさを、ぜひ体験してください。
なお、ご質問やサポートが必要な場合は、お気軽にお問い合わせください。
Pythonで試す場合: nAG Library for Pythonを利用
トライアルライセンスの申請
nAG数理最適化ソルバーを試すには、まずトライアルライセンスが必要です。以下のフォームから申請してください。
ライセンスキーのインストール
テキスト形式のライセンスキーは「nag.key」という名前でホームディレクトリに保存してください。
~/nag.key
nAG Library for Pythonのインストール
以下のコマンドを使用してnAG Library for Pythonをインストールします:
python -m pip install --extra-index-url https://www.nag.com/downloads/py/naginterfaces_mkl naginterfaces
インストールの詳細については、nAG Library for Python インストールガイドをご参照ください。
インストールの確認
以下のコマンドでインストールが正常に完了したことを確認します:
python -c "from naginterfaces import quick_check; quick_check()"
正常にインストールされている場合、“QUICK CHECK: all ok” というメッセージが表示されます。
Exampleの実行
以下のコマンドで様々な最適化問題を解くExampleを実行できます:
非線形計画法ソルバー(内点法):
python -m naginterfaces.library.examples.opt.handle_solve_ipopt_ex
非線形最小二乗法ソルバー(逐次二次計画):
python -m naginterfaces.library.examples.opt.lsq_gencon_deriv_ex
線形計画法ソルバー:
python -m naginterfaces.library.examples.opt.handle_solve_lp_ipm_ex
導関数不要(DFO)非線形最適化ソルバー:
python -m naginterfaces.library.examples.opt.handle_solve_dfno_ex
Exampleの探し方:
最適化チャプターに含まれるExample一覧を得る:
python -m pydoc naginterfaces.library.examples.opt
特定のExampleの概略説明を見る例:
python -m pydoc naginterfaces.library.examples.opt.nlp1_solve_ex
Exampleソースコードの見方:
python -c "import inspect; from naginterfaces.library.examples.opt import nlp1_solve_ex; print(''.join(inspect.getsourcelines(nlp1_solve_ex)[0]))"
その他のリソース
Fortran/Cで試す場合: nAG Libraryを利用
トライアルライセンスの申請
nAG数理最適化ソルバーを試すには、まずトライアルライセンスが必要です。以下のページからライブラリのダウンロードとトライアル申請を行って下さい。
以下の説明は「Windows 64-bit」版のライブラリについてのものですが、他の環境でも大まかな流れは同様です。
ソフトウェアのダウンロードとインストール
ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールを完了します。
詳細はインストールノートをご参照ください。
ライセンスキーのインストール
スタートメニューから
nAG Library (NLW6I30DEL) > nAG NLW6I30DEL Licence, Request or Install
を選択し、受け取ったライセンスキーをインストールします。
環境設定
インストールディレクトリの batch\envvars.bat
を実行して環境変数を設定します。これはコマンドプロンプトなどで実行します。これにより、パスが通り、すぐにnAGライブラリがリンクできるようになります。ただし、この設定はシステム全体には適用されません。
Exampleの実行
以下のコマンドでnAG数理最適化ソルバーのExampleを実行できます:
%nAG_NLW6I30DEL%\batch\nag_example_DLL e04ucf
e04ucfの部分を他のソルバールーチン名に置き換えることで、様々なタイプの最適化問題を解くExampleを実行できます。例えば:
- e04ncf (線形制約付き最小二乗問題用Activesetソルバー)
- e04jdf (導関数不要最適化(DFO)ソルバー)
- e04stf (非線形計画問題用内点法ソルバー)
C言語版のExampleを実行する場合は、ルーチン名の末尾を ‘c’ に変更します:
%nAG_NLW6I30DEL%\batch\nag_example_DLL e04ucc
これらのスクリプトは、カレントフォルダにExampleコード、データ、結果をコピーして実行します。
詳細はユーザーノートのセクション3.3 Exampleプログラムをご参照ください。
その他のサンプルコード
問題タイプ | Fortran | C |
---|---|---|
線形計画問題 | Fortran | C/C++ |
2次計画問題 | Fortran | C/C++ |
線形最小二乗問題 | Fortran | C/C++ |
非線形計画問題(密) | Fortran | C/C++ |
非線形計画問題(スパース) | Fortran | |
大域的最適化問題 | Fortran | C/C++ |