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

私は GAMS でこの方程式を持っています。これがドメイン違反である理由を理解しています。しかし、私はこれを表現する必要があります。GAMS でこの制約を表現する他の方法は考えられません。どんな助けでも素晴らしいでしょう。

4

2 に答える 2

2

あなたのエラーは、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 を実行している場合、それで問題ありません。

于 2015-04-05T21:36:03.847 に答える
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 を初めて使用するので、フィードバックをお待ちしています。

乾杯、ニクラス

于 2017-12-23T11:59:18.243 に答える