如何使用 AMPL 中的正态分布生成随机数矩阵?

How to generate a matrix of random numbers using the normal distribution in AMPL?

如何使用 AMPL 中的正态分布生成随机数矩阵,均值和方差如下所列?

param mean :=
1   45
2   35
3   40;

param variance :
    1       2       3 :=
1   1      -2      -1
2  -2      36      -8
3  -1      -8       9;

AMPL 为您的参数支持一些随机数函数。 你可以尝试这样的事情:

 param matrix {x in dimx, y in dimy} 
          = Normal(mean[x], variance[x, y]);

如果你想确保只得到正数,你应该用 max 函数包裹 Normal 函数。

max(Normal(mean[x], variance[x, y]), 0);