はデータのマトリックスです。GAMSのforループを使用してデータを生成する
for i = 1:5
for j = 1:3
for k = 1:plan(j,i)
C(i,j,k) = SUB(j,i);
end
end
end
で同じモデルを作成する方法。助けてください。
はデータのマトリックスです。GAMSのforループを使用してデータを生成する
for i = 1:5
for j = 1:3
for k = 1:plan(j,i)
C(i,j,k) = SUB(j,i);
end
end
end
で同じモデルを作成する方法。助けてください。
最初に、最終的な出力Cについて、与えられた次元の行列として考える必要があることです。すなわち、第3の次元kの大きさは、手前で決定されなければならない。おそらく、すべてのプラン(j、i)値の最大値です。
SET i /1*5/;
SET j /1*3/;
SET k /1*K/;
Loop (i,
Loop (j,
Loop (k,
If (ord(k) <= plan(j,i), C(i,j,k) = SUB(j,i););
);
);
);
ループは、多くの場合、GAMSに慣れていないユーザーによって過度に使用されています。だから私は、次のようにすることをあなたが行うことができ、その場合には、資本K.として指数kの最大値を呼び出すするつもりですGAMSでは、明示的なループは例外です:通常、暗黙的なループを使用します。 Like:
c(i,j,k)$(ord(k)<=plan(j,i)) = sub(j,i);
返信ありがとうございます。同じC(i、j、k)をインデックスとして使用して制約を定式化するにはどうすればよいですか? –
あなたは何を意味するのか分かりません。詳細を追加できますか? – Salva