3

変数 x[i][j][k] を使用して問題をモデル化したい。

リファレンス マニュアルのどこにも、サイズが 1 次元を超える変数を作成する方法についての言及はありません。

http://pic.dhe.ibm.com/infocenter/cosinfoc/v12r4/index.jsp?topic=%2Filog.odms.cplex.help%2Frefjavacplex%2Fhtml%2Filog%2Fcplex%2FIloCplex.html

4

2 に答える 2

4

このスニペットは、[0,1]に3つのインデックス付き連続変数x、x [i][j][t]を作成する例を示しています。

  IloNumVar[][][] x = new IloNumVar[numNodes][numNodes][numDays];
  for(int i = 0; i < numNodes; i++) 
  {
    for(int j = 0; j < numNodes; j++)
    {
      //cplex is an instance of class IloCplex
      x[i][j] = cplex.numVarArray(numDays, 0, 1); 
    }
  }
于 2012-11-27T23:43:55.093 に答える
1

多次元モデリングは非常に日常的です。

IBM 提供の例を次に示します。

また、IBM の「Modeling with IBM ILOG CPLEX CP Optimizer – Practical Scheduling Examples」は、実際に開始するのに非常に適した場所です。多くの多次元の例がありますが、ほとんどは OPL と同様であり、使用する必要はありません。

そして、これは 2 次元を使用する完全な例です。 具体的には、変数 nutrPerFood には次元として i と j の両方があります。

 // nutrPerFood[i][j]   nutrition amount of nutrient i in food j

 double[][] nutrPerFood; 

そして、あなたはそれを呼び出すときにそれを使用しますIloMPModeler

このチュートリアルは、さまざまな Ilog 呼び出しに慣れるのにも役立ちます。

それが役立つことを願っています。

于 2012-11-27T20:45:31.090 に答える