Optimization AMPL双重求和

Optimization AMPL双重求和,optimization,sum,ampl,Optimization,Sum,Ampl,我是ampl的新手,我正在尝试建立一个数学模型,我需要一个双重求和 我试图写: 600+(j年之前安装的发电机总容量)>=(j年需求) 容量用x[i,j]表示,发电机中的i表示,年中的j表示 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]; 我试过这种方法,但它给了我一个错误。请帮我写一个双重总和。如果我了解您的要

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

容量用x[i,j]表示,发电机中的i表示,年中的j表示

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]相加)

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

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