2016-10-17 10 views
0

私はCPLEXのPythonのAPIに新しいですが、私はCPLEX OPLで働いていたが、OPLで、あなたは簡単にこの目的関数マックスを書くことができます[合計C_ij * X_ij]のように:は、IBM CPLEXのPython APIでサメイションを書くためにどのように

Python APIを使用するには、ベクトル形式Max C * Xで定義する必要があります.CとXは両方とも係数のベクトルであり、(x、y)変数。 C_ij行列からベクトル形式を作る必要があります。

私たちがOPLでやっているような行列形式で書く方法はありますか?

答えて

0

CPLEX Python APIはこれをサポートしていませんが、DOcplex Modeling for Python APIはOPLに似ています。後でのクイックスタートについては、Creating a MP model in a nutshellページ、リファレンスマニュアルのModel.sumを参照してください。

+0

あなたの言ったことを言いたいだけです。 Cplex Python APIは1 dimention vecorしかサポートしていませんが、a_ijkを記述したい場合は3次元配列を使用できませんので、1次元ベクトルに変換する必要がありますか? –

+0

はい、そうですね。 CPLEX Python APIには、[SparsePair](http://www.ibm.com/support/knowledgecenter/SSSA5P_12.6.3/ilog.odms.cplex.help/refpythoncplex/html/cplex._internal._matrices.SparsePair)があります。 -class.html)および[SparseTriple](http://www.ibm.com/support/knowledgecenter/SSSA5P_12.6.3/ilog.odms.cplex.help/refpythoncplex/html/cplex._internal._matrices.SparseTriple-class)を参照してください。 html)クラスを使用してスパース行列を表しますが、1次元のリストでこれらを構築します。 – rkersh

+0

あなたはとても助かりました。最後の質問。 OPLでモデルを作成してLPモデルファイルとして保存し、Pythonでこのモデルを呼び出したり使用したりすることは可能ですか?すなわち、OPLでモデルを書いて、Pythonで入力パラメータを与えますか? –

関連する問題