balance(i).. Sum(k,X(k,i)) - Sum(j,X(i,j)) =G= 0
私は GAMS でこの方程式を持っています。これがドメイン違反である理由を理解しています。しかし、私はこれを表現する必要があります。GAMS でこの制約を表現する他の方法は考えられません。どんな助けでも素晴らしいでしょう。
あなたのエラーは、X(k,i) と X(i,j) があるという事実から来ていると思います。異なるインデックスを持つ 2 つの同じ名前の変数 "X" を持つことはできません。
j と k を alias(j,k) でエイリアスしていない限り: しかし、なぜそのような式を作るのかわかりません。
balance(i).. sum(k,X(k,i)) - sum(j,Y(j,i)) =G= 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 を初めて使用するので、フィードバックをお待ちしています。
乾杯、ニクラス