我正在尽量减少我的目标函数。
我有一个参数> param Preq {i in 1..n:= Uniform(0.002,Pmax / n) 其中Pmax是.0095,n是12。
如何使用此Uniform参数在我的模型文件中引入蒙特卡罗模拟?
答案 0 :(得分:0)
AMPL语言有循环。下一个示例适用于任何解算器:
param n := 3;
set I := 1..n;
#
# random numbers
#
param p{i in I} := Uniform(0,1);
display p;
#
# minimal model
# uses a scalar q
#
param q;
var x;
minimize z:x;
e: x = 2*q;
#
# solve in loop
# assign q before solving
#
param results{I};
for {i in I} {
let q := p[i];
solve;
let results[i] := z;
}
display results;
end;
AMPL网站提供了更多信息:例如https://ampl.com/NEW/loop1.html