AMPL 双重求和

AMPL double summation

我是 ampl 的新手,我正在尝试制定一个数学模型,我需要一个双重求和 我正在尝试写: 600+(直到第 j 年安装的发电机的总容量)>=(第 j 年的需求)

容量由 x[i,j] 表示,i 在 GENERATOR 中,j 在 YEAR 中。

600+ \sum_{j}(\sum_{i} x[i,j])>=需求[j]

subject to dem{j in YEAR}:600+sum{i in GENERATOR, j in YEAR}x[i,j]>=demand[j];

我试过这种方法,但它给了我一个错误。请帮我写一个二重求和

如果我理解了你的要求,你需要的是这样的:

subject to dem{j_current in YEAR}:
    600 + sum{i in GENERATOR, j_past in YEAR: j_past <= j_current}x[i,j_past] 
    >= demand[j_current];

(将所有 x[i,j] 添加到当年)

或者这个:

subject to dem{j_current in YEAR}:
    600 + sum{i in GENERATOR}x[i,j_current] 
    >= demand[j_current];

(添加当前年份的所有 x[i,j])

你使用它的方式会得到错误消息,因为该语句创建的每个约束都已经具有特定值 j,因此你不能在 j 中迭代不同的值约束。