这种错误通常发生在尝试在参数中使用无效或不适当的下标时。为了解决此问题,您可以检查您的代码中是否存在任何使用无效下标的地方,并尝试更改它们以使用适当的下标。
例如,以下代码片段中出现了类似的错误:
param A{i in 1..3, j in 1..4}; param b{i in 1..3, j in 1..4};
param c{i in 1..3} := A[i,5]; # 错误的下标 param d{i in 1..3} := b[i,2]; # 合法的下标
在这种情况下,您可以更改c参数的下标以使用有效的下标(例如A[i,4]),或者确保您的下标在有效范围内。
上一篇:AMPL:变量已经被定义。
下一篇:AMPL:集合的语法?