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] 中创建三个索引连续变量 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 的“使用 IBM ILOG CPLEX CP Optimizer 建模 – 实际调度示例”实际上是一个非常好的起点。它有许多多维示例,尽管大多数与 OPL 中的示例一样,但您不必使用这些示例。

而且,这是一个使用二维的完整示例。 具体来说,变量 nutrPerFood 具有 i 和 j 作为维度。

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

 double[][] nutrPerFood; 

你打电话时使用它IloMPModeler

本教程对熟悉各种 Ilog 调用也很有帮助。

希望有帮助。

于 2012-11-27T20:45:31.090 回答