我正在尝试使用 cplex 在 java 中定义二元决策变量。这是一个二维变量。这意味着如果一条路径从特定站点开始,则它应该为 1,否则为 0。我有一组站点 J 和一组路径 K,我的决策变量是 Z_jk。目前我正在定义如下代码,但它不起作用。有人可以帮我吗?
提前致谢。
// define variables
z = new IloNumVar[stations_start.size()][];
for (int j=0; j<stations_start.size();j++) {
z[j] = cplex.numVarArray(paths.size(),0,1);
for (int k=0;k<paths.size();k++) {
z[j][k] = cplex.numVar(new_column, 0, 1,"z");
z[j][k].setName("z."+j+"."+k);
}
}
您正在尝试创建二元决策变量的二维数组。您遇到什么错误?
尝试查看 CPLEX 提供的一些示例代码。例如,请参阅 Transport.java,其中包含一些声明和初始化的二维变量数组,如下所示:
IloNumVar[][] x = new IloNumVar[nbSupply][];
IloNumVar[][] y = new IloNumVar[nbSupply][];
for (int i = 0; i < nbSupply; i++) {
x[i] = cplex.numVarArray(nbDemand, 0., Double.MAX_VALUE);
y[i] = cplex.numVarArray(nbDemand, 0., Double.MAX_VALUE);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)