如何在AMPL中定义一个用单个值填充的数组

时间:2018-12-06 03:48:52

标签: ampl

如何在AMPL中定义一个用一个值填充的一元或多维数组? 有这样的东西吗?

param ARRAY {i in 1..1000} [i] := 20;

应导致:

[20, 20, 20, ..., 20]

1 个答案:

答案 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>