【发布时间】:2018-02-22 11:46:40
【问题描述】:
我有一个数组 - X[(i,j,l)],它由 3 个索引的元组索引,i 和 j 的索引从 1 到 n,l 的索引从 1 到“层” ”。我的数组是二进制的 - 每个元素的值是 0 或 1。
我在 opl - 在 CPLEX 中运行优化问题后得到了这个数组。
我想在模型窗口中使用 javascript 中的执行代码将 X 的值读取为多维数组 X[i][j][l]。
这是我尝试过的:
var ofile_varx = new IloOplOutputFile("initial_varx.csv");
ofile_varx.writeln(x);
var x_arr=new Array (n);
for (var i=0; i<n; i++) {
x_arr[i]=new Array (n);
for (var j=0; j<n; j++) {
x_arr[i][j]=new Array (layers);
}
}
for (var tup in ijl) {
x_arr[tup.i][tup.j][tup.l]=x[tup];
}
我从最后一行得到一个错误,说它不能将属性“null”分配给数组。
知道如何访问我请求的数组 x_arr 吗?
谢谢!
【问题讨论】:
-
请分享相同的输入格式示例和预期输出。
-
ofile_varx.writeln(x);x是什么,我看不到 x 那么为什么该行存在?n是什么?是typeof n === "undefined"?您在演讲中引用了X[i][j][l],但我们是否假设X是x_arr?(var tup in ijl)在哪里定义ijl? -
欢迎来到 StackOverflow。也许从stackoverflow.com/help/how-to-ask 开始,然后修改您的问题以包含更完整的示例。
-
X 被给出(一个二进制数组,它的项只能通过值为
的索引来访问)。我想我现在设法将 x_arr 输入到 csv 中。我的问题是索引:x_arr[tup.i-1][tup.j-1][tup.l-1]。虽然无法像在 python 中那样轻松打印或导出结果,但我得到了我想要的结果。谢谢! -
ijl 当然是在 opl 中定义的。我想用 X 创建 x_arr。我想我成功了。
标签: javascript arrays tuples opl