0

Var1決定論的モデルがあり、2つのパラメーターを変更するたびにモデルを数回実行して、Var2それらが結果にどのように影響するかを確認したいと思います。モデルを次のように要約できます。

...
equations obj,a,b;

obj...  Ax+By=e=cost;
a...    x+y=l=var1 * z1;
b...    x+y=l=var2 * z2;

solve;
dispaly cost.l;
dispaly y.l;
dispaly x.l;

ここで、x、yは変数、var1、z1、var2、およびz2はパラメーターです。var1に10の異なる値を、var2に10の異なる値を試して、結果を取得したいと思います。

そのための最善の方法を教えてください。

4

1 に答える 1

0

ループ文の使い方はこちらで確認できます。

あなたの場合、10 個の値のセット i と 2 つのパラメーター var1_values(i)、var2_values(i) を定義する必要があります。

ループに含める必要があります

var1 = var1_values(i);
var2 = var2_values(i);
solve;
*you can also store values to new parameters
display cost.l;
display y.l;
display x.l;

方程式ではありません。おそらく Solve ステートメントから意図的に情報を省略していますが、解決するモデルと、変数 (この場合はおそらく obj) を最小化するか最大化するかを指定する必要があります。これを指定しない場合、GAMS はモデル内で一意ではない実行可能なソリューションのみを見つけます。

于 2012-05-18T10:03:40.010 に答える