我有一组:访问一个变量的最后一个元素中GAMS
集合T/T1 * T6 /;
让我们考虑一下名为var的变量。我有一个限制,即var的最后一个元素小于20.
Variable var(t);
Equation const;
常量..
变种( 'T6')< 20;
我想用card(t)这样的东西替换最后一行中的't6',这样如果t的大小改变了,我就不必手动改变它。
我有一组:访问一个变量的最后一个元素中GAMS
集合T/T1 * T6 /;
让我们考虑一下名为var的变量。我有一个限制,即var的最后一个元素小于20.
Variable var(t);
Equation const;
常量..
变种( '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;
你也可以利用集合“最后”属性定义上界:
Set t /t1*t6/;
Variable var(t);
var.up(t)$(t.last) = 20;
最好的 Lutz