导入 GAMS 的集合成员的顺序(顺序)

The order (sequence) of set members imported into GAMS

我想从其他来源(例如 SQL 数据库)将元素或成员导入 GAMS 集中。比如set p plant /p1,p2,p3.../ 这些元素导入成功了,但是好像没有排序,因为我在constraints中使用ord(p) > 3之类的condition clause会报错.

我知道元素在最初创建时是有序的。所以这些导入的元素应该遵循导入的顺序。当我显示这个集合时,元素显示为 p1、p2、p3...

所以我真的很困惑导入元素的顺序。我想找出原因,如果有办法解决他们的订单。谢谢。

您可以在加载数据后添加以下内容

ALIAS(*,universe);
display universe;
$exit;

然后您应该会看到加载的集合元素的顺序以及可能出现顺序错误的位置。如果您绝对不能在您的源查询中订购该集 (sql db),一个黑客将在加载实际数据之前启动一个帮助程序集。

set helper /p1*p100000/;