Google ColabでnAG Library for Pythonを使用する

Google Colabは、ブラウザからPythonプログラムを書いて実行できる無料のクラウドサービスです。ここでは、nAG Library for PythonをGoogle Colabで利用するための基本的な手順をご紹介します。

基本設定

ステップ1: nAGライブラリのインストール

新しいセッションを開始するたびに、以下のコマンドを実行してnAGライブラリをインストールします。これは、Google Colabが提供する仮想マシンが一時的なものであり、セッションが終了すると環境がリセットされるためです。

!python -m pip install --extra-index-url https://www.nag.com/downloads/py/naginterfaces_nag naginterfaces
Google Colabへ<i>n</i>AG Library Pythonをインストールしているところ

ステップ2: ライセンスキーの取得

nAG Library for Pythonを使用するには、ライセンスキーが必要です。以下の2種類のライセンスキーがあります:

  • トライアルキー: 評価目的で使用できる無料のキーです。nAGのウェブサイトからトライアルキーを取得できます。トライアルキーは1ヶ月間有効で、すべての機能が利用可能ですが、トライアル目的以外での使用は許可されていません。

  • 正規ライセンスキー: 製品版のキーです。ANNUALライセンスを購入すると、ライセンスキーがメールで送られてきます。正規ライセンスキーは1年間有効で、研究や学習などのアカデミック利用や商用利用が可能です。

ライセンスキーは、個人または組織に紐づいています。他者と共有したり、不正に使用したりしないようにしてください。

ステップ3: Googleドライブのマウント(オプション)

コードやライセンスキーを永続的に保存したい場合、Googleドライブをマウントします。これにより、セッション間でもファイルを維持できますが、ドライブのマウントはセッションごとに必要です。

from google.colab import drive
drive.mount('/content/drive')

ステップ4: ライセンスキーファイルの設定

以下のYOUR-LICENCE-KEY HEREになっている部分を実際のライセンスキーで置き換えて実行してください。

key_path = '/content/nag_key.txt'

with open(key_path, 'w') as f:
    f.write("""
YOUR-LICENCE-KEY HERE
    """)
    # 例(サンプルで無効なキーです) NLL6I29XV TRIAL 2024/04/18 "t=eRGcGsoKgejkbYoltUdUmjb9"

import os
os.environ['nAG_KUSARI_FILE'] = key_path

これらの操作は、セッション内で1回行えば、そのセッション内の後続のセルで有効です。

ステップ5: クイックチェックの実行

セルに以下のコマンドを打ち込み、インストールが正しく完了したかを確認します。

!python -c "from naginterfaces import quick_check; quick_check()"

問題がなければ、各種情報が表示され、最後に以下のように all ok と表示されます。

QUICK CHECK: all ok

このチェックが失敗した場合は、以下の点を確認してください:

  • ライセンスキーが正しく設定されているか
  • ライセンスキーの有効期限が切れていないか
  • nAGライブラリが正しくインストールされているか

問題が解決しない場合は、nAGのサポートにお問い合わせください。

nAGライブラリの基本使用方法

Rosenbrock関数の最小化

以下のコード例は、Rosenbrock関数を最小化するものです。セルにコピーしてお試しください。

# ライブラリのインポート
from naginterfaces.library.opt import bounds_quasi_func_easy

# 目的関数の定義(Rosenbrock関数)
rosen = lambda x: (
   sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1.0-x[:-1])**2.0)
)

# 初期値の設定
x = [1.2, 1.0, 1.2, 1.0]

# 変数の数を取得
n = len(x)

# 境界条件の設定
bl, bu = ([0.0]*n, [2.0]*n)
ibound = 0

# ソルバーの呼び出しと最適化問題の解決
opt_soln = bounds_quasi_func_easy(
   ibound, rosen, bl, bu, x,
)

# 最適解における目的関数の値を表示
print('Function value at lowest point found is {:.5f}.'.format(opt_soln.f))

# 最適解の変数の値を表示
print('The corresponding x is (' +
   ', '.join(['{:.4f}'] * n).format(*opt_soln.x) +
').')

この例では、Rosenbrock関数の最小化を行っています。最適化の設定には、初期値、変数の数、変数の下限と上限、境界条件などを指定します。最小化の実行後、最適点での関数値と変数の値が表示されます。

以上が、Google ColabでのnAG Library for Pythonの基本的な使用方法です。nAG Library for Pythonにいては、製品ご案内ページ及びマニュアルページをご参照ください。

関連情報
© 日本ニューメリカルアルゴリズムズグループ株式会社 2025
Privacy Policy  /  Trademarks