Thank you Andrew Makhorin, I wil try it.


On Mon, Aug 5, 2013 at 4:06 PM, Andrew Makhorin <[email protected]> wrote:

>
> > I am now having a problem with using glp_ios_heur_sol() to provide an
> > initial integer feasible solution by heuristic.
> > To do so I did as follows:
> >
> > void callback(glp_tree *tree, void *info)
> >
> > {  if (glp_ios_reason(tree) == GLP_IHEUR &&
> >        glp_ios_curr_node(tree) = 1)
> >    {   /* lp relaxation to the root subproblem has been just
> >           solved */
> >        glp_ios_heur_sol(tree, <array of x[j] found by heuristic>);
> >    }
> >    return;
> > }
> > And then in the main function:
> > int main(...)
> > {  glp_prob *mip;
> >    glp_iocp parm;
> >    . . .
> >    <apply your own heuristic to find all x[j], j = 1,...,n>
> >    . . .
> >    glp_init_iocp(&parm);
> >    parm.cb_func = callback;
> >    parm.cb_info = ... ;
> >    ret = glp_intopt(mip, &parm);
> >    . . .
> > }
> > Although the array x[] is set correctly (I am sure after carefully
> > checked), the result is still incorrect. Is anyone has successfully
> > applied this can share something?
>
> You may try to add after a call to glp_ios_heur_sol the following call:
>
>    glp_print_mip(glp_ios_get_prob(tree), "filename.txt");
>
> It prints the current integer feasible solution to a text file, and it
> should be your solution if glp_ios_heur_sol accepted it. Note that
> glp_ios_heur_sol doesn't check integer feasibility, so make sure that
> the heuristic solution you provide is feasible (see the feasibility
> conditions printed at the bottom of the text file).
>
>
>


-- 
Le Dinh Danh
LIRMM, 161 rue Ada, 34095 Montpellier Cedex 5
Email: [email protected]; [email protected]
Tel: (+84) 912.449.666; (+33) 6.52.98.59.66
_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to