> I'm using GLPK 4.47 in Java. My aim is to provide a heuristic solution
> which is stored in a double array "soln", with the coefficient of the
> first column being stored at index 1.
> 
> When I use the code as given below, the optimiser happily accepts the
> suggested solution and terminates with an infeasible solution. As I
> understand from the documentation, it doesn't check feasibility of the
> solution provided internally, so I guess the problem is that I provide
> the heuristic solution in a wrong format which is misinterpreted by
> the GLPK. In particular, I wonder whether the provided heuristic
> solution must take the pre-processing stage (reduction of colums, etc)
> into account?

If you provide a solution to the original mip, the mip preprocessor
should be disabled; otherwise the mip solver assumes that you provide a
solution to the preprocessed mip, that probably is not your intention.
To check feasibility of the heuristic solution you can print it to a
text file with glp_print_mip.

> 
> 
> 
>           GlpkCallbackListener myCallback = new GlpkCallbackListener()
> {
>             @Override
>             public void callback(glp_tree tree) {
>                 System.out.println("We were called by library...");
>                 if(GLPK.glp_ios_reason(tree) ==
> GLPKConstants.GLP_IHEUR) {
>                     System.out.println("...and it asked for heuristic
> solution!");
>                     SWIGTYPE_p_double swigSoln =
> GLPK.new_doubleArray(soln.length);

Please check the following statement (shouldn't be i <= ... ?).

>                     
>                     for(int i = 1; i < soln.length; i++) {
>                         GLPK.doubleArray_setitem(swigSoln, i,
> soln[i]);
>                     }
>                     
>                     GLPK.glp_ios_heur_sol(tree, swigSoln);
>                 }
>             }
> 
> 
> Thanks for your help.
> 
> Simon


_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to