首先你的Excel中存在想导入的数据,可以是set集合,或者是parameter数据
1、导入集合set(以例子做说明)
想导入的集合是时间 t / t1 * t24 /和机组序号 g /g1*g4/,如下图
在GAMS代码中,你要先定义时间和机组集合,t 和 g,然后使用下面的代码,确定集合t和g中的元素
$call"gdxxrw H:\aaa.xlsx output= H:\aaa.gdx set=t rng=a1:a24 rdim=1 set=g rng=b1:b4 rdim=1 "
$gdxin H:\aaa.gdx
$load t g
$gdxin
下面解释一下上面都是什么意思
- gdxxrw :GAMS内置的命令,用来读写数据;
- H:\aaa.xlsx output= H:\aaa.gdx:表示将你的xlsx文件先转成gdx文件;
- set=t rng=a1:a24 rdim=1:对象是集合t,元素是Excel中的a1:a24,存为1行;
- set=g rng=b1:b4 rdim=1 :对象是集合g,元素是Excel中的b1:b4,存为1行;
- $ gdxin H:\aaa.gdx:$gdxin + 文件名表示指定要读取的gdx文件;
- $load t g:从gdx文件中读取 t 和 g;
- $gdxin:后面没有文件名,表示关闭当前gdx文件。
2、导入数据parameter(一维&二维)
一维数据
想导入的数据是负荷demand(t),如