【问题标题】:Import parameters from Excel to GAMS: get all zeros将参数从 Excel 导入 GAMS:全为零
【发布时间】:2020-10-13 23:44:56
【问题描述】:

我有一个带有电子表格 GAMS 的 Excel 文件 GAMS2.xlsx,其中包含如图所示的数据

在 GAMS 中我写了这样的代码:

Set t /t1*t5/;
 
Parameters
W(t);
$call gdxxrw GAMS2.xlsx par=W rng=GAMS!A3:B7 rdim=1 dset=t rng=GAMS!A3:A7 rdim=1
$gdxin GAMS2.gdx
$load W
$gdxin

Display W;

然后我得到好的 gdx 文件

所以,运行后我没有错误,但参数 W 的所有值都是零。在我看到的第一个文件中:

----     6 PARAMETER W

                      ( ALL       0.000 )

我的错误是什么?任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: excel gams-math


    【解决方案1】:

    看起来您在 Excel 文件中的集合 t1 to 5,而您在 GAMS 模型中的集合 tt1 to t5。因此,您没有匹配的域,因此没有加载任何值。如果您使用$loadDC(DC 表示已检查域)而不是$load,GAMS 会立即停止并通知您。

    顺便说一句:您也可以使用隐式集合定义来轻松地从 GDX 填充集合 t。看起来像这样:

    Set t;
     
    Parameters W(t<);
    
    $call gdxxrw GAMS2.xlsx par=W rng=GAMS!A3:B7 rdim=1 dset=t rng=GAMS!A3:A7 rdim=1
    $gdxin GAMS2.gdx
    $load W
    $gdxin
    
    Display W;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多