excel - 循环运行的 GAMS 输出到不同的 excel 文件
问题描述
我正在使用 epsilon 约束方法的一种实现来查找 Pareto 前沿中的一些解决方案。但是,我想将结果和一些后处理参数存储到单独的 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
但我似乎无法找到一种方法来使用这些变量(本地、全局、环境)来构建文件名的其余部分,从而为每个解决方案。
有没有办法在循环/重复语句中使用模型中的参数、集合或变量更新局部变量?
提前谢谢你,拉奎尔·阿吉亚尔。
解决方案
推荐阅读
- python - 我不知道为什么当我使用 GUI Button 命令时只能运行 lambda 函数
- java - 如何创建循环,在其中根据用户输入创建星形金字塔
- concurrency - Geth 服务在 web3.personal.importRawKey 函数的多个并发请求中被杀死
- html - 在 ReactJS Card 中显示图像
- java - 拆分不在下划线之间的大写单词
- android - 由于图像已关闭,ML Kit Barcode 进程失败
- javascript - 以编程方式更改 Youtube 上的下一个视频
- matplotlib - 如何通过 matplotlib 和 scipy 显示 pmf 的峰值?
- ios - 为什么我的垂直编程滚动视图在 Swift 中不起作用
- if-statement - Gitlab-CI:有条件的allow_failure