如何在Cplex中使用'IloOplOutputFile'写多个索引的变量?
How to use 'IloOplOutputFile' in Cplex to write variables with more than one index?
我正在尝试将结果数据写入外部文件,因为我在 运行 代码 16 小时后遇到错误。
我找到上面的代码,它适用于具有一个索引的变量,但我的变量没有一个索引。甚至还有带有 4 个索引的变量。我怎样才能使这段代码适应我的情况?
execute{
var ofile = new IloOplOutputFile("modelRun.txt");
ofile.writeln("Data:");
for(var i in thisOplModel.r){
ofile.writeln("d["+i+"+"]="+thisOplModel.d[i]]);
}
ofile.writeln("Optimal objective value="+cplex.getObjValue());
ofile.writeln("Optimal variable values:");
for(i in thisOplModel.r){
ofile.writeln("x["+i+"]="+thisOplModel.x[i]);
}
ofile.close();
}
感谢您的帮助!
如果 x 是 4D 数组而不是:
for(i in thisOplModel.r){
ofile.writeln("x["+i+"]="+thisOplModel.x[i]);
}
你可以直接写:
ofile.writeln("x="+thisOplModel.x);
关于显示 4 维数组:
range r=1..2;
int x[i in r][j in r][k in r][l in r]=i+j+k+l;
execute
{
writeln("x=",x);
}
这给出了
x= [[[[4 5]
[5 6]]
[[5 6]
[6 7]]]
[[[5 6]
[6 7]]
[[6 7]
[7 8]]]]
我正在尝试将结果数据写入外部文件,因为我在 运行 代码 16 小时后遇到错误。
我找到上面的代码,它适用于具有一个索引的变量,但我的变量没有一个索引。甚至还有带有 4 个索引的变量。我怎样才能使这段代码适应我的情况?
execute{
var ofile = new IloOplOutputFile("modelRun.txt");
ofile.writeln("Data:");
for(var i in thisOplModel.r){
ofile.writeln("d["+i+"+"]="+thisOplModel.d[i]]);
}
ofile.writeln("Optimal objective value="+cplex.getObjValue());
ofile.writeln("Optimal variable values:");
for(i in thisOplModel.r){
ofile.writeln("x["+i+"]="+thisOplModel.x[i]);
}
ofile.close();
}
感谢您的帮助!
如果 x 是 4D 数组而不是:
for(i in thisOplModel.r){
ofile.writeln("x["+i+"]="+thisOplModel.x[i]);
}
你可以直接写:
ofile.writeln("x="+thisOplModel.x);
关于显示 4 维数组:
range r=1..2;
int x[i in r][j in r][k in r][l in r]=i+j+k+l;
execute
{
writeln("x=",x);
}
这给出了
x= [[[[4 5]
[5 6]]
[[5 6]
[6 7]]]
[[[5 6]
[6 7]]
[[6 7]
[7 8]]]]