19

GAMS と AMPL のユーザーから、それぞれの言語の長所と短所について意見を聞きたいです。

4

3 に答える 3

18

機能的にはほとんど同じで、ほとんどの種類の最適化問題を表現できます。個人的には、AMPL の方が直感的で表現力豊かな構文を備えており、本の中で非常に詳しく説明されているため、私は AMPL を好みます。AMPL のもう 1 つの重要な利点は、商用であるという事実にもかかわらず、オープン ソースの代替手段であるGNU MathProgがあるため、ベンダー ロックインを回避できることです。一方、GAMS は、新しいAMPL IDEの導入により変更されましたが、AMPL 用に存在していたものよりも高度な IDE を使用していました。

ウィキペディアの記事AMPLGAMSで、AMPL と GAMS で定式化された George Dantzig の同じ輸送問題の例を見つけることができます。

于 2010-10-24T18:14:47.220 に答える
5

このブログには次のように書かれています。

どちらのシステムも機能が優れており、広く使用されているため、どちらを選択しても間違いはありません。同僚や共同研究者が使用するモデリング システムにポイントを追加することをお勧めします。これにより、モデルとデータの交換が簡単になり、問題、トリック、問題などについて話し合うときも簡単になります。

Bob Fourer (AMPL) は次のように答えました。

競合する 2 つのシステムについて同等に専門的なアドバイスを提供できる人を見つけるのは困難です。一方のシステムに慣れると、通常、もう一方のシステムについて学び続ける動機があまりないからです。しかし、偏りのない私の見解からのコメントをいくつか紹介します。

AMPL は、GAMS よりも数学表記にはるかに近く、一般的にはより自然に使用できるように設計されており、その点では優れています。GAMS モデルは通常、対応する AMPL よりも特別な規則と定式化に依存しています。適切な例は、さまざまな条件を課すために GAMS $ 演算子を頻繁に使用することです。また、IDE にもかかわらず、GAMS は基本的にバッチ システムに近いものですが、AMPL はモデルと結果をインタラクティブに探索するためのより柔軟なオプションを提供します。最後に、特定の分野では GAMS が長年の使用によって確立されていますが、特に既存の GAMS モデルに依存しない新しいプロジェクトに着手している場合は特に、これらの分野のモデラーが AMPL を選択しているのを目にします。

私の意見では、AMPL と GAMS は実際にはここで提案されているよりも近いものです (たとえば、GAMS で $ を使用する場合、AMPL では : を使用します)。実際の作業を行うときは、GAMS 構文の方が少しコンパクトで、合計がどこで終了するかが明確であるため、実際には少し好みです (AMPL ではこれは演算子の優先度に基づいており、GAMS では合計は括弧で視覚的に囲まれています)。

于 2010-06-02T17:41:31.483 に答える
0

私の意見では、すべての構文に関する考慮事項は、実際には好みの問題です。AMPL 言語と GAMS 言語はどちらも習得が容易であり、考慮できるモデルの種類に関してほぼ間違いなく同じ範囲を提供します。

この投稿を書いている時点で、GAMS はより多くのソルバーを提供しています。そうは言っても、AMPL のソルバーのリストは、GAMS ソルバーのリストのサブセットではありません。特定のアプリケーションについては、AMPL または GAMS を購入する前にソルバーのベンチマークを行うことをお勧めします (たとえば、最適化のために NEOS サーバーを介して)。

個人的にはAMPLの構文の方が数学表記に近いので好きです。ただし、主にソルバーの可用性と、多くの業界で組み込まれている/証明されているため、産業用アプリケーションには GAMS を好みます。これにより、すでに GAMS を使用している産業パートナー/クライアントとの対話が簡素化されることがよくあります。

于 2013-08-21T20:47:18.743 に答える