2016-04-07 41 views
-1

オープンソースソルバーを使用してcplex .modと.datファイルをglpk .modと.dat(別々のモデルとデータファイル)に変換し、次に異なるデータファイルでモデルをコンパイルすることをお勧めします。 私が知る限り、glpsolはopl cplex .modファイルの読み込みコマンドを提供しません。 cplexはオープンソースではなく、lp/mps形式はモデルとデータファイルを別々に変換しないので、oplrunでmpsまたはlpファイルをエクスポートしてからglpk .modファイルに変換する必要はありません。コマンドラインでcplex * .modファイルをglpk * .modファイルに変換する方法は?

+0

何か試しましたか?例えば、[glpsolマニュアル](https://en.wikibooks.org/wiki/GLPK/Using_GLPSOL)を参照してください。 –

+0

はい、確かです。私のモデルは非常に複雑なので、私はそれをソルバを通して十分な.modファイルに変換できるかどうか疑問に思っていました。 Cplexは.modと.datファイルをさまざまな形式にエクスポートできますが、残念ながらampl .modと.datファイルはその1つではありません。私が持っている大きな要件の1つは、modと.datファイルを別々にo.wでコンパイルすることです。私はglpsolや他のソルバーの朗読によって読み込み可能な.lpまたは.mpsファイルを使用します。 –

答えて

1

ほとんどのソルバー(たとえばCPLEXおよびGLPK)は、(フリー)mpsまたは同様のファイル(純粋な最適化問題のみを含む)を理解します。 データベース接続、出力機能、または分離されたデータファイルなどの他のすべての機能は、専用の数学/最適化プログラミング言語(OPLやGMPLなど)でのみ利用できます。

数学プログラミング言語からmpsまたは関連する一方向変換プログラムを使用するのが一般的ですが、1つの数学プログラミング言語を別の言語に変換できるインポート/エクスポート関数やパーサはありません。

opl-syntaxからgmpl-syntaxへ翻訳作業を自分で行い、構造と機能を組み込む必要があると思います。 CplexとGLPKソルバーは複雑な問題の性能が異なるため、静かなので、モデルコードを別のプログラミング言語に移行する前に、GLPKでエクスポートされた.mpsファイルを(妥当な時間内に)解決できるかどうかを最初に確認してください。

+0

ご回答いただきありがとうございます。モデルからmpsファイルをエクスポートする際のCPLEXは、関連する.datファイルが必要で、それらを組み合わせて.mpsファイルを作成します。モデルに関連付けられていないモデルのみをmpsに変換する方法はありますか? –