balance(i).. Sum(k,X(k,i)) - Sum(j,X(i,j)) =G= 0
我在GAMS中有这个等式,我理解为什么这是域违规。但我需要表达这一点。我想不出在GAMS中表达这种约束的任何其他方式。任何帮助都会很棒。
答案 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的新手。
干杯,尼克拉斯