Я использую одну из реализаций метода с ограничениями по эпсилону, чтобы найти некоторые решения на фронте Парето. Однако я хотел бы сохранить результаты и некоторые параметры постобработки в отдельных файлах Excel. Большинство этих решений получают в циклах, и поэтому я хотел бы использовать значения циклических наборов для именования каждого файла Excel.
$Set Instance CraggyTerrain
loop(kp,
kk(kp)=yes;
repeat
solve mod_payoff using mip maximizing obj;
payoff(kp,kk) = z.l(kk);
z.fx(kk) = z.l(kk);
*// freeze the value of the last objective optimized
kk(f++1) = kk(f);
*******************************Mipstart_ Give an intial solution
x.l(i,j,k)=x.l(i,j,k);
b.l(i,k)=b.l(i,k);
y.l(i,j)=y.l(i,j);
execute_unload "Results_payoff%Instance%_%FirstOF(kp)%_%SecondOF(kk)%.gdx" z.l x.L y.L b.L;
execute 'GDXXRW.EXE Results_payoff%Instance%_%FirstOF(kp)%_%SecondOF(kk)%.gdx var=x.l rng=x!b2'
execute 'GDXXRW.EXE Results_payoff%Instance%_%FirstOF(kp)%_%SecondOF(kk)% var=y.L rng=y!b2'
execute 'GDXXRW.EXE Results_payoff%Instance%_%FirstOF(kp)%_%SecondOF(kk)% var=b.L rng=b!b2'
until kk(kp); kk(kp) = no;
* release the fixed values of the objective functions for the new iteration
z.up(f) = inf; z.lo(f) =-inf;
);
Для части% Instance% я могу просто объявить локальную переменную, например $Set Instance CraggyTerrain
, но я не могу найти способ использовать эти переменные (локальные, глобальные, среда) для создания остальной части имени файла, создавая другой файл Excel для каждого решения.
Есть ли способ обновить локальные переменные параметрами, набором или переменными из модели в операторе цикла / повтора?
Заранее благодарю, Ракель Агияр.