我在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。
直观地,我假设这个定义使用这个缩写来定义一个整数集,而对于索引,我需要某种符号"string“类型。我的直觉正确吗?如果是这样的话,如果表中没有4个元素,而是10000个元素,我应该如何编写set Verts := ?;呢?
发布于 2017-01-03 14:22:04
像..这样的集合表达式是在AMPL (或MathProg,AMPL的一个子集)数据模式中不被识别。您应该显式地列出所有设置成员或移动。
set Verts := 1..4;敬模特。
https://stackoverflow.com/questions/41430311
复制相似问题