i使用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提取问题的行和col。我得出的结论是,行是客观和约束,而列是var f的值,如以下内容所示,并在某些约束中以及目标中使用:
:var f{ROBOTS,SUBTASKS}, binary;
我在文档中找不到一种从问题中提取这些参数的方法。另外,我不知道我的其他VAR去了哪里,因为只有F出现在列中。但是,由于该程序能够解决实例化问题,并且与Glpsol给出的解决方案相同,因此我知道它具有所有这些数据,我只想知道它存储在哪里。
我正在从这里阅读文档:http://glpk-java.sourceforge.net/apidocs/org/gnu/glpk/glpk/glpk.html
很抱歉缺乏正确的术语。提前致谢。
var f {robots,subtasks},二进制;
机器人和子任务仅存在于GMPL语言模型中。翻译模型后,问题将作为稀疏矩阵存储。您只有用于地址的列号和行号。