MathProg 中有没有一种方法可以让字符串与整数相关联,我可以用它来输出标签以获得答案?
例如,以下代码不起作用,但希望能传达我想要做的事情:
# attempt via set results in error, "mylabels cannot be subscripted":
set mylabels := "label1" "label2" "label3";
printf "first label: %s\n", mylabels[1];
# attempt via param results in error, "mylabels requires numeric data":
param mylabels :=
1 "label1"
2 "label2"
3 "label3";
printf "first label: %s\n", mylabels[1];
我还发现了关于 MathProg 中缺少有序集的讨论,并且建议的 hack 听起来可能对我有帮助,但没有奏效:
# attempt via ordered-set hack results in error, "no value for mylabels_ref[1]":
set mylabels := "label1" "label2" "label3";
param mylabels_ref{i in 1..card(mylabels)}, symbolic, in mylabels;
printf "first label: %s\n", mylabels_ref[1];
这显然不是什么大问题,因为我可以在 MathProg 之外进行查找(即手动或使用其他一些脚本语言);但我主要只是好奇语法是否支持我想要做的事情。