目的:GAMS处理优化问题;MATLAB调用优化结果数据,进行后处理。
原理:gdx格式文件(两者的交互工具)
主要参考文献:
- 知乎问答“如何在Matlab里调用GAMS?”:https://www.zhihu.com/question/50259729?from=profile_question_card
- GAMS帮助文档“GDXMRW”:https://www.gams.com/latest/docs/T_GDXMRW.html#GDXMRW_APPENDIX_C
- ReachGate问答“Gams Optimization With MATLAB”:https://www.researchgate.net/post/Gams_Optimization_With_MATLAB
- GDXMRW项目主页:https://research.cs.wisc.edu/math-prog/matlab.html
- "optimization with gams"网站(有视频):http://www.gamsoptimization.com/gams-and-matlab/
- “gams-matlab”网站:https://gams-matlab.readthedocs.io/en/latest/
- 优快云博客“GAMS中导入Excel数据”:https://blog.youkuaiyun.com/weixin_44805836/article/details/88769221
- 优快云博客“GAMS与MATLAB的数据交互”(相似):https://blog.youkuaiyun.com/weixin_42421209/article/details/86436008
步骤:(以下主要来源于GDXMRW官方文档的附录部分)
配置GDXMRW
- 确认安装了MATLAB和GAMS程序(
另外确认:GAMS\matout.gms 和 matlab\toolbox\local.dll存在) - 在MATLAB中添加GAMS的启动路径(例如path = C:\GAMS)
或者,在MATLAB工具栏操作:主页->环境->设置路径->添加并包含子文件夹->选择GAMS启动文件夹>> addpath 'C:\GAMS'; savepath;
- 测试
3.1 创建一个临时文件夹用于执行测试
>> mkdir \dir
3.2 从GAMS测试库中提取运行测试模型和支持文件,存放在临时文件夹
>> cd \tmp
>> testlib gdxmrw03 %测试rgdx
>> testlib gdxmrw04 %测试wgdx
>> testlib gdxmrw05 %gams中的MATLAB路径
>> testlib gdxmrw06 %测试irgdx和iwgdx