我正在使用glpsol和.mod文件,其中包含问题和数据。
但是,我想使用它的Java API来实例化我的应用程序中的问题,而无需编写/读取文件并使用glpsol运行它们。
在我的问题中,我有"设置"之后在数据部分中给出的,以及这些集合的函数中的参数,例如:
set ROBOTS;
param L{ROBOTS}, integer;
然后,在数据部分:
data;
set ROBOTS := ag1 ag2 ag3;
我想知道的是我可以使用什么方法将这些参数添加到问题中,以及如何检索它们。
为了观察这个问题是如何表示的,我尝试从文件中读取问题和数据,并通过方法glp_get_row_name和glp_get_col_name提取问题的行和列。我得出结论,行是目标和约束,而列是var f的值,声明如下,并在一些约束和目标中使用:
var f{ROBOTS,SUBTASKS}, binary;
我在文档中找不到从问题中提取这些参数的方法。此外,我不知道我的其他变量去了哪里,因为只有f出现在列中。但是由于程序能够解决实例化的问题并且与glpsol给出的解决方案具有相同的结果,我知道它拥有所有这些数据,我只是想知道它存储在哪里。
我正在阅读此处的文档:http://glpk-java.sourceforge.net/apidocs/org/gnu/glpk/GLPK.html
很抱歉缺少正确的术语。提前致谢。
答案 0 :(得分:0)
var f {ROBOTS,SUBTASKS},二进制;
ROBOTS和SUBTASKS仅存在于GMPL语言模型中。 转换模型后,问题将存储为稀疏矩阵。您只有列号和行号用于寻址。