【问题标题】:How to generate random parameters in AMPL如何在 AMPL 中生成随机参数
【发布时间】:2019-08-28 10:03:53
【问题描述】:

如何在 AMPL 中生成随机参数?这是我的代码:

set P;set R;param T>0 integer;
param k {p in P} > 0;param z {r in R} > 0;param c1 >= 0;param c2 >= 0;param c3 >= 0;param h >= 0;param f >= 0;param v >= 0;param D {t in 1..T, p in P} >= 0; param Dr{t in 1..T, r in R} >= 0;param M {t in 1..T, p in P} > 0;param O {t in 1..T, p in P} > 0;

var m {t in 1..T, p in P} >= 0;var n {t in 1..T, r in P} >= 0;var o {t in 1..T, p in P} >= 0;var a {t in 1..T, p in P} >= 0;var d {t in 1..T, p in P} >= 0;var s {t in 1..T, p in P} >= 0;

maximize profit: sum {t in 1..T} sum {p in P} k[p]* m[t,p] + sum{t in 1..T} sum {r in R}z[r]*n[t,r] - (c1*sum {t in 1..T} sum {p in P} m[t,p] + c2 *sum {t in 1..T} sum {r in R} n[t,r] + c3 * sum {t in 1..T} sum {p in P} o[t,p] + h * sum {t in 1..T} sum {p in P} a[t,p] + f * sum {t in 1..T} sum {p in P} d[t,p] + v * sum {t in 1..T} sum {p in P} s[t,p]);

subject to regular capacity {p in P, t in 1..T}: m[t,p] <= M[t,p];
subject to  overrate capacity {t in 1..T, p in P}: o[t,p] <= O[t,p];
subject to  inventory balance {t in 1..T, p in P}: s[t,p] = s[t-1,p] + m[t,p] + o[t,p] - D[t,p];
subject to  increasing limit {t in 1..T, p in P}: a[t,p] >= m[t,p] - m[t-1,p];
subject to  decreasing limit {t in 1..T, p in P}: d[t,p] >= m[t-1,p] - m[t,p];
subject to  refurbishing limit {t in 1..T, r in R, p in P}: n[t,r] <= 0.2 * m[t,p];
subject to  demand balance {t in 1..T, p in P}: m[t,p] = D[t,p];
subject to  demand balance {t in 1..T, r in R}: n[t,r] <= Dr[t,r];

这里是给定的集合:

将 P 和 R 从 1 设置为 5,将 T 从 1 设置为 12

如何根据这些信息随机生成参数其他参数?

【问题讨论】:

    标签: random parameters ampl


    【解决方案1】:

    https://ampl.com/faqs/how-do-i-solve-a-series-of-different-random-problems-with-data-drawn-from-the-same-distribution/ 给出了这个代码示例:

    param avail_mean {STAGE} >= 0;
    param avail_variance {STAGE} >= 0;
    param avail {s in STAGE} :=
            Normal (avail_mean[s], avail_variance[s]);
    

    有关可用的不同随机函数的文档,请参阅AMPL BookTable A3 的第 7.6 节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-28
      • 2018-10-08
      • 2010-11-14
      • 2016-12-11
      • 2012-11-06
      • 2011-09-15
      • 2012-07-25
      • 2014-07-23
      相关资源
      最近更新 更多