如何在AMPL中定义一个用一个值填充的一元或多维数组? 有这样的东西吗?
param ARRAY {i in 1..1000} [i] := 20;
应导致:
[20, 20, 20, ..., 20]
答案 0 :(得分:1)
您快到了,但是我会提供几个额外的选择:
param ARRAY{i in 1..1000} := 20;
# sets all values to 20
param ARRAY{i in 1..1000} default 20;
# sets all values to 20 unless otherwise specified
param ARRAY{i in 1..1000};
for{i in 1..1000} {let ARRAY[i] = 20};
# iterates over the specified set.
# more useful if you want to do something like i^2 instead of a constant.
如果使用default 20
方法,则display ARRAY;
将仅显示已更改为默认值的值-看起来好像ARRAY为空,但是引用特定元素将可以正常工作。 / p>