Fixstars Amplify SDK(以下Amplify SDK)バージョン1.0をリリースしました。Amplify SDKは、組合せ最適化問題の定式化および外部の最適化ソルバーの実行を行うためのPythonライブラリです。
Amplify SDKはバージョン1.0で大きく生まれ変わりました。バージョン1.0では、全ての仕様が見直され、より一般的な数理計画モデルの構築を行えるように再設計されました。これまでのようにAmplify SDKでQUBO*1の定式化を行うことも可能ですが、QUBOの枠組みを超えた変数タイプや制約条件であっても、マシンやソルバーの有する求解機能に合わせ、自動的に最大限に性能を引き出せるようなモデル変換・パラメータチューニングが行われます。これにより、Amplify SDKはより幅広いユーザや問題に対応できるようになりました。
以前のバージョンをご利用の方は、移行ガイドを参照してください。多数の新機能追加が行われているため、是非新しいバージョンのご利用をお勧めします。移行がスムーズに行えるように旧バージョンとの互換レイヤを用意しています。もちろん、これまでのバージョンを使い続けることも出来ます。以前のバージョンのドキュメントはこちらをご参照ください。
主な変更
QUBOを超えた定式化へ
整数変数・実数変数*2を用いた任意の次数の多項式による定式化に対応しました。今後はより一層幅広い対応クライアントの追加が続々と行われます!
これまで以上に直感的で、高い柔軟性と高速な動作の両立を実現
- 従来より5倍以上高速化、ほかのモデリングツールより10倍~100倍高速
- わかりやすいドキュメントと豊富なサンプルコードを提供
従来バージョンからの移行は移行ガイドを参照してください。
その他多数の新しい機能
- Python3.8 – 3.12をサポート
- Linux/Windows/MacOSの全ての環境に対応
- ソルバーの実行時間やAmplify SDKの処理時間の解析
- ソルバーの直列実行・並列実行の機能
- 型ヒントサポートによるコーディング支援
- Jupyter Notebook上のLaTeXによる数式の表示に対応
*1 QUBO(Quadratic Unconstrained Binary Optimization)は、0か1の値を取る変数を用いて量子アニーリングマシンやイジングマシンなどで「組合せ最適化問題」を解く際に用いる形式
*2 実数変数からバイナリ変数への変換は後日対応予定
ご利用に関してご不明な点がございましたら、テクニカルサポートへお問い合わせください。