Я использовал 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. Я пришел к выводу, что строки — это цель и ограничения, а столбцы — это значения переменной f, которая объявлена следующим образом и используется в некоторых ограничениях, а также в цели:
var f{ROBOTS,SUBTASKS}, binary;
Я не смог найти в документации способ извлечения этих параметров из задачи. Кроме того, я понятия не имею, куда делись другие мои переменные, так как в столбцах появилось только f. Но поскольку программа смогла решить созданную проблему и дала тот же результат, что и решение, предоставленное glpsol, я знаю, что у нее есть все эти данные, я просто хочу знать, где она их хранит.
Я читал документацию отсюда: http://glpk-java.sourceforge.net/apidocs/org/gnu/glpk/GLPK.html
Извините за отсутствие правильной терминологии. Заранее спасибо.