访问 GAMS 中变量的最后一个元素
Accessing the last element of a variable in GAMS
我有一套:
Set t /t1*t6/;
让我们考虑有一个名为 var 的变量。我有一个约束,即 var 的最后一个元素小于 20。
Variable var(t);
Equation const;
const..
var('t6') < 20;
我想用 card(t) 之类的东西替换最后一行的 't6',这样如果 t 的大小发生变化,我就不必手动更改它。
您可以使用美元条件将等式限制为最后一个期间:
const(t)$(card(t)).. var(t) < 20;
或者您可以像这样为您的结束条件定义一个单独的子集:
singleton set tEnd(t);
tEnd(t) = yes$(card(t));
const.. var(tEnd) < 20;
您还可以借助集合 t:
的 "last" 属性定义上限
Set t /t1*t6/;
Variable var(t);
var.up(t)$(t.last) = 20;
最好的,
卢茨
我有一套:
Set t /t1*t6/;
让我们考虑有一个名为 var 的变量。我有一个约束,即 var 的最后一个元素小于 20。
Variable var(t);
Equation const;
const..
var('t6') < 20;
我想用 card(t) 之类的东西替换最后一行的 't6',这样如果 t 的大小发生变化,我就不必手动更改它。
您可以使用美元条件将等式限制为最后一个期间:
const(t)$(card(t)).. var(t) < 20;
或者您可以像这样为您的结束条件定义一个单独的子集:
singleton set tEnd(t);
tEnd(t) = yes$(card(t));
const.. var(tEnd) < 20;
您还可以借助集合 t:
的 "last" 属性定义上限Set t /t1*t6/;
Variable var(t);
var.up(t)$(t.last) = 20;
最好的, 卢茨