AMPL:モデリングツール
AMPLは、高度な代数表現を備えた開発環境を提供することで、開発全体のサイクル(定式化、テスト、運用、メンテナンス)をサボートします。
最適化データや変数、目的関数、制約条件を記述するための最適化モデリング言語、モデルのデバッグおよび結果の解析を行うためのコマンド、そして、データを操作して最適化の戦略を実行するスクリブト言語が統合されていて、最新のアプリケーション構築のために、すべて同じコンセブトと文法に統一されています。
人が考える方法と同じやり方で最適化モデルを容易に記述できるAMPLを活用することで、ユーザは様々な最適化ブロジェクトを成功へと導くことができます。
AMPL
パワフルなモデリング言語の機能
- 集合と集合演算子を、幅広くサポート。AMPLモデルでは、二つ組集合、三つ組集合、より長い組の集合、添え字付き集合、順序付き集合、順序無し集合、巡回集合、数の集合等も使用できます。
- 代数式、論理式、条件式のための一般的で自然な文法、合計や他の反復演算子のための慣れ親しんだ書式。
- 連続変数、整数変数の線形および凸二次問題を自動処理。
- 主双対変数の初期値、ユーザ定義関数、高速自動微分記述、定義した変数の自動除去機能などの非線形計画機能。
- ネットワークフロー、区分的線形、相補性制約、論理制約のための便利な記述法。
価値あるモデリングサポート機能
- バッチ処理オプションが付いた対話型のコマンド環境。どんなモデルの構成要素または表現でも、自動化された形式もしくは好みの形式で、スクリーン上に展開またはファイルに書き込みができるパワフルな表示コマンド。
- 反復および if-then-elseコマンドを含むパワフルなスクリプト言語。AMPLコマンド言語のプログラムは、データ入力、繰り返し行われる調整および複数モデルのインスタンスの求解、解析のための結果の準備を実行する洗練された相互作用のスキームを定義できます。
- モデルとデータを区別。集合およびデータのテーブルが大きくなっていっても、AMPLモデルは簡潔さを維持することができます。モデルは、データの有効性のための様々な種類の条件に組み込まれるかもしれません。
- データ入力および出力のための接続。簡潔な構文が、モデルデータおよび結果とリレーショナルデータベース内のテーブルの内容とを関連付けします。
AMPL BOOK
AMPLの公式ブックとして知られる著名な「AMPL: A Modeling Language for Mathematical Programming」(著者:Robert Fourer氏、David M. Gay氏、Braian W. Kernighan氏)の日本語版を用意しています。
日本語版は、メンバーページからダウンロードができます。
サポートプラットフォーム
AMPLは、下記のように、広く使用されているコンピュータおよびオペレーティングシステムの組み合わせに対応しています。
なお、Gurobi Optimizerと共にAMPLを利用される場合は、、Gurobi Optimizerのサポートプラットフォームに準じます。また、非線形ソルバー(非線形ソルバーへのページにリンク)とAMPLをご利用される場合、ご利用されたい非線形ソルバーのサポートプラットフォームがご不明の場合は、弊社までお問い合わせください。
コンピュータ / プロセッサ | オペレーティングシステム |
Apple Macintosh / Intel | OS Xの全てのバージョン |
IBM Power Systems | AIX |
IBM Power Systems | Linux |
Intel Itanium | Linux |
Intel x86/x64または互換プロセッサ | Linuxの全てのバージョン |
Intel x86/x64または互換プロセッサ | Solaris |
Intel x86/x64または互換プロセッサ | Windowsの全てのバージョン |
Sun SPARC | Solaris |
AMPLオプション
AMPLをより迅速に、より強力に
AMPLをより使い易くするためのオプションをご案内します。これらオプションは、AMPLのユーザであれば、追加費用なくご利用できます。
AMPL IDE
新しい統合開発環境として、シンプルながらも機能が強化されたモデリングインターフェースを提供します。コマンドは従来通り、AMPLプロンプトに入力できます。
【IDE の利点】
- AMPLコマンドとエディタウィンドウを統合
- モデルとデータファイルの構文の強調表示
- エラーした場所へのクイックリンク
- 一貫した外観と操作方法
AMPL IDEは、Windows、Linux 、MacOS の広く使われている全てのバージョンをサポートしています。セットアップは、標準の AMPLコマンドラインでのインストールの拡張として簡単にできます。
また、AMPL IDEをインストールしても、バッチ実行やその他の用途として従来のコマンドラインの AMPLアプリケーションも使用することができます。
AMPL IDEは、弊社のメンバーページからダウンロードできます。
AMPL API
AMPLモデルと AMPLコマンドを、外部プログラムから呼び出すためのライブラリです。オブジェクト指向の呼び出しも可能で、データと計算結果は、 AMPLモデルエンティティと外部言語のデータ構造間で直接的かつ効率的 に交換可能になります。
下記を対象範囲に含めることができます。
- 複雑なアルゴリズムスキームに対するプログラミング
- エンタープライズアプリケーションへのAMPLの組込み
- AMPLモデルの配備
AMPL APIは、C++、C#、Java、MATLAB、Python、Rに対応しています。AMPL Python API(AMPL PY)スタートガイド(日本語版)は、メンバーページからダウンロードできます。AMPL APIの入手方法は、弊社までお問い合わせください。
AMPLテーブルハンドラ
AMPL内での索引付きデータ構造は、データを扱うアプリケーションで広く使われているリレーショナルデータベースのデータ構造と多くの共通点を持っています。AMPLの table宣言によって、AMPL上のセット、パラメータ、変数、式表現と他のソフトウェアによって保たれている関係テーブルの間に明示的な接続を定義することにより、類似性の恩恵を受けることができるようになります。AMPLのread tableとwrite tableコマンドは、AMPLにデータをインポートする場合とAMPLの解データをエクスポートする場合に、この接続を使用しています。
table、read table および write table の全機能の使用方法のチュートリアルは、AMPL BOOKの第10章をご覧ください。(AMPL BOOKは、メンバーページからダウンロードできます。)
AMPLテーブルハンドラは、AMPの基本モジュールに含まれています。
拡張機能ライブラリ
AMPLを拡張し、GNU Scientific Libraryから選択した300以上の関数を追加するライブラリです。科学、統計、多くのユーティリティ関数および多様な乱数生成器を含んでいます。インストール後宣言されると、これらの関数はAMPLモデルかスクリプト内の全ての場所で有効となります。目的関数内か制約条件内の変数に適用するとソルバーに送信され、自動的に呼び出され適応されます。
このようにして関数評価に依存したソルバーは、ライブラリ関数を適応した式表現に対して、最適化をすることが可能になります。ライブラリ内の連続関数の多くは、いくつかのソルバーが要求する一次微分と二次微分の評価も提供しています。
拡張機能ライブラリは、以下からダウンロードできます。
AMPLスプレッドシートインターフェース
AMPLスプレッドシートインターフェースは、AMPLとスプレッドシート(.xlsxファイル)とのやり取りをサポートするため新しく追加されたインターフェースです。
.xls形式のファイルはこれまでも提供されていましたが、.xlsx形式の入出力も正式にサポートされるようになります。これにより、高速で信頼性の高い入出力を提供します。既存のAMPLに対して専用のdllを追加するのみで、容易に導入が可能です。また、table書式との互換性も高く、移行にあたって既存のAMPLコードの修正もほとんど必要ありません。
AMPLスプレッドシートインターフェースは、メンバーページからダウンロードができます。メンバー登録がお済みでない方は、こちらよりご登録ください。
ライセンス
購入前の製品評価目的に限定された評価版に関しましては、「ライセンス(評価版&アカデミック版)」をご確認ください。
導入後も充実の「テクニカルサポート」
弊社の製品の年間保守加入ユーザに、弊社は製品のテクニカルサポートを提供しています。製品の使い方やインストール方法等の製品に関するお問い合わせを、メール、電話でお受けしています。お問い合わせに対する迅速で的確な回答が、お客様のスムーズな製品運用を支援します。