GNU MathProg:符号集与整数集

GNU MathProg: symbolic set vs. integer set

我在 GNU MathProg 中的简化数据集如下,Verts 是一组顶点索引,coords 是这些顶点坐标的 table:

data;
set Indices := X Y;
set Verts := 1 2 3 4;

param Coords : X Y :=
1 1.2   0.3
2 4.2   13.0
3 1.5   1.0
4 0.5 0.8;
end;

这可行,但如果我按如下方式替换 Verts 的定义:

set Verts := (1..4);

编译在此阶段成功,但 Verts 现在无法索引参数 table Coords。具体来说,glpsol returns Coords[1,X] out of domain.

直觉上,我假设使用 shorthand 的定义定义了一个整数集,而对于索引,我需要某种符号,"string" 类型。 我的直觉是正确的吗?如果是这样,如果 table 中没有 4 个,而是 10 000 个元素,我应该怎么写 set Verts := ?;

集合表达式如..not recognized in the AMPL (or MathProg, which is a subset of AMPL) data mode。您应该明确列出所有集合成员或移动

set Verts := 1..4;

给模特。