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
中迭代不同的值约束。
我是 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
中迭代不同的值约束。