2016-08-20 11 views
-1

最適化問題にGAMSの代わりにMatlabを使用できますか?彼らはどのように比較するのですか?言い換えれば、いくつかのmatlabツールボックスでgamsで解決されるすべての問題を解決できますか?最後にMatlabの最適化ツールの一覧は何ですか?最適化でgams vs matlabを比較する方法

答えて

0

MatlabとGAMSは、モデリングに近づく方法が大きく異なります。 GAMSは方程式の概念に沿って構成されています(基本的に最適化モデルは方程式の集合です)。これは、LP、MIP、MINLP、および他のタイプのモデル用です。これらの方程式は、あなたが数学で物事を書く方法に大きく似ています。 Matlabは、最適化モデル(LP/MIP)を行列(または等式や不等式を扱うかどうかによって2つの行列)として表示します。これらの1つまたは2つの行列にあなたの制約を移入することによってそれらの制約を変換する必要があります。モデルによっては、これは難しい作業です。構造化されたモデルではそれほど悪くはありませんが、大規模で複雑なモデルの場合、GAMSアプローチははるかに自然で便利です。

GAMSのNLP問題は、LPに似ています。 GAMSは自動微分を使用しているため、グラジエントを書き込む必要はなく、GAMSは大規模なNLP問題をターゲットにしています。 MatlabはNLPソルバーで関数を使用しますが、これらは小規模な問題に最適です。勾配は、ユーザによって提供される。

GAMSは多くのソルバーをサポートしています。 MATLABには最適化ツールボックスがありますが、これらのソルバは主に中小モデルを対象としています。多くの最先端のソルバーには、Matlabインターフェース(Cplex、Gurobiなど)が備わっていると言われています。

GAMSで利用可能なソルバーはすべてMatlabから直接呼び出すことはできませんが、多くの場合(外部ツールボックスを使用することもあります)。

+0

Matrix形式で作成されたすべての問題はすべてMATLABで解決できます。拘束された非凸整数プログラミング? – Hamid

+0

グローバルソリューションが必要な場合、これらの問題は通常小さいです。 GAMSは、Baron、Antigone、Couenneなどの優れたグローバルソルバをサポートしています。 Matlabグローバルツールボックスは、最適性を証明することができないヒューリスティックな方法に対応しています。これらのメソッドは行列形式を使用しません。 –

+0

私の場合、これは小さくないので、グローバルソリューションかローカルソリューションに収束しているかどうかを確認する方法はわかりません – Hamid

関連する問題