Как сгенерировать матрицу случайных чисел, используя нормальное распределение в 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;

person Kris    schedule 22.04.2015    source источник


Ответы (1)


AMPL поддерживает некоторые функции случайных чисел для ваших параметров. Вы можете попробовать что-то вроде этого:

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

Если вы хотите получать только положительные числа, вам следует обернуть функцию Normal функцией max.

max(Normal(mean[x], variance[x, y]), 0);
person Paul G.    schedule 23.04.2015