访问GAMS中变量的最后一个元素

时间:2017-09-11 02:40:03

标签: gams-math

我有一套:

  

设置t / t1 * t6 /;

让我们考虑一个名为var的变量。我有一个约束,即var的最后一个元素小于20。

  

变量var(t);

     

方程式const;

     

常量..

     

var(' t6')< 20;

我想替换&#t; t6'在最后一行中使用像card(t)这样的东西,这样如果t的大小发生变化,那么我就不必手动改变它。

2 个答案:

答案 0 :(得分:2)

您可以使用美元条件将等式限制为最后一个周期:

const(t)$(card(t)).. var(t) < 20;

或者您可以为结束条件定义单例子集,如下所示:

singleton set tEnd(t);
tEnd(t) = yes$(card(t));

const.. var(tEnd) < 20;

答案 1 :(得分:1)

您还可以在&#34; last&#34;的帮助下定义上限。集合t的属性:

Set t /t1*t6/;

Variable var(t);

var.up(t)$(t.last) = 20;

最佳, 鲁兹