我找到了很多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);
    }
}


不过,仍在调查输入部分。

10-08 00:44