GLPK for Java中的输入/输出

时间:2016-03-22 15:31:35

标签: java linear-programming glpk

我找到了很多关于如何为解算器指定模型(问题/约束)和从数据文件中读取参数的GLPK for Java示例,但很少关于编程参数输入/输出。 在我的情况下,我需要以编程方式向背包问题提交值(权重和值的数组)并对解决方案进行后处理(对找到的解决方案执行附加数字检查)以决定是否继续。 想想相当于读取一个参数:来自数据文件的行而不调用glp_mpl_read_data或将解决方案的细节打印到文件而不调用glp_print_mip / sol / itp。 您能提供示例代码或指向正确的资源吗?

1 个答案:

答案 0 :(得分:1)

这只是部分答案。我设法使用

解决输出部分
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);
    }
}

仍在调查输入部分。