GAMS,设置域违规

时间:2014-12-18 20:01:50

标签: math model gams-math

balance(i)..        Sum(k,X(k,i)) - Sum(j,X(i,j)) =G= 0  

我在GAMS中有这个等式,我理解为什么这是域违规。但我需要表达这一点。我想不出在GAMS中表达这种约束的任何其他方式。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:2)

我认为你的错误来自你有X(k,i)然后是X(i,j)的事实。你不能拥有两个同名变量" X"有不同的指数。

除非你用别名(j,k)给别名j和k:但是我不明白为什么你要做这样的等式,所以我假设你打算在其中一个中使用另一个变量而不是X Xs。

如果你正在做余额(i).. sum(k,X(k,i)) - sum(j,Y(j,i))= G = 0,那就没问题了。

答案 1 :(得分:0)

我想说这是使用别名的完美案例:

sets i;
alias(i,j,k);
variables X(i,i);
equations balance(i);
balance(i).. sum(j,X(j,i)) - sum(k,(X(k,i)) =G= 0;

希望这可以胜任!准备好反馈,因为我也是GAMS的新手。

干杯,尼克拉斯