[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-glpk] [Fwd: Re: Aw: [Fwd: Problem updating from version 4_47 to
From: |
Heinrich Schuchardt |
Subject: |
Re: [Bug-glpk] [Fwd: Re: Aw: [Fwd: Problem updating from version 4_47 to 4_60]] |
Date: |
Thu, 17 Nov 2016 20:35:34 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 |
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: address@hidden
> Cc: address@hidden, address@hidden
> 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" <address@hidden>
> Para: "Andrew Makhorin" <address@hidden>, "Bug Glpk"
> <address@hidden>, address@hidden
> 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
>