1

私は「インテリジェントな意思決定」に関するクラスを受講しました(これは主に問題最適化クラスでした)。クラスでは、AMPLとソルバーを拡張する方法について学びました。最近はあまり聞いたことがなく、求人情報も​​見たことがありません。

私の質問は:AMPLはもう使用されていますか?もしそうなら、それは何のために使われていますか?

はい、AMPLをMatlabに置き換えることができることは理解していますが、AMPLは無料であり、Matlabも近くにありません。

4

3 に答える 3

19

あなたはとても混乱しています。

AMPLとMatlabはまったく異なるものであり、一部のアプリケーションドメインで交差する場合がありますが、まったく異なるタイプの問題を解決することを目的としています。

AMPLは、最適化問題を記述するための言語です。それ自体は何もしません。ユーザーがソルバーと対話するための手段を提供するだけです。ソルバーは、線形計画法(CPLEX)、非線形計画法(Ipopt)、またはその他のより難解な種類のものにすることができます。

Matlabは、テクニカルコンピューティング用の言語です。線形代数、微分方程式、統計、および-確かに-いくつかの最適化-Matlabの最適化機能はAMPLの隣にあります。

AMPLは自動微分を介して正確な一次および二次導関数を提供します。これはGAMSだけが測定できる重要な機能です。それがどれほど重要で難しいかわからないかもしれませんが、私を信じてください。

「AMPLコーダー」というものがないので、誰もその仕事を提供しません。仕事は、最適化とは何か、そしてどのツールが最前線にあるかを知っている人に提供されます。同様に、「Matlabコーダー」の仕事を提供する人は誰もいません。彼らは、Matlabを知っているエンジニアに仕事を提供します。

最後に、AMPLは無料ではありません。学生版は学習目的でのみ無料で使用できます。このようなバージョンでは、100個の変数と制約に制限されています(これが何を意味するかはご存知だと思います)。本格的なAMPLが必要な場合は、ライセンスとソルバーのライセンスをそれぞれ支払う必要があります。Ipoptはオープンソースですが、Cplexはかなり高価です。

はい、AMPLはまだ使用されており、非常にそうです。私はそれを最適な宇宙船の軌道の計算に使用していますが、私を信じて、何も近づいていません。私はMatlabが大好きですが、真剣な最適化のためにMatlabを使用することは、スプーンを使用して食品の缶を開けるようなものです。成功するかもしれませんが、血と涙があります。

AMPLとMatlabには、共通点が1つあります。どちらも、分野の最前線にいる優秀な科学者(Moler-> Matlab、Gay-> AMPL)によって作成されました。

于 2009-11-25T07:46:23.810 に答える
0

YALMIPと呼ばれるmatlabツールボックスを使用すると、Matlab内で定式化を行うことができます。これにより、他の前処理または後処理の要件との統合が非常に簡単になります。

私は以前AMPLユーザーでしたが、YALMIPを見つけた後、AMPLをあまり使用しなくなりました。これにより、AMPLにフィードするデータを準備し、出力を処理するためのコードを記述する時間を節約できます。

于 2010-04-27T07:29:15.957 に答える
0

GAMSとAMPLはドメイン固有言語ですが、私は最近、汎用言語内の最適化ライブラリを好みます。

最先端のプログラミング言語機能、エディター、デバッガー、大規模なサポートベース、他のライブラリとの簡単な統合(IOやデータの視覚化など)、および特定の最適化モデルの大規模なモデルへの簡単な埋め込みを利用できます。

Pyomo(Pythonの場合)とJump(Juliaの場合)は、非線形問題を含む最適化問題を記述するための、最もよく知られている、高速で機能が完全な2つの実装である可能性があります。

于 2017-08-03T08:18:28.480 に答える