2017-11-20 7 views
0

GAMSで3回実行するシナリオを作成したいと思います.GAMSでは3つのランダムに選択された要素各エントリがループ内の次のランダムに生成された出力によって上書きされることなく、.gdxファイルに変換されます。どのようにしてこの無作為に生成された出力を1つのoutput.gdxファイル内のループに保存できるように、この上書きを防ぐことができますか? - セット「コード」の最後(第3回)、ランダムに選択された要素GAMS:ループで生成された出力を前のエントリを上書きせずに単一の.gdxファイルに保存する

SET 
     codes /aaa, aab, aac, aad, aae, aaf, aag, aah, aaj, aak, aal/ 
     selected(codes); 

$gdxout outputs 
loop((1,3), 
randnumber = uniformint(1,11); 
selected(codes)=ord(codes)=randnumber; 
execute_unload 'output.gdx',selected; 
display selected; 
); 
$gdxout 

私のコードの結果は、上記の私の唯一の1エントリと.gdxファイルを提供します:以下のこれまでの私のコードです。これに関するいくつかの助けは、深く感謝されます。

答えて

1

あなたはまた、「シナリオインデックス」ループを実行中に、パラメータに結果を保存し、このような終わりに一度にすべてをエクスポートする使用できます。私はそれが助け助け

SET 
     codes /aaa, aab, aac, aad, aae, aaf, aag, aah, aaj, aak, aal/ 
     scenario /1*3/; 

scalar 
     randnumber; 

parameter 
     selected(scenario,codes); 

loop(scenario, 
    randnumber = uniformint(1,11); 
    selected(scenario,codes)=ord(codes)=randnumber; 
); 

execute_unload 'output.gdx',selected; 
display selected; 

を! ルッツ

関連する問題