私は「インテリジェントな意思決定」に関するクラスを受講しました(これは主に問題最適化クラスでした)。クラスでは、AMPLとソルバーを拡張する方法について学びました。最近はあまり聞いたことがなく、求人情報も見たことがありません。
私の質問は:AMPLはもう使用されていますか?もしそうなら、それは何のために使われていますか?
はい、AMPLをMatlabに置き換えることができることは理解していますが、AMPLは無料であり、Matlabも近くにありません。
あなたはとても混乱しています。
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)によって作成されました。
YALMIPと呼ばれるmatlabツールボックスを使用すると、Matlab内で定式化を行うことができます。これにより、他の前処理または後処理の要件との統合が非常に簡単になります。
私は以前AMPLユーザーでしたが、YALMIPを見つけた後、AMPLをあまり使用しなくなりました。これにより、AMPLにフィードするデータを準備し、出力を処理するためのコードを記述する時間を節約できます。