我是AMPL的新手,似乎无法解决以下语法错误:
NaN
我无法理解为什么错误似乎出现在方括号中,因为我认为下标应始终在方括号内定义。
任何提示都很可爱!
提前致谢。
答案 0 :(得分:2)
经过一些实验,我发现了我的错误,所以会在这里分享,以防其他人遇到同样的问题。
我最初忘记在最初陈述变量
时指定下标在下面找到我修改过的(工作)代码:
set I := {1, 2, 3, 4};
set J := {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
set K := {1, 2, 3, 4, 5, 6};
var d{I} >=0;
var x{I,J,K} binary;
minimize Total_Cost: sum {i in I, j in J, k in K} x[i,j,k] * d[i];
答案 1 :(得分:0)
声明变量时,您也必须声明其索引。在您的情况下,问题出在" x"。
你必须像这样写你的模型:
set I := {1, 2, 3, 4};
set J := {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
set K := {1, 2, 3, 4, 5, 6};
var d{i in I} integer >=0;
var x{i in I, j in J, k in K} binary;
问候!