GNU MathProg:符号集与整数集

时间:2017-01-02 16:33:46

标签: ampl glpk mathprog

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

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现在无法索引参数表Coords。具体而言,glpsol会返回Coords[1,X] out of domain

直观地说,我假设使用速记定义了一个整数集,而对于索引,我需要某种符号的“字符串”类型。 我的直觉是否正确?如果是这样的话,如果表中没有4个元素,那么我应该如何写set Verts := ?;

1 个答案:

答案 0 :(得分:1)

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

set Verts := 1..4;

到模特。