Hello Diego,

in your log from GLPK 4.60 we see the following lines:

DEBUG JCspGlpkCallback - GLPKConstants.GLP_IHEUR
Solution found by heuristic: 2840

So if you did not call glp_ios_heur_sol, it must be round_heur that
found the solution.

You could set
iocp->sr_round = GLP_OFF
to switch off this heuristic.

In Java you do this by calling

glp_iocp iocp;
iocp = new glp_iocp();
GLPK.glp_init_iocp(iocp);
iocp.setSr_heur(GLPKConstants.GLP_OFF);

@Andrew
Could you, please, comment on how lazy constraints can be used together
with sr_round = GLP_ON. I could not find anything in doc/glpk.pdf on the
interaction between the two.

Best regards

Heinrich Schuchardt


On 11/16/2016 12:12 PM, Andrew Makhorin wrote:
 -------- Forwarded Message --------
> To: [email protected]
> Cc: [email protected], [email protected]
> Subject: Re: Aw: [Bug-glpk] [Fwd: Problem updating from version 4_47 to
> 4_60]
> Date: Wed, 16 Nov 2016 11:14:14 +0100
> 
> Thank you for your answer but i think is not a problem of my callback
> method because is the same in both cases. 
> 
> I am using a branch-and-cut method to solve MIP problems. 
> 
> I start with a simple LP problem, it doesn´t contain all the
> constraints(rows) that i need but i add them step by step when the
> glp_intopt(prob,iocp)routine, calls the callback method with the reason
> ROWGEN. 
> In that moment i check if the current LP solution solve my needs and if
> not, i add some new constraints to the initial problem (prob). and the
> solver continues with the branch-and-cut algorithm. 
> 
> In version 4_47 it runs ok and the routine navigates the tree adding new
> rows when i need it, and finishes with a MIP solution that solve all of
> my needs. 
> 
> In version 4_60 the routine finishes before i expected it with a MIP
> solution that doesn't solve all of my needs. 
> 
> In the logs that i attached, you can see all the calls that
> glp_intopt(prob,iocp)does to my callback method and the reason
> (GLP_ISELECT,GLP_IPREPRO,GLP_IROWGEN,......) 
> 
> Using version 4_60 just calls twice to my callback method with the
> reason rowgen. It seems that it doesn't navigate the tree correctly. 
> 
> Has any change in the branch-and-cut algorithm? 
> 
> Thank you in advance and excuse me if i am wrong. 
> 
> 
> 
> 
> 
> De:        "Heinrich Schuchardt" <[email protected]> 
> Para:        "Andrew Makhorin" <[email protected]>, "Bug Glpk"
> <[email protected]>, [email protected] 
> Fecha:        02/11/2016 15:23 
> Asunto:        Aw: [Bug-glpk] [Fwd: Problem updating from version 4_47
> to 4_60] 
> 
> ________________________________________________________________________
> 
> 
> 
> Hello Diego,
> 
> the 4.60 log shows that your Java code supplied a solution with a better
> value than the 4.47 solution.
> 
> Please, check your callback method.
> 
> Best regards
> 
> Heinrich
> 


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

Reply via email to