我找到了很多GLPK Java示例,它们涉及如何为求解器指定模型(问题/约束)并从数据文件中读取参数,但是关于编程参数输入/输出的知识很少。
就我而言,我需要以编程方式将值(权重和值的数组)提交给背包问题,并对解决方案进行后处理(对找到的解决方案进行附加的数值检查),以便决定是否继续进行。
考虑一下相当于从数据文件读取param:行而无需调用glp_mpl_read_data或将解决方案的详细信息打印到文件而无需调用glp_print_mip / sol / itp的情况。
您能否提供示例代码或为我提供正确的资源?
最佳答案
这只是部分答案。我设法使用解决了输出部分
GLPK.get_ipt_obj_val
GLPK.get_mip_obj_val
GLPK.get_ipt_col_val
GLPK.get_mip_col_val
功能如下例
static void writeMipSolution(glp_prob lp) {
String name = GLPK.glp_get_obj_name(lp);
double val = GLPK.glp_mip_obj_val(lp);
System.out.println(name + " = " + val);
int n = GLPK.glp_get_num_cols(lp);
for (int i = 1; i <= n; i++) {
name = GLPK.glp_get_col_name(lp, i);
val = GLPK.glp_mip_col_val(lp, i);
System.out.println(name + " = " + val);
}
}
不过,仍在调查输入部分。